Allow a specification attached to a multi-parameter type class
which indicates that some parameters are entirely determined by
others. The implementation will check that this property holds
for the declared instances, and will use this property to reduce
ambiguity in instance resolution.

Allow concrete XML syntax to be used in expressions and patterns,
as per the Haskell Server Pages extension language:
http://www.haskell.org/haskellwiki/HSP. The ideas behind it are
discussed in the paper "Haskell Server Pages through Dynamic Loading"
by Niklas Broberg, from Haskell Workshop '05.

Allow type classimplicit parameterequality constraints to be
used as types with the special kind constraint. Also generalise
the (ctxt => ty) syntax so that any type of kind constraint can
occur before the arrow.