
There are a whole lot of ways to ruin the performance of haskell programs that are a lot more subtle than the MR restriction. I don't see why we deem this particular one, especially when it is easily solved by adding a type signature, of special enough import to change the language over. However, If we must have a new syntax then another possibility is that since pattern matching is already monomorhpic, we can have the 'unary tuple' pattern mean monomorphic without using any new syntax. (x) = fromInteger 3 which sort of looks like a unary tuple match and makes it very clear that only values (and not functions) may be bound in this manner and the fact that it is shared falls naturally from thinking of it as being pulled out of a data structure. I would much prefer something like this as opposed to a new operator. we are used to = behaving differently when pattern matching vs naming. John -- John Meacham - ⑆repetae.net⑆john⑈