anchor.diff:          val mutable other : obj[]
           val extension : Int64
           new (f,s,o) = {fst = f; snd = s; other = o; extension = int64 -1}
  -        new (f, s, o, e) = {fst = f; snd = s; other = o; extension = int64 -1}
  +        new (f, s, o, e) = {fst = f; snd = s; other = o; extension = e}
   
           new (arr : array<_>) =
               let mutable res = new Nodes()
  
positive.code:                         res.snd <- arr.[1]
                          if arr.Length > 2 then
                              res.other <- arr.[2..]
              {fst = res.fst; snd = res.snd; other = res.other; extension = int64 -1}
  
  
          member nodes.doForAll f =
  
negative.code:     struct
          val prod : int
          val nodes : Nodes
          new (p, n) = {prod = p; nodes = n}
      end
  
  and Nodes =
  