diff --git a/Data/Lens/Zipper.hs b/Data/Lens/Zipper.hs
--- a/Data/Lens/Zipper.hs
+++ b/Data/Lens/Zipper.hs
@@ -11,24 +11,54 @@
 -}
 
   -- * Zipper type
-    Zipper
+    Zipper(..)
   -- ** Zipper history 
-  , Top , (:>) , Hist
+{- |
+   These three types make up the heterogenous history stack, and the programmer
+   should never need to use them directly. They come together with 'Zipper' to
+   form types that look like, e.g.
+    
+   > -- a zipper on a Tree, with focus on a leaf "a" of a 2nd level subtree
+   > z :: Zipper (Top :> Tree a :> Tree a) a
+    
+   This zipper works conceptually like the \"breacrumbs\" navigation UI design
+   pattern, and the types reflect this visually.
+    
+   Nevertheless user-provided type annotations should almost never be
+   necessary, so these will probably never appear in your code.
+-}
+  , Top(..) , (:>)(..) , Hist(..)
 
   -- * Zipper operations
   , zipper , close
   -- ** Motions
   , move , moveP , moveUp
   -- ** Focus
+{- |
+   In addition to these, 'viewf' can be used to view the focus.
+-}
   , focus , setf , modf
 
  ) where
 
 {- TODO
+-      - either switch to new lens lib, or add TH to your own
 -      - excellent rewrite rules
+-          - first look at core output of simple example
+-          - add rules one-by-one, looking at core
+-      - change moveP -> pmove?
 -      - consider a newtype-wrapped submodule encapsulating monad return value
+-          what we really want is a notation like:
+-              move x
+-              move y
+-              foc <- move z
+-              moveUp 
+-              modf (+foc)
+-          quasiquotation, or can we shoe-horn this into proc notation? 
+-          otherwise add those combinators (in notes)
 -      - more advanced motions a.la. pez?
 -      - better demos
+-      - pretty Show instance for Zipper
 -}
 
 import Data.Yall.Lens
diff --git a/zippo.cabal b/zippo.cabal
--- a/zippo.cabal
+++ b/zippo.cabal
@@ -7,7 +7,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.1
+Version:             0.2
 
 -- A short (one-line) description of the package.
 Synopsis:            A simple lens-based, generic, heterogenous, type-checked zipper library
@@ -21,6 +21,12 @@
                      .
                      For a similar approach with many more features, but less type-safety
                      see "pez".
+                     .
+                     /CHANGES/: 0.1 to 0.2:
+                     .
+                     - Export all data type implementations (mea culpa!)
+                     .
+                     - better documentation
 
 -- URL for the project homepage or repository.
 Homepage:            http://brandon.si/code/zippo/
