code: function nanomorph (oldTree, newTree) {
    // if (DEBUG) {
    //   console.log(
    //   'nanomorph\nold\n  %s\nnew\n  %s',
    //   oldTree && oldTree.outerHTML,
    //   newTree && newTree.outerHTML
    // )
    // }
    _$assert_3.equal(typeof oldTree, 'object', 'nanomorph: oldTree should be an object')
    _$assert_3.equal(typeof newTree, 'object', 'nanomorph: newTree should be an object')
    var tree = walk(newTree, oldTree)
    // if (DEBUG) console.log('=> morphed\n  %s', tree.outerHTML)
    return tree
  }
docs: Morph one tree into another tree  no parent -> same: diff and walk children -> not same: replace and return old node doesn't exist -> insert new node new node doesn't exist -> delete old node nodes are not the same -> diff nodes and apply patch to old node nodes are the same -> walk all child nodes and append to old node