Revisit state Monads used inside GHC
During ghc's call today @bgamari mentioned that it might be worth replacing usages of transformers state monad with
The reasoning being that it would allow us to apply the OneShot trick (See #18202).
I think we might also need to add a strict variant for that to make sense.
So the things needed would be:
- Figure out which state monads are used in GHC
- Replace them with
GHC.Utils.Monad.State(or a strict variant)