This happens in both DOMManipulation classes.
It causes weirdness when you do something like this:
li.setText('first");
lists.prepend(li);
li.setText("second");
If there are multiple "lists", then "li" will be cloned so it can be appended to each one. Because we only return the original though, li.setText('second') is going to have no effect on the second, third etc cloned nodes.