Control.Alternative.Free
data
Alt
f a
runAlt
liftAlt
hoistAlt