Swift 5 Protocol Oriented Programming-- Fourth Edition, Paperback/Jon Hoffman