 ///
 /// The cast can fail if bridging fails.  The actual checks and bridging can be
 /// deferred.
-public func _convertSetToNSSet<T>(s: Set<T>) -> NSSet {
+public func _convertSetToNSSet<T>(s: _Set<T>) -> NSSet {
   return s._bridgeToObjectiveC()
 }
 

    result = builder.take()
  }

  public static func _conditionallyBridgeFromObjectiveC(x: NSSet, inout result: Set?) -> Bool {
    let anySet = x as Set<NSObject>
    if _isBridgedVerbatimToObjectiveC(T.self) {
      result = Swift._setDownCastConditional(anySet)
      return result != nil

///
/// The cast can fail if bridging fails.  The actual checks and bridging can be
/// deferred.
public func _convertNSSetToSet<T: Hashable>(s: NSSet) -> _Set<T> {
  var result: _Set<T>?
  _Set._forceBridgeFromObjectiveC(s, result: &result)
  return result!
}

// Set<T> is conditionally bridged to NSSet
extension _Set : _ObjectiveCBridgeable {
  public static func _getObjectiveCType() -> Any.Type {
    return NSSet.self
  }
