Use parallel haskell files and fix some puppet bugs