Control.Monad.Free.Reflection
data Free f a
freePure
freeImpure
freeMap
data FreeView f a
fromView
toView