Now that rank-2 polymorphism seems to be part of the 'received standard'
(at least two implementations support 'em, and I assume they're a shoo-in
for Haskell 2), couldn't we really also do with type application?
It seems that ambiguity is here to stay in Haskell, and in principle
R2L makes the situation (at least as regards "uninferability") worse.
But it also provides at least a partial solution: when one has to
disambiguate a subexpression, as opposed to a top-level def., in several
cases I've been bitten by, it would have been more concise to remove
the ambiguity with a type-ap, than by supplying a complete signature.
I'd suggest a syntax for this, but I shall refrain, on account of
a) not having thought of one, and b) having an uneasy feeling I've
missed something obvious and am about to have this suggestion shot
down in flames.
Cheers,
Alex.