TLDs were a mistake. We should just get rid of them and have the person's domain at the top level. E.g. instead of news.ycombinator.com have just news.ycombinator

What if there are two people named John Smith? Or two restaurants called Main Street Diner? Or two towns named Springfield?

Same situation when two people named John Smith want the same john-smith.com domain now. You may argue that in the current situation, if they are from different countries like US and Canada, they would obtain john-smith.us and john-smith.ca respectively. But in the proposed situation, they can also get john-smith-us and john-smith-ca

But who gets john-smith?