anchor.diff:                      this.Delay (fun () ->
                           body enum.Current))))
   
  +
  +/// Indexed-state workflows.
  +[<RequireQualifiedAccess; CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
  +module Indexed =
  +    //
  +    [<CompiledName("State")>]
  +    let state = IndexedStateBuilder ()
  +
  +    //
  +    [<CompiledName("ReaderState")>]
  +    let readerState = ReaderIndexedStateBuilder ()
  +
  +    //
  +    [<CompiledName("ProtectedState")>]
  +    let protectedState = ProtectedIndexedStateBuilder ()
  +
  +    //
  +    [<CompiledName("ReaderProtectedState")>]
  +    let readerProtectedState = ReaderProtectedIndexedStateBuilder ()
  +
  +    //
  +    [<CompiledName("StatefulChoice")>]
  +    let statefulChoice = IndexedStatefulChoiceBuilder ()
  +
  
positive.code: /// <typeparam name="S2"></typeparam>
  /// <typeparam name="T"></typeparam>
  /// <typeparam name="Error"></typeparam>
  type ReaderProtectedStateFuncIndexed<'Env, 'S1, 'S2, 'T, 'Error> =
      'Env -> 'S1 -> Choice<'T * 'S2, 'Error>
  
  /// <summary>
  
negative.code:     // M<'T> -> M<'T> -> M<'T>
      // or
      // M<unit> -> M<'T> -> M<'T>
      member this.Combine (r1 : IndexedStatefulChoiceFunc<_,_,_,_>, r2 : IndexedStatefulChoiceFunc<_,_,_,_>)
          : IndexedStatefulChoiceFunc<'S1, 'S2, 'T, 'Error> =
          this.Bind (r1, (fun () -> r2))
  
      // M<'T> -> M<'T> -> M<'T>
      member __.TryWith (body : IndexedStatefulChoiceFunc<_,_,_,_>, handler : exn -> IndexedStatefulChoiceFunc<_,_,_,_>)
          : IndexedStatefulChoiceFunc<'S1, 'S2, 'T, 'Error> =
          fun state ->
          try body state
          with ex ->
              handler ex state
  
      // M<'T> -> M<'T> -> M<'T>
      member __.TryFinally (body : IndexedStatefulChoiceFunc<_,_,_,_>, handler)
          : IndexedStatefulChoiceFunc<'S1, 'S2, 'T, 'Error> =
          fun state ->
          try body state
          finally
              handler ()
  
      // 'T * ('T -> M<'U>) -> M<'U> when 'U :> IDisposable
      member this.Using (resource : ('T :> System.IDisposable), body : 'T -> IndexedStatefulChoiceFunc<_,_,_,_>)
          : IndexedStatefulChoiceFunc<'S1, 'S2, 'U, 'Error> =
          this.TryFinally (body resource, (fun () ->
              if not <| isNull (box resource) then
                  resource.Dispose ()))
  
      // (unit -> bool) * M<'T> -> M<'T>
      member this.While (guard, body : IndexedStatefulChoiceFunc<_,_,_,_>)
          : IndexedStatefulChoiceFunc<'State, 'State, _, 'Error> =
          if guard () then
              this.Bind (body, (fun () -> this.While (guard, body)))
          else
  