On Sunday, 11 December 2016 at 11:58:39 UTC, ag0aep6g wrote:
Try putting an `assert(childCrossPoint !is otherCrossPoint);` before the assignment. If it fails, the variables refer to the same node. That would explain how otherCrossPoint.left gets set.
Ahh... This led me to it. I was about to say "That wouldn't be possible, childCrossPoint is part of a clone of the original caller!" But then I realized I did "this.getNodeList" towards the beginning instead of "child.getNodeList". I feel very silly right now, haha. Thanks for the help and your patience, guys.