anchor.diff:                                      calcTokens ast.first 
                                   else
                                       ast.other
  -                                    |> Array.map (fun fam -> calcTokens fam)
  +                                    |> Array.map calcTokens
                                       |> Array.append [| calcTokens ast.first |]
                                       |> List.concat
                               tokens := !tokens @ temp
  
positive.code:                     let otherChildren = 
                          if ast.other = null
                          then null
                          else Array.map (fun child -> processFamily child) ast.other
  
                      let newAST = new OtherAST (fstChild, otherChildren)
                      dict.Add (ast, newAST)
  
negative.code:         member nodes.exist f = 
              if nodes.fst <> null 
              then 
                  if f nodes.fst 
                  then true
                  else 
                      if nodes.snd <> null 
                      then 
                          if f nodes.snd then true
                          else
                              if nodes.other <> null 
                              then nodes.other |> Array.exists f
                              else false
                      else false
              else false
  