Pitch 01
Explain value vs reference types
In Swift the big distinction is value types versus reference types. Structs and enums are value types — when you assign or pass them, you get a copy, so there's no shared mutable state to worry about. Classes are reference types: every reference points at the same instance, and they're managed by automatic reference counting.
My default is a struct, especially for models and SwiftUI views, because value semantics make code easier to reason about. I reach for a class when I genuinely need shared identity or reference behavior — for example an observable model object. And the cost of copying is usually a non-issue because Swift's collections use copy-on-write: they only actually copy when you mutate a second reference.