Hi, 

The Data.Complex package defines the new data type 'Complex' as 

----------
data Complex a  = !a :+ !a 
-------
Where ':+' is an infix operator. I don't however understand the usage of '!' in front of the type variable 'a'. What exactly is the purpose of '!' ?

Any help would be appreciated.

Thanks,
Shishir Srivastava