Going back to the purpose of a programming language. I don't have a definition, but if asked I would say a language which translates intentions described by a human into instruction understood by a computer. Humans tend to ascribe particular meanings to particular words - in English 'if' 'when' 'do' 'then' 'next' all have meanings generally agreed on by people who speak the language. What is the problem reserving those words in a computer language to function somewhat like they do in the English language. I see no reason to allow a programmer to bend that.
What should be considered is what are common human intentions that need to be translated to computer speak. And since this discussion is about microcontrollers, one might add the condition "efficiently". There are plenty of languages that can create bloat, and for many application/processor combinations bloat can be tolerated. I was reading recently that micropython "is compact enough to fit and run within just 256k of code space and 16k of RAM". The BASIC in C64 et al was 8k of code for comparison, yet provided a reasonable subset of micropython capability. Much of the increase is not due to the language itself, but the inbuilt support libraries.
This is why I support the idea of adding computed goto, bit fields, packed decimal etc to the language. They are readily understood human constructs that need translating, their inclusion should enhance the chance that the compiler can generate more efficient code. After all, a computed goto in most languages could be written if 1 goto A1 else if 2 goto B1 else if 3 ... - so there is no need for a specific computed goto construct, but it makes writing and reading easier.
But I think this discussion is likely to lead nowhere because millions of man hours and countless numbers of academics have pored over this problem for decades. What chance this discussion will have some breakthrough that wasn't considered before? I vote for 'fat' - but it would be nice to be wrong.
There are already languages designed for different purposes. I prefer assembler because I have plenty of time on my hands and I can churn out 20 or 30 lines an hour with a high chance it will work. Much of this is down to preparation - flow charts, modelling in another language (you maybe aghast to know my preferred is visual basic script), writing code that gets bashed rather than have dags that rarely if ever get called - e.g. lookup table rather than case statement. And documentation. Looking back at 10 lines of code I wrote weeks ago I can go WTF but then read the 3 or four lines of explanation and go oh, yeah - that's what it does.
Anyhow, just trying to derail this discussion about syntax and point back to why we have programming languages. I think that has been pushed down by trivialities.