Specializing Protocols in Swift

John Sundell shows us how we can use protocols to create multiple levels of abstraction, allowing us to start out with a more general protocol that we can then specialize.