*** setup configure Creating dist/setup (and its parents) /usr/local/bin/ghc --make Setup.hs -o dist/setup/setup -odir dist/setup -hidir dist/setup [1 of 1] Compiling Main ( Setup.hs, dist/setup/Main.o ) Setup.hs:14:18: Couldn't match expected type `()' against inferred type `ExitCode' Expected type: Args -> Distribution.Simple.Setup.BuildFlags -> Distribution.PackageDescription.PackageDescription -> Distribution.Simple.LocalBuildInfo.LocalBuildInfo -> IO () Inferred type: Args -> Distribution.Simple.Setup.BuildFlags -> Distribution.PackageDescription.PackageDescription -> Distribution.Simple.LocalBuildInfo.LocalBuildInfo -> IO ExitCode In the `postBuild' field of a record In the second argument of `($)', namely `defaultUserHooks {postBuild = copyInfinity, postClean = cleanInfinity}'