The change is mostly in embedding function calls in an inline expression. Functions offer abstracting in OO design. abtracting allows for more modular and re-usable code. Now it's possible to do so now. But there is more overhead and less type sage.
As an example and this is just an example.
x = Function.Call("foo",object. y) == z ? Function.Call("loo", object.y) : Function.Call("boo", object.y)
where as in other languages
x = foo(object.y) == z ? loo(object.y) : boo(object.y)
I also now get the benefit on the auto correct spelling. The below sample has a spelling mistake.
x = Function.Call("foo", object.y) == z ? Function.Call("Ioo", object.y) : Function.Call("boo", object.y)
So it doesn't add functionality. It just makes programming easier and more convient. That's why I've never made large post specifically for this. I've just added it to the "What you want from c2" threads.
Also if Functions were a primitive or even based on Group. Then it would be easier for C2 CAPX work as a modular CAPX. Where as if Ashley ever designs modular self contained util capx. Then Ashley needs to add another Function comparible capability which is then just re-inventing the wheel.