anchor.diff:      // seq<'T> * ('T -> M<'U>) -> M<'U>
       // or
       // seq<'T> * ('T -> M<'U>) -> seq<M<'U>>
  -    member this.For (sequence : seq<_>, body : 'T -> ProtectedStateFuncClamped<_,_,_>)
  -        : ProtectedStateFuncClamped<'State, unit, 'Error> =
  +    member this.For (sequence : seq<_>, body : 'T -> ProtectedStateFunc<_,_,_>)
  +        : ProtectedStateFunc<'State, unit, 'Error> =
           this.Using (sequence.GetEnumerator (), fun enum ->
               this.While (
                   enum.MoveNext,
  
positive.code: [<RequireQualifiedAccess; CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
  module State =
      //
      let inline run (stateFunc : StateFunc<'S1, 'S2, 'T>) initialState =
          stateFunc initialState
      
      //
      let evaluate (stateFunc : StateFunc<'S1, 'S2, 'T>) initialState =
          // "Run" the state function, starting with the initial state.
          // Discard the final state value and return the final result value.
          fst <| stateFunc initialState
  
      //
      let execute (stateFunc : StateFunc<'S1, 'S2, 'T>) initialState =
          // "Run" the state function, starting with the initial state.
          // Discard the final result value and return the final state value.
          snd <| stateFunc initialState
  
negative.code: /// <typeparam name="S2"></typeparam>
  /// <typeparam name="T"></typeparam>
  /// <typeparam name="Error"></typeparam>
  type ProtectedStateFuncIndexed<'S1, 'S2, 'T, 'Error> =
      'S1 -> Choice<'T * 'S2, 'Error>
  
  /// <summary>
  /// Synonym for ProtectedStateFuncIndexed where the initial and final state are "clamped" to the
  /// same type. In other words, the function does not change the type of the state value.
  /// </summary>
  /// <typeparam name="State"></typeparam>
  /// <typeparam name="T"></typeparam>
  /// <typeparam name="Error"></typeparam>
  type ProtectedStateFunc<'State, 'T, 'Error> =
      ProtectedStateFuncIndexed<'State, 'State, 'T, 'Error>
  
  /// <summary>
  /// </summary>
  