Refactoring project structure in canonical Haskell style