Since all the languages we're talking about here are Turing-complete, if you don't consider line count or code complexity, then they are all equally "expressive".
So almost by definition we have to look at what is syntactically well-supported, not just "supported at all."
And part of that can be proxied by "I want to do xyz, how many lines of code is that going to take?"
And part of that means that "ceremonious" code isn't excluded, even if a competent IDE can provide it. If um my um comment um includes um a um bunch um of um junk, it doesn't matter if a quick find-and-replace would fix it, it's still annoying cruft that shouldn't be there.