 func _convertNSArrayToArray<T>(source: NSArray) -> T[] {
   if _fastPath(isBridgedVerbatimToObjectiveC(T.self)) {
     // Forced down-cast (possible deferred type-checking)
-    return Array(ArrayBuffer(reinterpretCast(source) as CocoaArray))
+    return Array(ArrayBuffer(reinterpretCast(source) as _CocoaArray))
   }
   else {
     let result = T[]._bridgeFromObjectiveCImpl(source)

  }

  func bridgeToObjectiveC() -> NSArray {
    return reinterpretCast(self.buffer.asCocoaArray())
  }

  static func bridgeFromObjectiveC(source: NSArray) -> Array? {

  /// mutable, any changes to it may be observable by the result.
  @final
  var _arraySharingStorage: AnyObject[] {
    return Array(ArrayBuffer(reinterpretCast(self) as _CocoaArray))
  }

  @final
