Delay used to be a type alias for a natural transformation: type Delay[F[_], G[_]] = F ~> (F ∘ G)#λ As an interim measure, this implicit lifts natural transformations of the above form into the Delay type class.
Delay used to be a type alias for a natural transformation: type Delay[F[_], G[_]] = F ~> (F ∘ G)#λ As an interim measure, this implicit lifts natural transformations of the above form into the Delay type class. But the end goal is to be unconnected to NaturalTransformation.