Hungarian notation definitely has its uses. I find writing effectful! predicate? or $selector very helpful for reading code.
"Windows kernel coding typically uses Hungarian notation for type names, but not for variable names." Crikey, new one on me.
UUIDs are acceptable for APIs, but I really like Stripe's 'hungarian notation' approach. It's obvious what 'cus_123abc' is (a customer!).