TransformationResult
This class works similar to the Result class in the Kotlin standard library. The difference is that the TransformationFailure can store information other than Throwables to be able to describe the reasons for failure in more detail.