refactoring
free monad!
multiline
refactoring
refactoring, point free, readability