As they currently exist, you can create a request like
struct UserRequest: Request {
// ...
var jsonKeyDecodingStrategy: JSONDecoder.KeyDecodingStrategy { return .convertFromSnakeCase }
}
that looks correct but won't work, since it should be JSONDecoder.KeyDecodingStrategy?.
To fix this, and make it more difficult to mess up, I think we should switch both encoding strategy params to non-optional and just provide a default setting, like we do with smartUnwrapKey