The perils of type erasure in Swift – and how to avoid it completely

Ahh Swift protocols and generics. When I first started learning about them, my organizational impulses went wild. All the possibilities for meticulously crafted hierarchies ... it was an OCD dreamworld.

This is a companion discussion topic for the original entry at