anchor.diff:                  ([list], [testlist])
                   actions
   
  -        let success = List.forall2 eq testlists lists 
  +        let success = 
  +            if lookBackwards then
  +                List.forall2 eq testlists lists
  +            else
  +                eq (List.head testlists) (List.head lists)
  +
           if not success then
               Trace.WriteLine "FAILURE:"
               List.iteri2 (fun i list testlist  ->
  
positive.code:         (mapf : ('v->'v)->'l->'l)
          (pred: 'v->bool)
          (filter: ('v->bool)->'l->'l)
          (eq : 'l->'v ResizeArray->bool) =
  
          let applyAction (list:'v ResizeArray) testlist action =
              match action with
  
negative.code:             ary2.[i] <- v
              ary2
  
          eqListsAfterSteps initialList ary actions add get set ((+) 1) Array.map pred Array.filter eq true
  
      let ulistEqLists (initialList : ResizeArray<int>) (actions : ListAction<int>[]) (lookBackwards : bool) =
          let testList = Ulist.addMany initialList (Ulist.makeEmpty(None))
          let eq (ulist : Ulist<_>) (fslist : _ ResizeArray) = List.ofSeq ulist = List.ofSeq fslist
          let pred i = i % 2 = 0
          eqListsAfterSteps initialList testList actions Ulist.add Ulist.get Ulist.set ((+) 1) Ulist.map pred Ulist.filter eq lookBackwards 
  
      [<Property>]
      let ulistEqList (initialList : ResizeArray<int>) (actions : ListAction<int>[]) =
          ulistEqLists initialList actions false 
  
      [<Property>]
      let ulistEqListsLookingBackwards (initialList : ResizeArray<int>) (actions : ListAction<int>[]) =
          ulistEqLists initialList actions true
  