> [about void] I would suggest you avoid it and let it wither into a deprecated state.
Basically nobody has been using it, but it *has* been used and I don't see why it should be deprecated.
Moreover, it's making a comeback with TypeScript, as some generics can be declared as void (a good way to express empty values) and then you *have* to use void instead of undefined.
Finally, minifiers transform undefined to void 0 because it's shorter. I wouldn't want to see my console filled with deprecation notices for something I didn't even use.
with has always been rarely used and now that we're moving to modules (which are always in strict mode) we'll stop using it altogether. Notable use in the past: template engines.
And yeah, labels are tricky. And confusing. And unexpected.
Except in svelte, where they're used to mark a statement as reactive.
Other than that, if you find yourself to use labels, there's probably a better way to do things.