Control.Applicative.Fail
data Fail e a
ffail
fwarn
fsucc
getFail
getSucc
failEither
joinFail
bindFail
composeFail