On Thu, Oct 30, 2014 at 8:50 PM, Roman Cheplyaka <roma@ro-che.info> wrote:
>> liftA2 (<|>) b a
>
> B
> A
> Right 42
>
> (In the latter case I don't want A in the output…)

Wrap it into ExceptT (from the latest transformers), as in

  runExceptT $ ExceptT a <|> ExceptT b

With the latest transformers, I still get

B
A
Right 42

i.e. the A hasn't been eliminated.

What am I missing?

-- Kim-Ee