<div dir="ltr">This might be in the "ship has sailed" territory, but I'd like to bring it up anyway.  <a href="https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0287-simplify-subsumption.rst">https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0287-simplify-subsumption.rst</a> says:<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Suppose GHC lacked all four features, and someone proposed adding them. That proposal would never leave the launchpad.<br></blockquote><div><br></div><div>Let's test that hypothesis.</div><div><br></div><div>I've been spending increasing amounts of time fighting against simplified subsumption while porting Haskell code to GHC 9.0.  It's not that any specific instance of this problem is hard to fix; rather, it's that it completely screws up my intuition about what should be valid Haskell.  It doesn't help that HLS still requires 8.10.4, so I usually don't find out I've broken my libraries for GHC 9.0 until continuous integration kicks in.  At this point, it's become fairly routine that my code that works fine with 8.10.4 is broken with 9.0, and this makes me sad.</div><div><br></div><div>Understandably, eta expansion reducing the strictness of terms is bad.  But wouldn't it be possible to choose a desugaring with seq that doesn't do so?</div></div>