Using generic type constraints in Swift 4

John Sundell shows us how to get the most out of generic type constraints. He presents code examples, together with explanations, of some common techniques and patterns that are made possible due to type constraints.