Refactor Monad defintion of Reader