Since Decodable is swift's goto protocol for object serialization, it doesn't make sense for APIReturnable to require implementation beyond Decodable. The only additional information needed to convert from Data to the desired object is a Decoder, which should be the only property required for class to be decodable.