anchor.diff:          /// The result list.
           let mutable taken = []
           let mutable list = list
  -            
  +
           // Take the elements from the input list and cons them onto the 'taken' list.
           for i = 0 to count - 1 do
               taken <- (List.head list) :: taken
  
positive.code:         // so we benefit from memory locality.
          let reversed = revIntoArray list
          let mutable state = state
              
          let len = Array.length reversed
          for i = 1 to len - 1 do
              state <- folder.Invoke (reversed.[i - 1], reversed.[i], state)
  
negative.code:     // Preconditions
      checkNonNull "list1" list1
      checkNonNull "list2" list2
  
      let chooser = FSharpFunc<_,_,_>.Adapt chooser
  
      let rec choose2 chosen list1 list2 =
  