I have recently found it useful while working with the FFI to have a CComplex data type, like so:

data CComplex a = Complex {-# UNPACK #-} !a {-# UNPACK #-} !a

Would something like this be a good addition to Foreign.C.Types?