Understanding protocol associated types and their constraints

Paul Hudson dives into Swift protocols and associated types. Paul explains why protocol associated types are so powerful, before showing us how best control their complexity using constraints.