I still don't know why ICANN gets to tell people what they can or cannot have as their TLD name. It's just a string, it doesn't cost anything more to compare on the DNS server if it's custom or standard.
There's still a need to limit the TLDs. In small increments it doesn't matter if we add another one. But fully opening the floodgates? I don't think the root server operators would be happy about the load.
I don't know if every ICANN restriction can be justified from first principles, but there definitely has to be some strategy to ensure nobody sets up a .(U+0585)rg TLD.