 
 // Dictionary<KeyType, ValueType> is conditionally bridged to NSDictionary
 extension Dictionary : _ConditionallyBridgedToObjectiveC {
-  typealias ObjectiveCType = NSDictionary
-
   static func isBridgedToObjectiveC() -> Bool {
     return KeyType.self is NSObject.Type &&
            Swift.isBridgedVerbatimToObjectiveC(ValueType.self)
   }
 
+  static func getObjectiveCType() -> Any.Type {
+    return NSDictionary.self
+  }
+
   func bridgeToObjectiveC() -> NSDictionary {
     return _convertDictionaryToNSDictionary(self)
+  }
+
+  static func bridgeFromObjectiveC(x: NSDictionary) -> Dictionary {
+    fatal("implement")
   }
 }
 

    return NSNumber(double: self)
  }

  func bridgeToObjectiveC() -> NSNumber {
    return self
  }
}


}

extension Array : _ConditionallyBridgedToObjectiveC {
  static func isBridgedToObjectiveC() -> Bool {
    return Swift.isBridgedToObjectiveC(T.self)
  }

  static func getObjectiveCType() -> Any.Type {
    return NSArray.self
  }

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

  static func bridgeFromObjectiveC(x: NSArray) -> Array<T> {
    fatal("implement")
  }

  @conversion func __conversion() -> NSArray {
