interface FFIBuiltin where {
interface ! FFIBuiltin
{-# NEED ForeignObj #-}
data ForeignObj;

{-# NEED Addr #-}
data Addr;

{-# NEED StablePtr #-}
data StablePtr a;

{-# NEED Int8 #-}
data Int8;

{-# NEED Int16 #-}
data Int16;

{-# NEED Int32 #-}
data Int32;

{-# NEED Int64 #-}
data Int64;

{-# NEED Word8 #-}
data Word8;

{-# NEED Word16 #-}
data Word16;

{-# NEED Word32 #-}
data Word32;

{-# NEED Word64 #-}
data Word64;

{-# NEED Word #-}
data Word;

{-# NEED PackedString.PackedString #-}
data PackedString.PackedString;

interface ! FFI
{-# NEED {Ptr Ptr} #-}
newtype {-#  #-} Ptr a =
  Ptr FFIBuiltin.Addr;
}
