 	public func index(after i: Index) -> Index {
 		return i + 1
 	}
+
+	public func makeIterator() -> BagIterator<Element> {
+		return BagIterator(elements)
+	}
 }
 
 private struct BagElement<Value> {

		return "BagElement(\(value))"
	}
}


/// An unordered, non-unique collection of values of type `Element`.
public struct Bag<Element> {
	fileprivate var elements: ContiguousArray<BagElement<Element>> = []
	private var currentIdentifier: UInt = 0

	public init() {
