the following doesn't handle text children which are directly under the original span element, but otherwise should work fine.
mutantClone = document.createElement("div");
for (var i=0; i<original.childNodes.length; i++){
var child = original.childNodes[i];
var childClone = child.cloneNode(true);
mutantClone.appendChild(childClone);
}