anchor.diff:              while q.Count > 0 do
                   // dequeue the next element (having the minimal level)
                   let e = q.Dequeue(&currentLevel)
  -                current <- Some e
  +                current <- e
   
                   traverseCount := !traverseCount + 1
   
  
positive.code:                     x.Enqueue o
  
                  contained.Remove e |> ignore
                  current <- None
              
  
  
  
negative.code:                                     // the adaptive object but must expect any call to AddOutput to 
                                      // raise a LevelChangedException whenever a level has been changed
                                      if e.Mark() then
                                          // if everything succeeded we return all current outputs
                                          // which will cause them to be enqueued 
                                          e.Outputs.Consume()
  