<div dir="ltr">Currently protocols with associated types could not be used as types. One could use type-erased wrappers (e.g. AnyGenerator, AnyRandomAccessCollection etc.) but writing these produce a lot of boilerplate code. I think it would be convenient to use something like this:<div><br></div><div>class MyClass {</div><div>    typealias IntCollection = CollectionType where CollectionType.Generator.Element == Int</div><div><br></div><div>    var collection: IntCollection</div><div>}</div></div>