Wrote an either monad, purely for fun(?)