   }
 
   public func _bridgeToObjectiveC() -> NSDictionary {
-    return reinterpretCast(_bridgeToObjectiveCImpl())
+    return unsafeBitCast(_bridgeToObjectiveCImpl(), NSDictionary.self)
   }
 
   public static func _bridgeFromObjectiveC(d: NSDictionary) -> Dictionary {

    
    if _fastPath(_isBridgedVerbatimToObjectiveC(T.self)) {
      // Forced down-cast (possible deferred type-checking)
      return Array(_ArrayBuffer(reinterpretCast(source) as _CocoaArrayType))
    }

    var anyObjectArr: [AnyObject]
      = [AnyObject](_ArrayBuffer(reinterpretCast(source) as _CocoaArrayType))
    return _arrayBridgeFromObjectiveC(anyObjectArr)
  }


    // This method should not do anything extra except calling into the
    // implementation inside core.  (These two entry points should be
    // equivalent.)
    return unsafeBitCast(_bridgeToObjectiveCImpl(), NSString.self)
  }

  public static func _bridgeFromObjectiveC(x: NSString) -> String {
    return String(_cocoaString: unsafeBitCast(x, NSString.self))
  }
}

