The Monomorphism Restriction

Tickets: #80

The M-R is widely regarded as an ugly part of the Haskell 98 language definition. Here are the main alternatives on the table: