fact: Definition Either_apply {E X Y} (f : Either E (X -> Y)) (x : Either E X) : Either E Y := match f with | Left e => Left e | Right f' => match x with | Left e => Left e | Right x' => Right (f' x') end end.
imports: Hask.Control.Monad