> In the Haskell Report 1.3 it says
>
> "Type synonyms are a strictly syntactic mechanism to make type
> signatures more readable. A synonym and its definition are
> completely interchangable."
> (BTW, these sentences are the first of section 4.2.3, but they
> probably should be the last of the previous section.) This is
> against my intuition. I would say that a type synonym introduces
> a new type, of which the programmer knows nothing except that there
> exists a way to convert the synonym and its definition to each
> other.
It may be against your intuition, but that is the way it is defined
to be in Haskell. A `type' definition just defines an abbreviation.
If you want a new type you need to use `data' or `newtype'.
A type system with automatic coercions inserted on top of all the
complexities of Haskell is more than I want to think about.
-- Lennart