anchor.diff:              // Add the joined value to the map.
               Map.add key joinedValue joined)
   
  -/// Creates a new Map by inverting the given Map. The keys are the values of the original
  -/// Map; the value associated with each key (original value) is the greatest-valued original
  -/// key associated with the original value.
  +/// <summary>
  +/// Creates a new Map by inverting the given Map. The keys are the values of the original Map; the value associated with each key
  +/// (original value) is the greatest-valued original key associated with the original value.
  +/// </summary>
  +/// <param name="map"></param>
  +/// <returns></returns>
   [<CompiledName("Inverse")>]
   let inverse (map : Map<'Key, 'T>) : Map<'T, 'Key> =
       // Preconditions
  
positive.code:         ||> Set.fold (fun map key ->
              Map.add key (mapping key) map)
  
  /// Creates a new map from a set of values by applying a mapping function to each
  /// value to extract a key from it. If the key-mapping function returns the same
  /// key for two or more values, the returned map will only contain a binding for
  /// the greatest of those values.
  [<CompiledName("FromValues")>]
  let ofValues (mapping : 'T -> 'Key) (set : Set<'T>) : Map<'Key, 'T> =
      // Preconditions
  
negative.code:             // Add/update the pivot map entry for this value.
              Map.add value keySet pivotMap)
  
  /// <summary>Combines Map.ofKeys and Map.pivot to avoid creating intermediate data structures.</summary>
  /// <param name="mapping"></param>
  /// <param name="set"></param>
  /// <returns></returns>
  [<CompiledName("PivotWith")>]
  let pivotWith (mapping : 'Key -> 'T) (set : Set<'Key>) : Map<'T, Set<'Key>> =
      // Preconditions
  