I would say that findIntersection should clone it, since it's going to modify it. Ideally, we'd just pass everything by value like we do on the go side, but JavaScript doesn't afford us such flexibility...