diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog for the [`clash-ghc`](http://hackage.haskell.org/package/clash-ghc) package
 
+## 0.6.18 *June 7th 2016*
+* New features:
+  * DEC transformation also lifts HO-primitives applied to "interesting" primitives (i.e. `zipWith (*)`)
+  * New `-clash-hdlsyn Xilinx` flag to generate HDL tweaked for Xilinx synthesis tools (both ISE and Vivado)
+* Fixes bugs:
+  * replicate unfolded incorrectly [#150](https://github.com/clash-lang/clash-compiler/issues/150)
+  * `imap` is not unrolled [#151](https://github.com/clash-lang/clash-compiler/issues/151)
+  * VHDL: Incorrect primitive specification for `snatToInteger` [#149](https://github.com/clash-lang/clash-compiler/issues/149)
+
 ## 0.6.17 *April 7th 2016*
 * New features:
   * Up to 2x reduced compilation times when working with large `Vec` literals
diff --git a/clash-ghc.cabal b/clash-ghc.cabal
--- a/clash-ghc.cabal
+++ b/clash-ghc.cabal
@@ -1,5 +1,5 @@
 Name:                 clash-ghc
-Version:              0.6.17
+Version:              0.6.18
 Synopsis:             CAES Language for Synchronous Hardware
 Description:
   CλaSH (pronounced ‘clash’) is a functional hardware description language that
@@ -76,38 +76,38 @@
                       TupleSections
                       ViewPatterns
 
-  Build-Depends:      array                     >= 0.4,
-                      base                      >= 4.3.1.0 && < 5,
-                      bifunctors                >= 4.1.1,
-                      bytestring                >= 0.9,
-                      containers                >= 0.5.4.0,
-                      directory                 >= 1.2,
-                      filepath                  >= 1.3,
-                      ghc                       >= 7.10.1 && < 7.12,
-                      process                   >= 1.2,
-                      hashable                  >= 1.1.2.3,
-                      haskeline                 >= 0.7.0.3,
-                      lens                      >= 4.0.5,
-                      mtl                       >= 2.1.1,
-                      text                      >= 0.11.3.1,
-                      transformers              >= 0.4.2,
-                      unbound-generics          >= 0.1 && < 0.4,
-                      unordered-containers      >= 0.2.1.0,
+  Build-Depends:      array                     >= 0.4      && < 0.6,
+                      base                      >= 4.3.1.0  && < 5,
+                      bifunctors                >= 4.1.1    && < 5.4,
+                      bytestring                >= 0.9      && < 0.11,
+                      containers                >= 0.5.4.0  && < 0.6,
+                      directory                 >= 1.2      && < 1.3,
+                      filepath                  >= 1.3      && < 1.5,
+                      ghc                       >= 7.10.1   && < 7.12,
+                      process                   >= 1.2      && < 1.3,
+                      hashable                  >= 1.1.2.3  && < 1.3,
+                      haskeline                 >= 0.7.0.3  && < 0.8,
+                      lens                      >= 4.0.5    && < 4.15,
+                      mtl                       >= 2.1.1    && < 2.3,
+                      text                      >= 0.11.3.1 && < 1.3,
+                      transformers              >= 0.4.2    && < 0.5,
+                      unbound-generics          >= 0.1      && < 0.4,
+                      unordered-containers      >= 0.2.1.0  && < 0.3,
 
-                      clash-lib                 >= 0.6.15 && < 0.7,
-                      clash-systemverilog       >= 0.6.6,
-                      clash-vhdl                >= 0.6.11,
-                      clash-verilog             >= 0.6.6,
-                      clash-prelude             >= 0.10.6 && < 0.11,
-                      ghc-typelits-extra        >= 0.1,
-                      ghc-typelits-natnormalise >= 0.3,
-                      deepseq                   >= 1.3.0.2,
-                      time                      >= 1.4.0.1
+                      clash-lib                 >= 0.6.16   && < 0.7,
+                      clash-systemverilog       >= 0.6.6    && < 0.7,
+                      clash-vhdl                >= 0.6.12   && < 0.7,
+                      clash-verilog             >= 0.6.6    && < 0.7,
+                      clash-prelude             >= 0.10.8   && < 0.11,
+                      ghc-typelits-extra        >= 0.1      && < 0.2,
+                      ghc-typelits-natnormalise >= 0.3      && < 0.5,
+                      deepseq                   >= 1.3.0.2  && < 1.5,
+                      time                      >= 1.4.0.1  && <1.6
 
   if os(windows)
-    Build-Depends:    Win32
+    Build-Depends:    Win32                     >= 2.3.1    && < 2.4
   else
-    Build-Depends:    unix
+    Build-Depends:    unix                      >= 2.7.1    && < 2.8
 
   C-Sources:          src-bin/hschooks.c
 
diff --git a/src-ghc/CLaSH/GHC/CLaSHFlags.hs b/src-ghc/CLaSH/GHC/CLaSHFlags.hs
--- a/src-ghc/CLaSH/GHC/CLaSHFlags.hs
+++ b/src-ghc/CLaSH/GHC/CLaSHFlags.hs
@@ -18,6 +18,7 @@
 import Data.IORef
 import Control.Monad
 import CLaSH.Driver.Types
+import CLaSH.Netlist.BlackBox.Types (HdlSyn (..))
 import Text.Read (readMaybe)
 
 parseCLaSHFlags :: IORef CLaSHOpts -> [Located String]
@@ -89,4 +90,6 @@
           -> EwM IO ()
 setHdlSyn r s = case readMaybe s of
   Just hdlSyn -> liftEwM $ modifyIORef r (\c -> c {opt_hdlSyn = hdlSyn})
-  Nothing     -> addWarn (s ++ " is an invalid debug level")
+  Nothing     -> if s == "Xilinx"
+                    then liftEwM $ modifyIORef r (\c -> c {opt_hdlSyn = Vivado})
+                    else addWarn (s ++ " is an unknown hdl synthesis tool")
diff --git a/src-ghc/CLaSH/GHC/NetlistTypes.hs b/src-ghc/CLaSH/GHC/NetlistTypes.hs
--- a/src-ghc/CLaSH/GHC/NetlistTypes.hs
+++ b/src-ghc/CLaSH/GHC/NetlistTypes.hs
@@ -82,6 +82,8 @@
         "GHC.Prim.~#"                   ->
           fail $ "Can't translate type: " ++ showDoc ty
 
+        "GHC.Prim.Any" -> return (BitVector 1)
+
         "CLaSH.Signal.Internal.Signal'" ->
           ExceptT $ return $ coreTypeToHWType go m (args !! 1)
 
