Use EitherT for Option parsing