Data.EitherR
data EitherR r e
succeed
throwE
catchE
handleE
fmapL
flipE
data EitherRT r m e
succeedT
throwT
catchT
handleT
fmapLT
flipET