Change Specialise to use OrdList.
This PR addresses #21362 (closed).
The implementation of the filterBag replacement could use a look. Here the OrdList instance of traverse was what I based this on. The code roundtrips fromOL/toOL, but perhaps this could use a specialised OrdList filter implementation instead?
There's currently a failing stat test in one of the builds due to a decrease in memory usage just beyond the allowed bounds. Seems to happen only on the Windows build. Probably ok?