swift-protocols-and-generics-workshop Workshop for Swift protocols & generics Code Documentation Test report Github pages