diff --git a/Numeric/Units/Dimensional/TF.lhs b/Numeric/Units/Dimensional/TF.lhs
--- a/Numeric/Units/Dimensional/TF.lhs
+++ b/Numeric/Units/Dimensional/TF.lhs
@@ -51,6 +51,7 @@
 >            , TypeFamilies
 >            , TypeSynonymInstances
 >            , FlexibleInstances
+>            , DeriveDataTypeable
 > #-}
 
 > {- |
@@ -77,6 +78,7 @@
 > import qualified Prelude
 > import Data.List (genericLength)
 > import Data.Maybe (Maybe (Just, Nothing), catMaybes)
+> import Data.Typeable (Typeable)
 > import Numeric.NumType.TF
 >   ( NumType, Zero, toNum, Add, Sub
 >   , Pos1, Pos2, pos2, Pos3, pos3
@@ -105,7 +107,7 @@
 We call this data type 'Dimensional' to capture the notion that the
 units and quantities it represents have physical dimensions.
 
-> newtype Dimensional v d a = Dimensional a deriving (Eq, Ord, Enum)
+> newtype Dimensional v d a = Dimensional a deriving (Eq, Ord, Enum, Typeable)
 
 The type variable 'a' is the only non-phantom type variable and
 represents the numerical value of a quantity or the scale (w.r.t.
@@ -122,8 +124,8 @@
 The phantom type variable v is used to distinguish between units
 and quantities. It should be one of the following:
 
-> data DUnit
-> data DQuantity
+> data DUnit deriving Typeable
+> data DQuantity deriving Typeable
 
 For convenience we define type synonyms for units and quantities.
 
@@ -164,7 +166,7 @@
 using NumTypes. For convenience we collect all seven base dimensions
 in a data type 'Dim'.
 
-> data Dim l m t i th n j
+> data Dim l m t i th n j deriving Typeable
 
 where the respective dimensions are represented by type variables
 using the following convention.
@@ -373,8 +375,7 @@
 The sum of all elements in a list.
 
 > sum :: forall d a . Num a => [Quantity d a] -> Quantity d a
-> sum = foldr (+) (Dimensional 0 :: Quantity d a)
-> -- -}
+> sum = foldr (+) _0
 
 The length of the list as a 'Dimensionless'. This can be useful for
 purposes of e.g. calculating averages.
@@ -438,8 +439,10 @@
 that often show up in formulae. We also throw in 'pi' for good
 measure.
 
-> _0, _1, _2, _3, _4, _5, _6, _7, _8, _9 :: (Num a) => Dimensionless a
-> _0 = 0 *~ one
+> _0 :: (Num a) => Quantity d a
+> _0 = Dimensional 0
+
+> _1, _2, _3, _4, _5, _6, _7, _8, _9 :: (Num a) => Dimensionless a
 > _1 = 1 *~ one
 > _2 = 2 *~ one
 > _3 = 3 *~ one
diff --git a/dimensional-tf.cabal b/dimensional-tf.cabal
--- a/dimensional-tf.cabal
+++ b/dimensional-tf.cabal
@@ -1,5 +1,5 @@
 Name:                dimensional-tf
-Version:             0.1.1
+Version:             0.2
 License:             BSD3
 License-File:        LICENSE
 Copyright:           Bjorn Buckwalter 2006-2012
