'Either monad'?