anchor.diff:          (generator: RangeGenerator<'T>) =
   
       let mutable state = BeforeFirst
  +
  +    let isPastEnd (value: 'T) = value.CompareTo(generator.EndInclusive) > 0
   
       interface IEnumerator<'T> with
           member __.Current: 'T =
  
positive.code: 
              | Enumerating value ->
                  match generator.Advance value with
                  | Some newValue ->
                      state <- Enumerating newValue
                      true
  
negative.code: open System.Collections.Generic
  
  type RangeGeneratorAdvance<'T> = 'T -> 'T option
  
  type public RangeGenerator<'T when 'T :> IComparable<'T>>
      (start: 'T,
       endInclusive: 'T,
       advance: RangeGeneratorAdvance<'T>) =
  
      do
          if endInclusive.CompareTo(start) > 0 then
              raise (ArgumentOutOfRangeException("endInclusive", "end must be >= start"))
  
      interface IEnumerable<'T> with
          member this.GetEnumerator(): IEnumerator =
  