See also !3309 (closed), which applies this to all Reader/State-like monads in
GHC for compile-time perf improvements. The pattern used here enables
something similar to the state-hack, but is applicable to user-defined
monads, not just IO
.
This MR isolates part of !3426 (merged) to test it in isolation and ultimately rebase !3426 (merged) upon.