 extension Set: ExtensibleCollectionType {
 	/// In theory, reserve capacity for \c n elements. However, Dictionary does not implement reserveCapacity(), so we just silently ignore it.
 	public func reserveCapacity(n: IndexType.Distance) {}
-	
+
 	/// Inserts each element of \c sequence into the receiver.
 	public mutating func extend<S: SequenceType where S.Generator.Element == Element>(sequence: S) {
 		// Note that this should just be for each in sequence; this is working around a compiler crasher.

extension Set: Printable {
	public var description: String {
		if self.count == 0 { return "{}" }
		
		let joined = join(", ", map(toString))
		return "{ \(joined) }"
	}

	public func contains(element: Element) -> Bool {
		return values[element] != nil
	}

	public mutating func insert(element: Element) {
		values[element] = Unit()
	}

	public mutating func remove(element: Element) {
		values.removeValueForKey(element)
	}
