This just reorders some inequality checks to
make the common case cheaper.
The results are quite dramatic for Trac #11095, but that's
probably because something else is causing it to do too
Before (full https://phabricator.haskell.org/P136):
13,589,495,832 bytes allocated in the heap
After (full https://phabricator.haskell.org/P137):
7,885,575,872 bytes allocated in the heap
This is with BuildFlavour = devel2, so take it with a
a grain of salt.
For reference, with no -g I get:
155,703,112 bytes allocated in the heap
so we're still quite a way off.