Confirmed what I mention above : https://gist.github.com/sdesai/4964570

In 3.8.1, while cloning it hits "initValue" first, and that's the broken Node clone.
In attrs-perf while cloning it hits "value" first, and that's the broken Node clone, and hence the test fails

Everything else about the state (and the line above) seem fine. It's just the order in which the properties show up when iterating which is causing the test to fail. In 3.8.1, if you add a line to the test which asks for initValue and tries to access it's style, it'll fail too (I tried this).

I can sleep at night for this one. Moving onto Tripp's issue.

We'll be looking at fixing this one by fixing Y.clone specifically for IE/Node cloning. The issue there is that we end up doing a var o = Object.create(domElement) to isolate the dom node, and accessing o.style barfs for the first reference we encounter.

The 2nd instance we encounter is already in the "marked" cache, and we don't attempt to reclone it, and just return the original [ which is why the first instance is broken and other instances are essentially uncloned instances ]. We're planning on making the first instance uncloned also.

Addressing alternate approaches to Y.clone() in general is a separate thread, outside the context of this pull request.