Strings do too many things →
This is not really Hillel’s point, but my main gripe with the “static types will save us“ philosophy of some is that there are so many things being represented as just strings, but which have de facto constraints that the type system can’t represent, meaning you either have to rely on runtime validation (which means you haven’t turned them into compile-time errors) or just expect people to adhere to the constraints.