+-- ^ A value of type @'FunPtr' a@ is a pointer to a piece of code. It
+-- may be the pointer to a C function or to a Haskell function created
+-- using @foreign export dynamic@. A @foreign export
+-- dynamic@ should normally be declared to produce a
+-- 'FunPtr' of the correct type. For example:
+--
+-- > type Compare = Int -> Int -> Bool
+-- > foreign export dynamic mkCompare :: Compare -> IO (FunPtr Compare)
+
+-- |The constant 'nullFunPtr' contains a
+-- distinguished value of 'Ptr' that is not
+-- associated with a valid memory location