A bit crazy, but what if arrays couldn't be empy?!!! Great thinking by @khanlou on the weird tri-state of arrays and other Swift types that could now be both optional and empty. I like the idea of a self-imposed rule to not have optional arrays or dictionaries if possible:

"The easiest way to get around this is to remember to never store optional arrays as properties. I’m pretty strict about this rule, making sure I don’t mix different types of emptiness. I also apply it other other types that can be “empty” as well — dictionaries, strings, booleans, sets, and sometimes numbers. Having to check two forms of emptiness is something I never want to do."