anchor.diff:  
   
   /// Functions operating over the Cartesian product of two sets.
  -/// These functions can offer a large memory savings since they avoid
  -/// creating the product set.
  +/// These functions can offer a large memory savings since they avoid creating the product set.
   [<RequireQualifiedAccess>]
   module Cartesian =
  -    //
  +    /// Applies a function to each element in the Cartesian product of two sets,
  +    /// threading an accumulator argument through the computation.
       [<CompiledName("Fold")>]
       let fold (folder : 'State -> 'T -> 'U -> 'State) state set1 set2 : 'State =
           // Preconditions
  
positive.code:         idx <- idx + 1
      state
  
  //
  [<CompiledName("MapToArray")>]
  let mapToArray (mapping : 'T -> 'U) (set : Set<'T>) : 'U[] =
      // Preconditions
  
negative.code:             | Some result ->
                  Set.add result chosen)
  
  /// Applies the given function to each element of the set, returning the first result
  /// where the function returns <c>Some(x)</c>. If the function never returns <c>Some(x)</c>
  /// then None is returned.
  [<CompiledName("TryPick")>]
  let tryPick (picker : 'T -> 'U option) (set : Set<'T>) : 'U option =
      // Preconditions
  