Call expression is only useful if you have enough parameter that the classic call function cannot keep up with them (I know at a high number of parameters, the window just cannot go larger, even though in most cases it is just not needed).
When you set a return value, it will basically be the value used when you are using Function.Call in an expression, for exemple, lets imagine..
Global variable Number = 3
On function "double", return value: 2*function.param(0)
On start of layout:
Set Number to Function.Call("double", Number)
Number will be equal to 6 after the layout starts once.