diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+0.0.4:
+        * Added more system-independent word size calculation
+
 0.0.3:
 	* Added more docs to haddocks
 	* Export more internal combinators
diff --git a/src/Weigh/GHCStats.hs b/src/Weigh/GHCStats.hs
--- a/src/Weigh/GHCStats.hs
+++ b/src/Weigh/GHCStats.hs
@@ -8,6 +8,8 @@
   (ghcStatsSizeInBytes)
   where
 
+#include "MachDeps.h"
+
 import GHC.Stats
 import GHC.Int
 import Language.Haskell.TH
@@ -27,7 +29,7 @@
                 fmap (foldl' (+) headerSize)
                      (mapM fieldSize fields)
               litE (IntegerL (fromIntegral total))
-           where headerSize = 8
+           where headerSize = SIZEOF_HSWORD
                  fieldSize
                    :: (name,strict,Type) -> Q Int64
                  fieldSize (_,_,typ) =
@@ -45,7 +47,7 @@
                              ". Please report this as a bug, the codebase needs updating.")
                  knownTypes :: [(Name,Int64)]
                  knownTypes =
-                   map (,8)
+                   map (,SIZEOF_HSWORD)
                        [''Int64,''Int32,''Int8,''Int16,''Double]
          _ ->
            fail ("Unexpected shape of GCStats data type. " ++
diff --git a/weigh.cabal b/weigh.cabal
--- a/weigh.cabal
+++ b/weigh.cabal
@@ -1,5 +1,5 @@
 name:                weigh
-version:             0.0.4
+version:             0.0.5
 synopsis:            Measure allocations of a Haskell functions/values
 description:         Please see README.md
 homepage:            https://github.com/fpco/weigh#readme
