OptionTMonad refactoring