API naming of String.replaceSubrange(:with:)

A question about API naming conventions in the current Swift 4 stdlib.

Shouldn’t String’s replaceSubrange(:with:) be replace(subrange:with:), in accordance with e.g. type(of:) instead of typeOf(:)?

What am I missing?

of and subrange serve different grammatical purposes and so the name rules apply slightly differently. It’s correct as it is.