Swift has rich value types, which is a new experience for many software developers. This has opened the door for the functionalists to ride in. What I call "functionalism" is really the philosophy of [functional programming](https://en.wikipedia.org/wiki/Functional_programming), which is in fact a very old idea. The idea is that a lot of bugs in programming today are due to having the wrong *state
![Should I use a Swift struct or a class? · faq.sa](https://cdn-ak-scissors.b.st-hatena.com/image/square/a6d2fa316ec10b8a3dad393e0a3d38c3ac5bd903/height=288;version=1;width=512/http%3A%2F%2Ffaq.sealedabstract.com%2Fstructs_or_classes%2FRage_table_flip.png)