Don’t understand why people hate them so much. They work fine for me, the go team, and many others. If you want an enum scope you can use the sub package trick. Not ideal but I don’t even need that. Iota is cool because it basically repeats any pattern, including bit flags. My biggest beef with them is the ability to assign any literal value to these custom types, but I can handle it. Plus you can wrap in a struct if you care that much. It’s just not a big deal.
Imagine starting project in PHP in 2024