I would tolerate the ICANN TLD money-grabbing scheme, but the "new" TLDs are a little more than an indication of bad taste. I can't be the only one to dislike anything more than 3 characters in a TLD, like .cloud or .engineering.
No there just shouldn't be a thing as a "TLD". I should be able to register abc.ou8hurbaskjdbflubsaduf if I want to. Or just 8huasidvbsd with no domain. Only way to fight domain squatting and the stupidly overpriced domain hacks.
I think they're needed so your DNS resolver knows who to talk to. But I agree they're kind of useless from a user point of view.