Swift Generic Protocol
There is no such thing as generics for protocols. But there is something else, which ressembles a lot to the generics when you look at it.
Here is an example taken from the Swift standard library:
protocol Generator {
typealias Element
func next() -> Element?
}
The Swift book scratches the surface in the Generics chapter, Associated Types.