anchor.diff:      let mutable state = state
       let mutable idx = 0
       for el in set do
  -        state <- folder.Invoke (idx, state, el)
  +        state <- folder.Invoke (state, idx, el)
           idx <- idx + 1
       state
   
   //
   [<CompiledName("MapToArray")>]
  -let mapToArray (mapping : 'T -> 'U) (set : Set<'T>) =
  +let mapToArray (mapping : 'T -> 'U) (set : Set<'T>) : 'U[] =
       // Preconditions
       checkNonNull "set" set
   
  
positive.code:     let set = Set.remove minElement set
      minElement, set
  
  //
  [<CompiledName("ExtractMaximum")>]
  let extractMax (set : Set<'T>) =
      // Preconditions
      checkNonNull "set" set
      if Set.isEmpty set then
  
negative.code:             result <- Set.add (initializer i) result
          result
  
  /// Extracts the minimum element from a set, returning the element
  /// along with the updated set.
  [<CompiledName("TryExtractMin")>]
  let tryExtractMin (set : Set<'T>) : 'T option * Set<'T> =
      // Preconditions
      checkNonNull "set" set
  
      if Set.isEmpty set then
          None, set
      else
          let minElement = Set.minElement set
          let set = Set.remove minElement set
          Some minElement, set
  
  /// Extracts the maximum element from a set, returning the element
  /// along with the updated set.
  [<CompiledName("TryExtractMax")>]
  let tryExtractMax (set : Set<'T>) : 'T option * Set<'T> =
      // Preconditions
      checkNonNull "set" set
  
      if Set.isEmpty set then
          None, set
      else
          let maxElement = Set.maxElement set
          let set = Set.remove maxElement set
          Some maxElement, set
  
  /// Extracts the minimum element from a set, returning the element
  /// along with the updated set.
  [<CompiledName("ExtractMinimum")>]
  let extractMin (set : Set<'T>) : 'T * Set<'T> =
      // Preconditions
      checkNonNull "set" set
      if Set.isEmpty set then
  