diff --git a/data-dword.cabal b/data-dword.cabal
--- a/data-dword.cabal
+++ b/data-dword.cabal
@@ -1,5 +1,5 @@
 Name: data-dword
-Version: 0.2
+Version: 0.2.1
 Category: Data
 Stability: experimental
 Synopsis: Stick two binary words together to get a bigger one
diff --git a/src/Data/DoubleWord/TH.hs b/src/Data/DoubleWord/TH.hs
--- a/src/Data/DoubleWord/TH.hs
+++ b/src/Data/DoubleWord/TH.hs
@@ -1381,7 +1381,13 @@
                          (VarE 'fromIntegral)
                          (SigE (VarE 'id) (AppT (AppT ArrowT tpT) tpT))
                          AllPhases
-      mkRules' [idRule] loT
+          signRule = RuleP ("fromIntegral/" ++ show tp ++ "->" ++ show otp) []
+                           (VarE 'fromIntegral)
+                           (SigE (VarE (if signed then 'unsignedWord
+                                                  else 'signedWord))
+                                 (AppT (AppT ArrowT tpT) (ConT otp)))
+                           AllPhases
+      mkRules' [idRule, signRule] loT
                (VarE 'loWord)
                (VarE 'extendLo)
                (VarE 'signExtendLo)
