ruthlessly refactoring pure code from monadic
ruthlessly refactoring pure code from monadic