[add  routines to get current used and bound names
John Meacham <john@repetae.net>**20060721075827] hunk ./Name/Id.hs 3
-    idSetToList,
-    runIdNameT',
-    runIdNameT,
+    IdMap(),
hunk ./Name/Id.hs 6
-    IdMap(),
-    idSetToIdMap,
hunk ./Name/Id.hs 9
-    idMapToIdSet
+    idMapToIdSet,
+    idNameBoundNames,
+    idNameUsedNames,
+    idSetToIdMap,
+    idSetToList,
+    runIdNameT',
+    runIdNameT
hunk ./Name/Id.hs 20
-import qualified Data.IntSet as IS
-import qualified Data.IntMap  as IM
+import Data.FunctorM
hunk ./Name/Id.hs 23
-import Data.FunctorM
+import qualified Data.IntMap  as IM
+import qualified Data.IntSet as IS
hunk ./Name/Id.hs 26
-import Util.SetLike as S
hunk ./Name/Id.hs 27
-import Util.NameMonad
hunk ./Name/Id.hs 28
+import Util.NameMonad
+import Util.SetLike as S
hunk ./Name/Id.hs 66
+-- | Get bound and used names
+idNameBoundNames :: Monad m => IdNameT m IdSet
+idNameBoundNames = IdNameT $ do
+    (_used,bound) <- get
+    return bound
+idNameUsedNames :: Monad m => IdNameT m IdSet
+idNameUsedNames = IdNameT $  do
+    (used,_bound) <- get
+    return used
+