Replace ParseMonad with Reader/Either