diff --git a/hs-src/Language/Scheme/Core.hs b/hs-src/Language/Scheme/Core.hs
--- a/hs-src/Language/Scheme/Core.hs
+++ b/hs-src/Language/Scheme/Core.hs
@@ -735,7 +735,11 @@
        GHC.Failed -> error "Compilation failed"
        GHC.Succeeded -> do
            m <- GHC.findModule (GHC.mkModuleName moduleName) Nothing
-           GHC.setContext [] [m]  -- setContext [] [(m, Nothing)] -- Use setContext [] [m] for GHC<7.
+#if __GLASGOW_HASKELL__ < 700
+           GHC.setContext [] [m]
+#else
+           GHC.setContext [] [(m, Nothing)]
+#endif
            fetched <- GHC.compileExpr (moduleName ++ "." ++ externalFuncName)
            return (Unsafe.Coerce.unsafeCoerce fetched :: [LispVal] -> IOThrowsError LispVal)
   defineVar env internalFuncName (IOFunc result) >>= continueEval env cont
@@ -746,7 +750,11 @@
     dynflags <- GHC.getSessionDynFlags
     _ <- GHC.setSessionDynFlags dynflags
     m <- GHC.findModule (GHC.mkModuleName moduleName) Nothing
-    GHC.setContext [] [m]  -- setContext [] [(m, Nothing)] -- Use setContext [] [m] for GHC<7.
+#if __GLASGOW_HASKELL__ < 700
+    GHC.setContext [] [m]
+#else
+    GHC.setContext [] [(m, Nothing)]
+#endif
     fetched <- GHC.compileExpr (moduleName ++ "." ++ externalFuncName)
     return (Unsafe.Coerce.unsafeCoerce fetched :: [LispVal] -> IOThrowsError LispVal)
   defineVar env internalFuncName (IOFunc result) >>= continueEval env cont
diff --git a/hs-src/Language/Scheme/Macro.hs b/hs-src/Language/Scheme/Macro.hs
--- a/hs-src/Language/Scheme/Macro.hs
+++ b/hs-src/Language/Scheme/Macro.hs
@@ -336,6 +336,10 @@
 checkLocal outerEnv localEnv identifiers hasEllipsis pattern@(Vector _) input@(Vector _) =
   loadLocal outerEnv localEnv identifiers pattern input False hasEllipsis
 
+--
+-- TODO: both of the below patterns are handled incorrectly; see Issue #34.
+--  basically a pattern in the dotted tail position can match multiple times, similar (same?) as if an ellipsis was at the end of a list
+--
 checkLocal outerEnv localEnv identifiers hasEllipsis pattern@(DottedList _ _) input@(DottedList _ _) =
   loadLocal outerEnv localEnv identifiers pattern input False hasEllipsis
 -- throwError $ BadSpecialForm "Test" input
@@ -347,6 +351,7 @@
           {- Idea here is that if we have a dotted list, the last component does not have to be provided
           in the input. So in that case just fill in an empty list for the missing component. -}
      else loadLocal outerEnv localEnv identifiers pattern (DottedList (i : is) (List [])) False hasEllipsis
+-- Issue #34 TODO: possible prototype code for this section -     else loadLocal outerEnv localEnv identifiers (List $ ps ++ [p] ++ Atom "...") input False hasEllipsis
 checkLocal outerEnv localEnv identifiers hasEllipsis pattern@(List _) input@(List _) =
   loadLocal outerEnv localEnv identifiers pattern input False hasEllipsis
 
diff --git a/hs-src/shell.hs b/hs-src/shell.hs
--- a/hs-src/shell.hs
+++ b/hs-src/shell.hs
@@ -67,7 +67,7 @@
   putStrLn " | | | | |_| \\__ \\   <    /// \\\\\\   \\__ \\ (__| | | |  __/ | | | | |  __/ "
   putStrLn " |_| |_|\\__,_|___/_|\\_\\  ///   \\\\\\  |___/\\___|_| |_|\\___|_| |_| |_|\\___| "
   putStrLn "                                                                         "
-  putStrLn " husk Scheme Interpreter                                     Version 3.2 "
+  putStrLn " husk Scheme Interpreter                                     Version 3.2.1 "
   putStrLn " (c) 2010-2011 Justin Ethier         github.com/justinethier/husk-scheme "
   putStrLn "                                                                         "
 
diff --git a/husk-scheme.cabal b/husk-scheme.cabal
--- a/husk-scheme.cabal
+++ b/husk-scheme.cabal
@@ -1,5 +1,5 @@
 Name:                husk-scheme
-Version:             3.2
+Version:             3.2.1
 Synopsis:            R5RS Scheme interpreter program and library.
 Description:         A dialect of R5RS Scheme written in Haskell. Provides advanced 
                      features including continuations, non-hygienic macros, a Haskell FFI,
@@ -20,7 +20,7 @@
 
 Library
   Build-Depends:   base >= 2.0 && < 5, array, containers, haskeline, haskell98, mtl, parsec, directory, ghc, ghc-paths
-  Extensions:      ExistentialQuantification
+  Extensions:      ExistentialQuantification CPP CPP
   Hs-Source-Dirs:  hs-src
   Exposed-Modules: Language.Scheme.Core
                    Language.Scheme.Types
@@ -33,7 +33,7 @@
 
 Executable         huski
   Build-Depends:   base >= 2.0 && < 5, array, containers, haskeline, haskell98, mtl, parsec, directory, ghc, ghc-paths
-  Extensions:      ExistentialQuantification
+  Extensions:      ExistentialQuantification CPP CPP
   Main-is:         shell.hs
   Hs-Source-Dirs:  hs-src
   Other-Modules:   Language.Scheme.Core
