   /// - Requires: This buffer is backed by a uniquely-referenced
   ///   `_ContiguousArrayBuffer` and
   ///   `insertCount <= numericCast(newValues.count)`.
-  public
-  mutating func replace<C: CollectionType where C.Generator.Element == T>(
+  public mutating func replace<
+    C : CollectionType where C.Generator.Element == Element
+  >(
     subRange subRange: Range<Int>,
     with insertCount: Int,
     elementsOf newValues: C

    return isUniquelyReferencedOrPinnedNonObjC(&owner)
  }

  func getElement(i: Int, hoistedIsNativeNoTypeCheckBuffer: Bool) -> T {
    _sanityCheck(i >= startIndex, "negative slice index is out of range")
    _sanityCheck(i < endIndex, "slice index out of range")
    return subscriptBaseAddress[i]


  public
  func _uninitializedCopy(
    subRange: Range<Int>, target: UnsafeMutablePointer<Element>
  ) -> UnsafeMutablePointer<Element> {
    _invariantCheck()
    _sanityCheck(subRange.startIndex >= startIndex)
    _sanityCheck(subRange.endIndex >= subRange.startIndex)
