diff --git a/Control/Monad/Sharing/FirstOrder.hs b/Control/Monad/Sharing/FirstOrder.hs
--- a/Control/Monad/Sharing/FirstOrder.hs
+++ b/Control/Monad/Sharing/FirstOrder.hs
@@ -7,8 +7,9 @@
 -- 
 -- This library provides an interface to monads that support explicit
 -- sharing based on two-level types. This implementation is not as
--- efficient as the default implementation but it avoids duplicate
--- sharing which can lead to exponential blowup of the threaded heap.
+-- efficient as the default implementation but supports a restricted
+-- form of sharing across non-determinism if a first-order data type
+-- is used as underlying monad.
 module Control.Monad.Sharing.FirstOrder (
 
   module Control.Monad,
diff --git a/Control/Monad/Sharing/Implementation/CPS.hs b/Control/Monad/Sharing/Implementation/CPS.hs
--- a/Control/Monad/Sharing/Implementation/CPS.hs
+++ b/Control/Monad/Sharing/Implementation/CPS.hs
@@ -36,6 +36,8 @@
 
 import qualified Data.IntMap as M
 
+-- import Debug.Trace ( trace )
+
 -- |
 -- Continuation-based, store-passing implementation of explicit
 -- sharing. It is an inlined version of @ContT (ReaderT Store m)@
@@ -58,6 +60,7 @@
 
 runLazy :: Monad m => Lazy m a -> m a
 runLazy m = fromLazy m (\a _ -> return a) emptyStore
+  -- fromLazy m (\a s -> trace (show (nextLabel s)) (return a)) emptyStore
 
 -- Stores consist of a fresh-reference counter and a heap represented
 -- as IntMap.
diff --git a/explicit-sharing.cabal b/explicit-sharing.cabal
--- a/explicit-sharing.cabal
+++ b/explicit-sharing.cabal
@@ -1,5 +1,5 @@
 Name:          explicit-sharing
-Version:       0.5.1.1
+Version:       0.5.1.2
 Cabal-Version: >= 1.6
 Synopsis:      Explicit Sharing of Monadic Effects
 Description:   
