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

  }

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

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

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))
  }
  else {
    let result = T[]._bridgeFromObjectiveCImpl(source)
