anchor.diff:      let set = Set.remove minElement set
       minElement, set
   
  -/// Extracts the maximum element from a set, returning the element
  -/// along with the updated set.
  +/// <summary>Extracts the maximum element from a set, returning the element along with the updated set.</summary>
  +/// <param name="set"></param>
  +/// <returns></returns>
   [<CompiledName("ExtractMaximum")>]
   let extractMax (set : Set<'T>) : 'T * Set<'T> =
       // Preconditions
  
positive.code:             ||> Set.fold (fun state y ->
                  folder.Invoke (state, x, y)))
  
      /// Applies a function to each element in the Cartesian product of two sets,
      /// threading an accumulator argument through the computation.
      [<CompiledName("FoldBack")>]
      let foldBack (folder : 'T -> 'U -> 'State -> 'State) set1 set2 state : 'State =
          // Preconditions
  
negative.code: 
  /// <summary>
  /// Applies the given function to each element of the set.
  /// Returns the set comprised of the results <c>x</c> for each element where the function returns <c>Some(x)</c>.
  /// </summary>
  /// <param name="chooser"></param>
  /// <param name="set"></param>
  /// <returns></returns>
  [<CompiledName("Choose")>]
  let choose (chooser : 'T -> 'U option) (set : Set<'T>) : Set<'U> =
      // Preconditions
  