When to use what
- when you need to inherit, use a class.
- when your type has utility methods, holds
properties (like a model object), etc. make it a
struct.
- Immutability should be preferred, thus prefer
structs and use a class only when it’s necessary.