Many languages are expressions (as opposed to statements) including C-like languages. I've always thought that 'return' itself was redundant. If a compound statement was defined to return the value of the final (executed) statement, then functional methods would get much simpler. And remove the need for the '?' operator for instance.
I'm missing your point I guess. All those are equivalent?
In C an assignment has the value of the RHS, so that doesn't change anything in these examples.
e.g.
or