If the type to which the response body should be deserialized is an Either[ResponseException[HE, DE], B],
either throws the DeserializationException, returns the deserialized body from the HttpError, or the
deserialized successful body B.
If the type to which the response body should be deserialized is an Either[ResponseException[HE, DE], B],
either throws the DeserializationException, returns the deserialized body from the HttpError, or the
deserialized successful body B.