data (RealFloat a) => Complex a
= !a :+ !a -- ^ forms a complex number from its real and imaginary
-- rectangular components.
+# if __GLASGOW_HASKELL__
+ deriving (Eq, Show, Read, Data)
+# else
deriving (Eq, Show, Read)
+# endif
-- -----------------------------------------------------------------------------
-- Functions over Complex