> If you need to protect values in your class from malicious actors, you should use mechanisms that offer hard runtime privacy, such as closures, WeakMaps, or private fields.

I mean yeah, but doesn't that expose the public/protected/private propaganda as shallow? I know that there are other reasons to use public/private (like building a more parseable and granular #API), but the main thing there is still the subliminal desire to protect the precious secrets of the object. Which never happens with public/private, actually. We've been lied to. Like with many other things about #TypeScript.

So #TypeScript has:
- Types
- Interfaces
- Regular classes
- Anonymous classes
- Abstract classes
- Probably something else I'm not aware of yet

Why have all these, especially given that most of them are the same thing but with different restrictions? You can just do classes well enough and ditch most of it. #CommonLisp has classes that can easily dub as interfaces or abstract classes, why not just steal the idea and cut the amount of terms to learn and differentiate in, like, three times?