free +base

free :: Ptr a -> IO ()
base Foreign.Marshal.Alloc
Free a block of memory that was allocated with malloc, mallocBytes, realloc, reallocBytes, or any of the newX functions in Foreign.Marshal.Array or Foreign.C.String.
freeHaskellFunPtr :: FunPtr a -> IO ()
base Foreign.Ptr
Release the storage associated with the given FunPtr, which must have been obtained from a wrapper stub. This should be called whenever the return value from a foreign import wrapper function is no longer required; otherwise, the storage it uses will leak.
freePool :: Pool -> IO ()
base Foreign.Marshal.Pool
Deallocate a memory pool and everything which has been allocated in the pool itself.
freeStablePtr :: StablePtr a -> IO ()
base Foreign.StablePtr
Dissolve the association between the stable pointer and the Haskell value. Afterwards, if the stable pointer is passed to deRefStablePtr or freeStablePtr, the behaviour is undefined. However, the stable pointer may still be passed to castStablePtrToPtr, but the Foreign.Ptr.Ptr () value returned by castStablePtrToPtr, in this case, is undefined (in particular, it may be Foreign.Ptr.nullPtr). Nevertheless, the call to castStablePtrToPtr is guaranteed not to diverge.
finalizerFree :: FinalizerPtr a
base Foreign.Marshal.Alloc
A pointer to a foreign function equivalent to free, which may be used as a finalizer (cf Foreign.ForeignPtr.ForeignPtr) for storage allocated with malloc, mallocBytes, realloc or reallocBytes.
oFFSET_bdescr_free :: Int
base GHC.Constants