The short answer is no, for me it’s trying to solve a problem which in my experience doesn’t exists.
I’ll explain. GHC is the most conservative software I ever seen. We use to have a joke in one of my previous work “temporary means forever”. That stands for GHC. I’ve never seen any extension, experimental or not being changed or removed. One would expect that once a space design has been explored and battle tested all the mini extensions composing a feature would be merged into one. That doesn’t happen. Or we could think that once it’s been stabilised it actually becomes the default and the extension becomes “obsoletes”, it doesn’t happen either because GHC has to follow the specification.
Fair enough, we could then expect that once the spec get updated (every 12 years) then the previous anguage got forgotten about and all adopted extionsion become obsolete (or better removed). That doesn’t happend either. GHC is still Haskell 98 plus 100 something extensions (doing in ghci :set -X<tab>
gives me 252 possibilites, I guess I should divide by 2 that left 126 extensions).
Nothing get ever removed from GHC, so as I industrial user I can confidently use any of them, I know they’ll still be there in 10 years. That’s what I’ve been doing and I have never been bitten by doing so.
I might not count as a industrial user. I’m the sole developper doing a in-house software with about 3 users (including me). I get (sort of ) paid for it, and it’s been used daily since 2016. It started with lts-5.9 and use now lts-20.*.
Now, I might be missing the quick change at the beginning of the life of an experimental extension, but so will other industrial user for the same reason. Upgrading to a new version of the compiler is a painfull process and I do as least as possible. The usual culprit are base being bumped, internal refactoring breaking TH , abadonware package needed care etc …
So I wait for things to settle before upgrading to a new version of GHC. By that time every extensions availbale will there for eternity.