Generalizable binders no longer require parentheses (`{(Monad m)} must now be written `{Monad m}).
Arrow type constructor can now associate to the right. a -> (b -> c) can now be written a -> b -> c Also allow mixing infix type operators with arrows a -> b + c (meaning a -> (b + c)).
Generate infix notations for types and constructors.
`{(Monad m)}
must now be written`{Monad m}
).a -> (b -> c)
can now be writtena -> b -> c
Also allow mixing infix type operators with arrowsa -> b + c
(meaninga -> (b + c)
).