         clearObject child, node, k, changes[k]
         del parent, key if parent? and empty child
 
-    node
-
   clearObject: (path, obj) ->
     target = @clearPath path
     return unless target?
+
     clearObject target, null, null, obj
 
 

    clearPath @root, null, null, path


  # recursively clear changes made by merge

  clearObject = (node, key, parent, changes) ->
    for k of changes

    set target, cursorSymbol, cursor


  # recursively clear changes along a path, pruning nodes as stack unwinds
  # return the last node along the path

  clearPath = (node, key, parent, path) ->
    return unless node?
