diff --git a/dwarf-el.cabal b/dwarf-el.cabal
--- a/dwarf-el.cabal
+++ b/dwarf-el.cabal
@@ -1,5 +1,5 @@
 Name:          dwarf-el
-Version:       0.2.1
+Version:       0.2.1.1
 License:       BSD3
 License-file:  LICENSE
 Category:      Data
diff --git a/src/Data/Dwarf.hs b/src/Data/Dwarf.hs
--- a/src/Data/Dwarf.hs
+++ b/src/Data/Dwarf.hs
@@ -5,7 +5,7 @@
   ( Endianess(..), TargetSize(..)
   , Sections(..)
   , parseInfo
-  , DieID, DIE(..), (!?)
+  , DieID, dieID, DIE(..), (!?)
   , DIERefs(..), DIEMap
   , Reader(..)
   , parseAranges
@@ -62,6 +62,11 @@
 
 newtype CUOffset = CUOffset Word64
   deriving (Eq, Ord, Read, Show)
+
+-- Don't export a constructor, so users can only read DieID's, not
+-- create fake ones, which is slightly safer.
+dieID :: DieID -> Word64
+dieID (DieID x) = x
 
 inCU :: Integral a => CUOffset -> a -> DieID
 inCU (CUOffset base) x = DieID $ base + fromIntegral x
