The plan had always been to move towards using this rather than so much
in-pass simplification within the loop pipeline, but we never got around
to it.... until only a couple months after it was removed due to disuse.
/
This commit is just a pure revert of the removal. I will add tests and
do some basic cleanup in follow-up commits (with post-commit review if
thats OK).
Then I'll wire it into the loop pass pipeline.
Any concerns?