-newForeignPtr :: Ptr a -> FinalizerPtr a -> IO (ForeignPtr a)
--- ^Turns a plain memory reference into a foreign pointer, and
--- associates a finaliser with the reference. The finaliser will be executed
--- after the last reference to the foreign object is dropped. Note that there
--- is no guarantee on how soon the finaliser is executed after the last
--- reference was dropped; this depends on the details of the Haskell storage
--- manager. The only guarantee is that the finaliser runs before the program
--- terminates.
-newForeignPtr p finalizer
- = do fObj <- newForeignPtr_ p
- addForeignPtrFinalizer fObj finalizer
- return fObj
-