I was under the impression that there was an instance for Either a somewhere, but I can\'t seem to find it. I have tried importing Control.Monad, Control.Monad.Instances and
There is not an instance for Either a, but there is for Either String in Control.Monad.Error. (Actually, it's for Error e => Either e, IIRC).
Either a
Either String
Control.Monad.Error
Error e => Either e