 	}
 
 
+	// MARK: Printable
+
+	public var description: String {
+		if self.count == 0 { return "{}" }
+
+		let joined = join(", ", map(toString))
+		return "{ \(joined) }"
+	}
+
+
 	// MARK: Private
 
 	/// The underlying dictionary.

//  Copyright (c) 2014 Rob Rix. All rights reserved.

/// A set of unique elements.
public struct Set<Element: Hashable>: ArrayLiteralConvertible, CollectionType, ExtensibleCollectionType, SequenceType {
	// MARK: Constructors

	/// Constructs a `Set` with the elements of `sequence`.

/// Defines equality for sets of equatable elements.
public func == <Element: Hashable> (a: Set<Element>, b: Set<Element>) -> Bool {
	return a.values == b.values
}


