       fn(@child0)
 
     if @child1.forAll?
-      child1.forAll(fn)
+      @child1.forAll(fn)
     else
       fn(@child1)
 

    @nodes = ( n for n in @nodes when n isnt node0 and n isnt node1 )
    newnode = new Inner(node0.value + node1.value, node0, node1)
    newnode.x = (node0.x + node1.x) / 2
    newnode.y = (node0.y + node1.y) / 2 - Math.abs(node0.x - node1.x)
    @nodes.push(newnode)

# render loop

    ctx.moveTo(@x, @y)
    ctx.lineTo(@child0.x, @child0.y)
    ctx.moveTo(@x, @y)
    ctx.lineTo(@child1.x, @child1.y)
    ctx.stroke()
    ctx.restore()

