The proposal is to add this instance to Control.Applicative:
instance Applicative (Either e) where
pure = Right
Left e <*> _ = Left e
Right f <*> r = fmap f r
This is not the only possible instance for Either, but this one is
compatible with the usual Monad instance.
Deadline: 15th June 2010