UUIDs are acceptable for APIs, but I really like Stripe's 'hungarian notation' approach. It's obvious what 'cus_123abc' is (a customer!).
miniblog.
Related Posts
Stripe has released a static gradual type system for Ruby! https://sorbet.org/blog/2019/06/20/open-sourcing-sorbet
Perhaps the moral here is to worry about a building a great runtime, and only worry about the type system if your language gains traction?
"One of your test API keys has been filled into the examples, so you can test out any example right away." Stripe, I'm impressed.