Given a term which is a type derived from the generic cake, produce the equivalent term which is typed specific to the cake in this repr.
Given a term which is a type derived from the generic cake, produce the equivalent term which is typed specific to the cake in this repr. For example:
val transM: M[Cake#trans#TransSpec1] = cake.flatMap(_.trans.Single.Value) def foo(repr: Repr) = for { trans <- repr.unsafeCoerce[λ[`P <: Cake` => P.trans.TransSpec1]](transM).liftM[MT] } yield repr.table.transform(trans)