Adding control semantics via library extensions seems to be a thing now. It has a bad history, though, from the extensible languages of the 1970s, when people first discovered that you could do fancy things with macros. That didn't end well.
You don't need many control constructs, and the list is pretty well known, so you may as well design them into the language.