<div dir="ltr"><div><div><div><div><div><div><span style="font-family:arial,helvetica,sans-serif">With the help of Jan Stolarek I tracked down the HsForAllTy flattening to<br> `HsTypes.mk_forall_ty`.<br><br></span></div><span style="font-family:arial,helvetica,sans-serif">This function takes any nested HsForAllTy's where the top one does not have a context defined, and collapses them into a single one.<br><br></span></div><span style="font-family:arial,helvetica,sans-serif">I do not know what the motivation for this is, and if it perhaps speeds up or simplifies further compilation.<br><br></span></div><span style="font-family:arial,helvetica,sans-serif">But now that API Annotations have arrived, making sure we do not lose the annotations for the sub-HsForAllTy  causes significant gymnastics in the parser [1].<br><br></span></div><span style="font-family:arial,helvetica,sans-serif">So my question is, is there a good reason to continue doing this, given the trade-off in parser complexity.<br><br></span></div><span style="font-family:arial,helvetica,sans-serif">Regards<br></span></div><span style="font-family:arial,helvetica,sans-serif">  Alan<br><br></span><div><div><div><div><span style="font-family:arial,helvetica,sans-serif">[1]</span>  <a href="https://phabricator.haskell.org/D833">https://phabricator.haskell.org/D833</a><br><span style="font-family:arial,helvetica,sans-serif"></span><span style="font-family:arial,helvetica,sans-serif"> </span><br><div><div><tt><br></tt></div></div></div></div></div></div></div>