I suggest the following (minor(?)) extension of typealias capabilities:
typealias ExampleAlias = CollectionType where Generator.Element : Equatable, Index : SignedIntegerType
Rationale:
- Lengthy constraints in generic functions:
func foo<T: CollectionType where T.Generator.Element : Equatable, T.Index : SignedIntegerType>(a a: T, b: T)