No need for if let
here
class NotEverythingIsNonNilUntilAllThingsAreLoaded {
var thing: SomeThing?
func someFunctionThatIsCalledWhenSomethingIsNeeded() -> SomeThing {
let thing = SomeThing()
thing.cat = 100 // no need for force unwrap
self.thing = thing
return thing
}
}
Not disagreeing with the other things you wrote, just this one example seems like it can be solved.