   mutating func subtractInPlace(other: Self)
 
   static func element(a: Element, subsumes b: Element) -> Bool  
+  static func element(a: Element, isDisjointWith b: Element) -> Bool
 }
 
 //===--- Tests ------------------------------------------------------------===//


/// `OptionSetType` requirements for which default implementations are
/// supplied when `RawValue` conforms to `BitwiseOperationsType`,
/// which is the usual case.
///
/// A type conforming to `OptionSetType` can implement any of these
/// initializers or methods, and those implementations will be used in
/// lieu of these defaults.
extension OptionSetType where RawValue : BitwiseOperationsType {
  /// Create an empty instance.
  ///

/// `OptionSetType` requirements for which default implementations
/// are supplied.
///
/// - Note: A type conforming to `OptionSetType` can implement any of
///  these initializers or methods, and those implementations will be
///  used in lieu of these defaults.
extension OptionSetType {
  /// Returns the set of elements contained in `self`, in `other`, or in
  /// both `self` and `other`.
