diff --git a/Distribution/MacOSX.hs b/Distribution/MacOSX.hs
--- a/Distribution/MacOSX.hs
+++ b/Distribution/MacOSX.hs
@@ -31,14 +31,13 @@
 import Data.List ( isPrefixOf )
 import Data.Text ( Text )
 import System.Cmd (system)
-import System.Exit
 import System.FilePath
 import System.Info (os)
-import System.Directory (doesDirectoryExist, copyFile, createDirectoryIfMissing, getHomeDirectory)
+import System.Directory (copyFile, createDirectoryIfMissing, getHomeDirectory)
 import qualified Data.Text as T
 import qualified Data.Text.IO as T
 
-import Distribution.PackageDescription (PackageDescription(..), Executable(..))
+import Distribution.PackageDescription (PackageDescription(..))
 import Distribution.Simple
 import Distribution.Simple.InstallDirs (bindir, prefix, CopyDest(NoCopyDest))
 import Distribution.Simple.LocalBuildInfo (absoluteInstallDirs, LocalBuildInfo(..))
diff --git a/Distribution/MacOSX/Internal.hs b/Distribution/MacOSX/Internal.hs
--- a/Distribution/MacOSX/Internal.hs
+++ b/Distribution/MacOSX/Internal.hs
@@ -6,7 +6,7 @@
 also carry resources such as icons, program metadata, images, other
 binaries, and copies of shared libraries.
 
-This module provides a Cabal post-build hook for creating such
+This module provides internals to a Cabal post-build hook for creating such
 application bundles, and controlling their contents.
 
 For more information about OSX application bundles, look for the
@@ -20,19 +20,21 @@
   osxIncantations
 ) where
 
-import Prelude hiding ( catch, lookup )
+import Prelude hiding ( catch )
 import System.Cmd ( system )
 import System.Exit
 import System.FilePath
 import Control.Monad (filterM)
 import System.Directory (doesDirectoryExist)
-import Data.Foldable ( foldl )
-import Data.Map ( empty, insert, lookup )
 import Distribution.PackageDescription (BuildInfo(..), Executable(..))
 
 import Distribution.MacOSX.Common
 
-getMacAppsForBuildableExecutors :: [MacApp] -> [Executable] -> [MacApp]
+-- | Filter or create new 'MacApp's that are associated by name to buildable 'Executable's.
+getMacAppsForBuildableExecutors ::
+  [MacApp] -- ^ List of 'MacApp's to filter if any.
+  -> [Executable] -- ^ List of 'Executable's from .cabal.
+  -> [MacApp] -- ^ Returned list of 'MacApp's that are associated by name to buildable 'Executable's.
 getMacAppsForBuildableExecutors macApps executables =
   case macApps of
     [] -> map mkDefault buildables
@@ -55,16 +57,9 @@
   -> MacApp -> IO ()
 osxIncantations appPath app =
   do dtools <- developerTools
-
-     let rezExec = dtools </> "Rez Carbon.r -o " ++ appPath </> pathInApp app (appName app)
-     runCommand rezExec
-
+     runCommand $ dtools </> "Rez Carbon.r -o " ++ appPath </> pathInApp app (appName app)
      writeFile (appPath </> "PkgInfo") "APPL????"
-
-     -- Tell Finder about the icon.
-     let setFileExec = dtools </> "SetFile -a C " ++ appPath </> "Contents"
-     runCommand setFileExec
-
+     runCommand $ dtools </> "SetFile -a C " ++ appPath </> "Contents" -- Tell Finder about the icon.
      return ()
 
 runCommand :: String -> IO ()
diff --git a/cabal-macosx.cabal b/cabal-macosx.cabal
--- a/cabal-macosx.cabal
+++ b/cabal-macosx.cabal
@@ -1,5 +1,5 @@
 Name:                   cabal-macosx
-Version:                0.2.3.3
+Version:                0.2.3.4
 Stability:              Alpha
 Synopsis:               Cabal support for creating Mac OSX application bundles.
 Description:
@@ -33,16 +33,17 @@
 Library
   Build-Depends:    base >= 4 && < 5
                     , Cabal >= 1.6, directory
+                    , hscolour >=1.8
                     , fgl >= 5.4.2.2 && < 5.6
                     , filepath
                     , parsec
                     , process
                     , text
                     , containers
-  Exposed-modules:  Distribution.MacOSX,
-                    Distribution.MacOSX.Internal,
-                    Distribution.MacOSX.Common
-  Other-modules:    Distribution.MacOSX.AppBuildInfo,
+  Exposed-modules:  Distribution.MacOSX
+  Other-modules:    Distribution.MacOSX.Internal,
+                    Distribution.MacOSX.Common,
+                    Distribution.MacOSX.AppBuildInfo,
                     Distribution.MacOSX.Dependencies,
                     Distribution.MacOSX.DG
   ghc-options:      -fwarn-tabs -Wall
@@ -61,14 +62,18 @@
 
 test-suite tests
   ghc-options:      -Wall
-  hs-source-dirs:   tests
+  hs-source-dirs:   .,tests
   Main-is:          Main.hs
   Type:             exitcode-stdio-1.0
   Other-modules:    Distribution.MacOSX.Internal.Tests
   Build-depends:    base >= 4 && < 4.9
                     , HUnit >= 1.2 && < 1.4
-                    , cabal-macosx
                     , test-framework == 0.8.*
                     , test-framework-hunit == 0.3.*
                     , temporary
                     , Cabal >= 1.6
+                    , filepath
+                    , process
+                    , text
+                    , containers
+                    , directory
