Haskell: Add type sigs to all top-level functions
Haskell: Reformat all source to four-space indents
Haskell: Use consistent formatting in modules