anchor.diff:              ary2.[i] <- v
               ary2
   
  -        eqListsAfterSteps initialList ary actions add get set ((+) 1) Array.map pred Array.filter eq
  +        eqListsAfterSteps initialList ary actions add get set ((+) 1) Array.map pred Array.filter eq true
   
  -    [<Property>]
  -    let ulistEqListsAfterSteps (initialList : ResizeArray<int>) (actions : ListAction<int>[]) =
  +    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
  +        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
  
positive.code:                 ([list], [testlist])
                  actions
  
          let success = List.forall2 eq testlists lists 
          if not success then
              Trace.WriteLine "FAILURE:"
              List.iteri2 (fun i list testlist  ->
  
negative.code: 
      [<Property>]
      /// Proof of concept, we can delete this after we know test is correct
      let aryEqListsLookingBackwards (initialList : ResizeArray<int>) (actions : ListAction<int> []) =
          let ary = Array.ofSeq initialList
          let eq (ary: int[]) (fslist: int ResizeArray) = List.ofSeq ary = List.ofSeq fslist
          let pred i = i % 2 = 0
  