the EitherT monad transformer