What I also got from this discussion was learning why sometimes a
`where foo = 1000` works at different number types, and sometimes not.
It depends on whether I am using GADTs or TypeFamilies somewhere in the
file! Who’d have thought…
Actually `where foo = 1000` wouldn't be affected by `MonoLocalBinds` (but would be by the `MonomorphsimRestriction`, fun right :-) ).
`MonoLocalBinds` only affects local bindings that depend on something from a pattern (i.e., declaration that you can't
just move to the top level because they depend on something locally bound)
-Iavor