diff --git a/llvm-tf.cabal b/llvm-tf.cabal
--- a/llvm-tf.cabal
+++ b/llvm-tf.cabal
@@ -1,5 +1,5 @@
 Name:          llvm-tf
-Version:       9.2
+Version:       9.2.0.1
 License:       BSD3
 License-File:  LICENSE
 Synopsis:      Bindings to the LLVM compiler toolkit using type families.
@@ -22,6 +22,7 @@
   with current versions of LLVM nor GHC.
 Author:        Henning Thielemann, Bryan O'Sullivan, Lennart Augustsson
 Maintainer:    Henning Thielemann <llvm@henning-thielemann.de>
+Homepage:      https://wiki.haskell.org/LLVM
 Stability:     experimental
 Category:      Compilers/Interpreters, Code Generation
 Tested-With:   GHC == 7.4.2, GHC == 8.6.5
@@ -36,7 +37,7 @@
   Location: http://code.haskell.org/~thielema/llvm-tf/
 
 Source-Repository this
-  Tag:      9.2
+  Tag:      9.2.0.1
   Type:     darcs
   Location: http://code.haskell.org/~thielema/llvm-tf/
 
@@ -56,7 +57,7 @@
     tfp >=1.0 && <1.1,
     transformers >=0.3 && <0.6,
     storable-record >=0.0.2 && <0.1,
-    enumset >=0.0.5 && <0.1,
+    enumset >=0.0.5 && <0.2,
     fixed-length >=0.2 && <0.3,
     non-empty >=0.2 && <0.4,
     semigroups >=0.1 && <1.0,
@@ -125,7 +126,7 @@
 Test-Suite llvm-test
   Type: exitcode-stdio-1.0
   Build-Depends:
-    QuickCheck,
+    QuickCheck >=2.11 && <3,
     private,
     llvm-tf,
     tfp,
diff --git a/private/LLVM/Core/CodeGen.hs b/private/LLVM/Core/CodeGen.hs
--- a/private/LLVM/Core/CodeGen.hs
+++ b/private/LLVM/Core/CodeGen.hs
@@ -359,8 +359,8 @@
 @Value t1 -> Value t2 -> ... CodeGenFunction r ()@.
 -}
 class IsFunction f => FunctionArgs f where
-    type FunctionCodeGen f :: *
-    type FunctionResult  f :: *
+    type FunctionCodeGen f
+    type FunctionResult  f
     paramFunc ::
         FFI.ValueRef -> LP.Proxy f -> FunctionCodeGen f ->
         Int -> CodeGenFunction (FunctionResult f) ()
@@ -710,7 +710,7 @@
     unsafeConstValue $ U.constStruct (constValueFieldsOf struct) True
 
 class IsConstStruct c where
-    type ConstStructOf c :: *
+    type ConstStructOf c
     constValueFieldsOf :: c -> [FFI.ValueRef]
 
 instance (IsConst a, IsConstStruct cs) => IsConstStruct (ConstValue a, cs) where
diff --git a/private/LLVM/Core/Instructions.hs b/private/LLVM/Core/Instructions.hs
--- a/private/LLVM/Core/Instructions.hs
+++ b/private/LLVM/Core/Instructions.hs
@@ -561,7 +561,7 @@
 
 -- |Acceptable arguments to 'extractvalue' and 'insertvalue'.
 class GetValue agg ix where
-    type ValueType agg ix :: *
+    type ValueType agg ix
     getIx :: LP.Proxy agg -> ix -> CUInt
 
 instance (GetField as i, Dec.Natural i) => GetValue (Struct as) (Proxy i) where
@@ -897,8 +897,8 @@
 -- |Acceptable arguments to 'call'.
 class (f ~ CalledFunction g, r ~ CodeResult g, g ~ CallerFunction r f) =>
          CallArgs r f g where
-    type CalledFunction g :: *
-    type CallerFunction r f :: *
+    type CalledFunction g
+    type CallerFunction r f
     doCall :: Call f -> g
 
 instance (Value a ~ a', CallArgs r b b') => CallArgs r (a -> b) (a' -> b') where
diff --git a/private/LLVM/Core/Instructions/Private.hs b/private/LLVM/Core/Instructions/Private.hs
--- a/private/LLVM/Core/Instructions/Private.hs
+++ b/private/LLVM/Core/Instructions/Private.hs
@@ -151,7 +151,7 @@
 
 -- | Acceptable arguments to 'getElementPointer'.
 class GetElementPtr optr ixs where
-    type ElementPtrType optr ixs :: *
+    type ElementPtrType optr ixs
     getIxList :: LP.Proxy optr -> ixs -> [FFI.ValueRef]
 
 -- | Acceptable single index to 'getElementPointer'.
@@ -253,7 +253,7 @@
         unConst (constOf (Dec.integralFromProxy a :: Word32)) :
         getIxList (fieldProxy proxy a) i
 
-class GetField as i where type FieldType as i :: *
+class GetField as i where type FieldType as i
 instance GetField (a, as) Dec.Zero where
     type FieldType (a, as) Dec.Zero = a
 instance
diff --git a/private/LLVM/Core/Vector.hs b/private/LLVM/Core/Vector.hs
--- a/private/LLVM/Core/Vector.hs
+++ b/private/LLVM/Core/Vector.hs
@@ -35,7 +35,7 @@
 
 -- XXX Should these really be here?
 class (Dec.Positive n) => MkVector n where
-    type Tuple n a :: *
+    type Tuple n a
     toVector :: Tuple n a -> Vector n a
     fromVector :: Vector n a -> Tuple n a
 
diff --git a/private/LLVM/ExecutionEngine/Marshal.hs b/private/LLVM/ExecutionEngine/Marshal.hs
--- a/private/LLVM/ExecutionEngine/Marshal.hs
+++ b/private/LLVM/ExecutionEngine/Marshal.hs
@@ -427,7 +427,8 @@
 
 allocaAux :: (Type.IsType a) => LP.Proxy a -> (Ptr a -> IO b) -> IO b
 allocaAux proxy f =
-    Foreign.allocaBytes (sizeOf proxy) (f . Data.uncheckedFromPtr)
+    Foreign.allocaBytesAligned (sizeOf proxy) (alignment proxy)
+        (f . Data.uncheckedFromPtr)
 
 
 {- |
diff --git a/src/LLVM/ExecutionEngine.hs b/src/LLVM/ExecutionEngine.hs
--- a/src/LLVM/ExecutionEngine.hs
+++ b/src/LLVM/ExecutionEngine.hs
@@ -79,7 +79,7 @@
     return $ translate run [] f
 
 class Unsafe a where
-    type RemoveIO a :: *
+    type RemoveIO a
     unsafeRemoveIO :: a -> RemoveIO a  -- ^Remove the IO from a function return type.  This is unsafe in general.
 
 instance (Unsafe b) => Unsafe (a->b) where
