   BenchmarkInfo(name: "ReplaceSubrangeWithSmallLiteralString", runFunction: run_ReplaceSubrangeWithSmallLiteralString, tags: [.validation, .api]),
   BenchmarkInfo(name: "ReplaceSubrangeWithLargeLiteralString", runFunction: run_ReplaceSubrangeWithLargeLiteralString, tags: [.validation, .api]),
   BenchmarkInfo(name: "ReplaceSubrangeWithLargeManagedString", runFunction: run_ReplaceSubrangeWithLargeManagedString, tags: [.validation, .api], setUpFunction: setupLargeManagedString),
+  BenchmarkInfo(name: "ReplaceSubrangeWithSmallLiteralSubstring", runFunction: run_ReplaceSubrangeWithSmallLiteralSubstring, tags: [.validation, .api]),
+  BenchmarkInfo(name: "ReplaceSubrangeWithLargeLiteralSubstring", runFunction: run_ReplaceSubrangeWithLargeLiteralSubstring, tags: [.validation, .api]),
+  BenchmarkInfo(name: "ReplaceSubrangeWithLargeManagedSubstring", runFunction: run_ReplaceSubrangeWithLargeManagedSubstring, tags: [.validation, .api], setUpFunction: setupLargeManagedSubstring),
 ]
+
+// MARK: - Privates for String
 
 private func smallLiteralString() -> String {
     return getString("coffee")

    return str
}()


@inline(never)
public func run_ReplaceSubrangeWithSmallLiteralString(N: Int) {

    }
}

@inline(never)
public func run_ReplaceSubrangeWithSmallLiteralSubstring(N: Int) {

    for _ in 0 ..< N {
        var string = smallLiteralSubstring()

        for _ in 0 ..< 10000 {
            let range = string.startIndex..<string.index(after: string.startIndex)
            let replacingString = "t"
            string.replaceSubrange(range, with: replacingString)
        }
    }
}

@inline(never)
public func run_ReplaceSubrangeWithLargeLiteralSubstring(N: Int) {

    for _ in 0 ..< N {
        var string = largeLiteralSubstring()

        for _ in 0 ..< 10000 {
            let range = string.startIndex..<string.index(after: string.startIndex)
            let replacingString = "t"
            string.replaceSubrange(range, with: replacingString)
        }
    }
}

@inline(never)
public func run_ReplaceSubrangeWithLargeManagedSubstring(N: Int) {

    for _ in 0 ..< N {
        var string = largeManagedSubstring

        for _ in 0 ..< 10000 {
            let range = string.startIndex..<string.index(after: string.startIndex)
            let replacingString = "t"
            string.replaceSubrange(range, with: replacingString)
        }
    }
}
