In
my first post on Swift
I expressed mild bewilderment at Apple's decision to make protocols
generic not by giving them generic type arguments, like C# does, but
via what they call "associated types". To reiterate the example, the
Sequence
protocol in Swift is defined as
protocol Sequence {
typealias GeneratorType : Generator
func generate() -> GeneratorType