Interesting. I can see the benefits of making use protocols instead of inheritance. Totally agree that inheritance is not a quite modern pattern in today lean approach, as things always change.
However would doubt to use struct instead of class. Sometimes we would still like to keep modify and referencing the same object in different places. Anyway will try to adopt it and get a feel about it.
Thanks for the sharing. Keep writing, that’s good.