Tuple sections and impredicativity
e :: a -> (forall b. b -> b -> b) -> (a, String, forall c. c -> c -> c) e = (,"Hello" ++ "World",)
Currently the typing for tuple sections (in the
ExplicitTuples case of
tcExpr) makes the missing arguments into monotypes, so the program is rejected. With a bit more care we could do better. Not hard, but would need a little care.