does not imply conformance to inherited protocol 'RequestDecodable'
なのでRequestDecodableを書く必要があるって言ってる気がするんですが、一般には Content
だけで済むはずですよね。public protocol ResponseEncodable { func encodeResponse() } public protocol Content: Codable, ResponseEncodable { } extension Content { func encodeResponse() {} } struct MyType: Codable {} extension Optional: Content where Wrapped == MyType {}