anchor.diff:      mkSeq (fun () -> Enumerator.unfold generator state)
   
   let empty () =
  -    delay (fun () -> Array.empty :> seq<'T>) // Enumerator.empty<_>())
  +    delay (fun () -> Array.empty :> seq<'T>)
   
   let singleton x =
  -    delay (fun () -> (Array.singleton x) :> seq<'T>) // Enumerator.singleton x)
  +    delay (fun () -> (Array.singleton x) :> seq<'T>)
   
   let ofArray (arr: 'T[]) =
       arr :> seq<'T>
  
positive.code:                 acc <- st
                  true
          let dispose() = ()
          fromFunctions get next dispose
  
  // [<CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
  // [<RequireQualifiedAccess>]
  
negative.code:         let mutable started = false
          let mutable finished = false
          let mutable curr = None
          let current() =
              if not started then notStarted()
              elif finished then alreadyFinished()
              match curr with
  