diff --git a/src/Data/TypeLevel/Num/Aliases.hs b/src/Data/TypeLevel/Num/Aliases.hs
--- a/src/Data/TypeLevel/Num/Aliases.hs
+++ b/src/Data/TypeLevel/Num/Aliases.hs
@@ -1,5 +1,5 @@
 {-# OPTIONS_GHC -fno-warn-missing-signatures #-}
-{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE CPP, TemplateHaskell #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.TypeLevel.Num.Aliases
@@ -26,6 +26,11 @@
 
 
 $(do runIO (putStrLn "Generating and compiling a zillion numerical type aliases, this might take a while") 
-     genAliases 1024 4096 5000 4096)
+#if defined(SLIM)
+     genAliases 16 64 256 64
+#else
+     genAliases 1024 4096 5000 4096
+#endif
+ )
 
 
diff --git a/type-level.cabal b/type-level.cabal
--- a/type-level.cabal
+++ b/type-level.cabal
@@ -1,5 +1,5 @@
 name:           type-level
-version:        0.2.2
+version:        0.2.3
 cabal-version:  >= 1.2
 build-type:     Simple
 license:        BSD3
@@ -43,7 +43,7 @@
 
 -- depends on ghc due to the use of infix type constructors and template haskell
 Library
-  build-depends:   base, template-haskell > 2.0
+  build-depends:   base >=3 && <5, template-haskell > 2.0
   hs-source-dirs:  src
   exposed-modules: Data.TypeLevel,
                    Data.TypeLevel.Bool,
@@ -54,3 +54,6 @@
                    Data.TypeLevel.Num.Ops,
                    Data.TypeLevel.Num.Aliases.TH
   ghc-options:	-Wall
+  if os(win32)
+    -- The symbols for the zillion type level numbers overflows the Windows DLL symbol space.
+    cpp-options: -DSLIM
