Oops, I didn't mean to add `i` to the public signature; I was thinking more like this:

```js
root.add = function(d) {
  insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);
};

i = -1;
points.forEach(root.add);
return root;
```