IO in Haskell vs Imperative
thoughts about iterating vs recursing
Refactoring