 	}
 
 
-	public func filtered(includeElement: (T) -> Bool) -> OrderedSet<T> {
+	@warn_unused_result
+	public func filterAsOrderedSet(@noescape includeElement: (T) -> Bool) -> OrderedSet<T> {
 		var filteredElements = OrderedSet<T>()
 		for element in orderedElements {
 			if includeElement(element) {



	public func intersected(set: OrderedSet<T>) -> OrderedSet<T> {
		return filtered { set.contains($0) }
	}



	}


	@warn_unused_result
	public func mapAsOrderedSet<U: Hashable>(@noescape transform: (T) -> U) -> OrderedSet<U> {
		var newSet = OrderedSet<U>(minimumCapacity: count)
		for element in orderedElements {
			newSet.add(transform(element))
