Control.Monad.Hyper
data
Hyper
a b
unroll
roll
ana
cata
push
run
project
fold
build