I don't like any of those names. matryoshka.∘ is compose for types, so why are we using the "map" operator? Just because there's no suitable "dot"?
Furthermore Delay is applying its second argument. So really wouldn't it make more sense to have these?
type Curry[F[_], G[_]] = G ~> (F ∘ G)#λ
type Flip[F[_], G[_]] = (F ∘ G)#λ ~> (G ∘ F)#λ // But that probably makes no sense.