alskipp / Swift-Diagram-Playgrounds Swift 277 18 Drawing diagrams in Swift using a recursive enum data structure swift enum protocol playground