anchor.diff:      ||> Vector.fold (fun map (k, v) ->
           Map.add k v map)
   
  -/// Builds a vector that contains the elements of the map in order.
  +/// <summary>Builds a vector that contains the elements of the map in order.</summary>
  +/// <param name="map"></param>
  +/// <returns></returns>
   [<CompiledName("ToVector")>]
   let toVector (map : Map<'Key, 'T>) : vector<'Key * 'T> =
       // 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:         ||> Map.fold (fun combinedMap key value ->
              Map.add key value combinedMap)
  
  /// <summary>
  /// Combines two maps into a single map. Whenever a key exists in both maps, the specified function is used to determine the
  /// value to be used for that key in the combined map.
  /// </summary>
  /// <param name="joiner"></param>
  /// <param name="map1"></param>
  /// <param name="map2"></param>
  /// <returns></returns>
  [<CompiledName("Join")>]
  let join (joiner : 'Key -> 'T -> 'T -> 'T) (map1 : Map<'Key, 'T>) (map2 : Map<'Key, 'T>) : Map<'Key, 'T> =
      // Preconditions
  