<div dir="ltr"><div>Regarding the first question ("Is this restriction *really* necessary?"), I think the answer is likely "no", at least for most data family instances. This discussion [1] is the most up-to-date reference on the history and motivations behind the current restriction. In that discussion, it is hypothesized that data family instances whose data constructors do not use any constraints could be promoted without needing to rethink how Core works. (If I understand correctly, all of your data family instances fall into this simple subset.) This discussion could provide a template for a GHC proposal that proposes to allow this feature.<br></div><div><br></div><div>Best,</div><div><br></div><div>Ryan</div><div>-----</div><div>[1] <a href="https://github.com/ghc-proposals/ghc-proposals/discussions/456">https://github.com/ghc-proposals/ghc-proposals/discussions/456</a></div></div>