           addDependency child.set, name for name in parent.names unless child is parent
           addDependency deps, parent
         else if !node.label and !lookupIdentifier token, node
-          child.missing.push node.token
+          addDependency child.missing, node.token
   [graph, lookupByName]
 
 lookupTableForGraph = (graph) ->

  valid = []
  for {missing, names} in graph
    # This def needs hoisting
    if missing.length > 0
      hoistableNames[n] = yes for n in names
      # So do all defs depending on it
      for name in names

  [readyWheres, hoistableWheres] = wheresWithHoisting wheres
  addToScopeAllNames readyWheres
  wheresDef = (graphToWheres readyWheres).map(compileDef).join '\n'
  bodyDef = compileImpl body, hoistableWheres
  [wheresDef, bodyDef]

unpairs = (pairs) ->
