So, protocols are essentially interfaces for structs?
Yes. Simple. There is code [interface implementations] and data [structs]. Elementary. Except that our industry went on a wild goose chase, declared that everything is an object and everything that isn't an object doesn't matter, then rallied around a programming language with poor support for data. 25 years of walking on one foot. Time to discover we have two feet and start running.
no safari no play... i bet they're fun to party with.