anchor.diff:                      if nodes.other <> null 
                       then 
                           let bound = 
  -                            let index = Array.tryFindIndex (fun n -> n = nd) nodes.other
  +                            let index = nodes.other |> Array.tryFindIndex ((=) nd) 
                               if index.IsSome 
                               then index.Value - 1
                               else nodes.other.Length - 1
  
positive.code:                         | :? OtherAST as ast -> 
                              let processFam fam = 
                                  let toks = familyToTokens.[fam]
                                  if toks |> List.exists (fun t -> containsRange t)
                                  then handleFamily fam
  
                              processFam ast.first
                              if ast.other <> null 
                              then ast.other |> Array.iter (fun fam -> processFam fam)
                          | :? Terminal as t -> 
                              let isNewParent = not <| List.exists (fun fam -> fam = family) !parents
                              if containsRange t.TokenNumber && isNewParent
                              then
                                  parents := family :: !parents
  
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
  