+-- | Expects a Ptr to an info table, not to a closure
+lookupDataCon :: Ptr StgInfoTable -> IO (Maybe String)
+lookupDataCon ptr = do
+ name <- c_lookupDataCon (ptr `plusPtr` (wORD_SIZE*2))
+ if name == nullPtr
+ then return Nothing
+ else peekCString name >>= return . Just
+