Hi Richard,
So there's multiple reasons/aspects as to why I haven't responded
1. Sam's question/seeking feedback on changing the return type for constraint solver plugins is something Sam and I discussed at HIW using ICFPs airmeet instance, as in, it was something I suggested.
And the TL;DR of next three reasons: I can't find enough time / need to get better at time management / need to hand over work
2. While I've had to maintain the ghc-typelits-{natnormalize;knownnat;extra} constraint solver plugins as part of maintaining my (and our company's) livelihood, I usually only try the next version of the GHC module collection (API) when there's a binary dist of like an alpha or RC.
4. I'm a day-time-only programmer, and with our company growing I've had less time for coding and maintaining software.
With regards to point 2. if I understand correctly, the gitlab CI creates bindists as build artifacts, is that correct?
I guess it would be helpful if that were advertised more prominently, so it's easier to test a new branch without having to build GHC.
With regards to point 3. The "blessed" GHC API, i.e. the module called "GHC", "Plugins", "TcPlugins" (I forgot what their new names are in the post ghc 9.0 era), were never enough to get everything done that needed to be done.
That meant one had to reach out to the GHC module collection, which, for good reasons (the type and constraint system is always under heavy development), is changing with every major GHC release.
I guess (constraint solving) plugin creators whose day-job or hobby doesn't include maintaining plugins got burned out by having to keep up with these changes.
So I wonder how many constraint-solving plugins currently compile against GHC 9.0, let alone GHC 9.2; and as a consequence I wonder how many people are interested in these API changes (since they stopped maintaining their plugins).
Perhaps they are interested though! But simply not registered to this mailing list. So asking for feedback on both the haskell discourse and the haskell sub-reddit certainly wouldn't hurt!
Finally, with regards to point 4. Constraint-solving plugins certainly required some time to get into.
So often my colleagues look to me whenever there's a new alpha or RC out to upgrade the plugins.
But Sam's changes for solving type family constraints certainly give the impression that things will easier going forward!
So now is probably the best time to hand over the baton to one of my colleagues and hopefully they can provide the asked-for feedback.