A type sensitive preprocessor for Haskell