SelectStep and SelectOneStep are no longer path consumers. An analysis of Traversal determines whether a PathIdentity step is inserted which IS a PathConsumer. Super simple and no runaway number of classes. match().select() is looking good.