anchor.diff:  
       vector.UnsafeCreate <| Set.toArray set
   
  -/// Applies a function to each element of the set, in decreasing element order.
  +/// <summary>Applies a function to each element of the set, in decreasing element order.</summary>
  +/// <param name="action"></param>
  +/// <param name="set"></param>
  +/// <returns></returns>
   [<CompiledName("IterBack")>]
   let iterBack (action : 'T -> unit) (set : Set<'T>) : unit =
       // 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:         Set.intersect set1 set2
          |> Set.difference (Set.union set1 set2)
  
  /// <summary>The Cartesian product of two sets.</summary>
  /// <param name="set1"></param>
  /// <param name="set2"></param>
  /// <returns></returns>
  [<CompiledName("Cartesian")>]
  let cartesian (set1 : Set<'T>) (set2 : Set<'U>) : Set<'T * 'U> =
      // Preconditions
  