anchor.diff:  
       let rec internal getElementsInBounds bounds node (set : 'e HashSet) =
           match node.Children with
  -        | Left nodes -> for node in nodes do if intersectingBounds bounds node then getElementsInBounds bounds node set
  +        | Left nodes -> for node in nodes do if isIntersectingBounds bounds node then getElementsInBounds bounds node set
           | Right elements -> for element in elements do set.Add element |> ignore
   
       let rec internal clone node =
  
positive.code:         match node.Children with
          | Left nodes ->
              for node in nodes do
                  if intersectingBounds oldBounds node || intersectingBounds newBounds node then
                      updateElement oldBounds newBounds element node
          | Right elements ->
              if intersectingBounds oldBounds node then
                  if not (intersectingBounds newBounds node) then elements.Remove element |> ignore
              elif intersectingBounds newBounds node then
                  elements.Add element |> ignore
  
      let rec internal getElementsAtPoint point node (set : 'e HashSet) =
  
negative.code:     let internal atPoint point node =
          Math.isPointInBounds point node.Bounds
  
      let internal isIntersectingBounds bounds node =
          Math.isBoundsIntersectingBounds bounds node.Bounds
  
      let rec internal addElement bounds element node =
          if isIntersectingBounds bounds node then
              match node.Children with
              | Left nodes -> for node in nodes do addElement bounds element node
              | Right elements -> elements.Add element |> ignore
  
      let rec internal removeElement bounds element node =
          if isIntersectingBounds bounds node then
              match node.Children with
              | Left nodes -> for node in nodes do removeElement bounds element node
              | Right elements -> elements.Remove element |> ignore
  