I really don't know how else to say that we have acknowledged this need and will work on it.
There was one suggestion of that - and I'll push back against those requests from the start. Given how JSONata is used throughout core nodes, it would be completely inappropriate to do - for all of the reasons you've outlined.
At this point, I just don't really know what else to say. I believe the core nodes do have a pretty well defined purpose. Features will get added to them within their scope. There will always need to be a judgement call in terms of what is 'in scope' or not - trying to tightly define that for each node doesn't feel productive to me. For example, adding different types of rules to the Switch node; its still a node whose purpose is to route messages based on some condition.
But the Function node will always be a bit of an edge case. By its nature, its where code gets written (we are, after all, low code not no code).
I think this topic has run its course and there's not much else I can add. I do appreciate the debate. I do appreciate being challenged the decisions we make as a project. I don't claim to get it right 100% of the time; I just try to keep things moving in a positive direction.