-- a function type with zero or more arguments where
--
-- * the argument types are /marshallable foreign types/,
--- i.e. 'Char', 'Int', 'Prelude.Double', 'Prelude.Float',
+-- i.e. 'Char', 'Int', 'Double', 'Float',
-- 'Bool', 'Data.Int.Int8', 'Data.Int.Int16', 'Data.Int.Int32',
-- 'Data.Int.Int64', 'Data.Word.Word8', 'Data.Word.Word16',
-- 'Data.Word.Word32', 'Data.Word.Word64', @'Ptr' a@, @'FunPtr' a@,