Simplification: `PreOrderIterator` extracted some behavior from `next` into `pushIfNotNull`.