I have to agree with WhiteClaws in regards to the volatility of Functions. In relation when a variable is created; C2 makes it impossible to type in the var expression wrong.
eg
variable number called count
in a typed expression: cout becomes wrong and the expression will fail as C2 checks to see if a variable cout exists. So C2 informs us when cout is invalid and won't close the window until corrected.
eg
variable text CONST GLOBAL GAMEMODE
On Event > Compare variable... I have a drop down menu of variables
So WhiteClaws and I would like the same type safe feature that variables get, but for On Function calls.
Action> Call Function > Dropdown list of any Function that is registered with OnFunction() Event
Typed Expression: Function.Call("[function foo]")
where foo becomes typed safe similar to a variable(unless of course stored in a Text)
OnFunction: change other references
Similar to variables, when the OnFunction Event function name is changed. C2 can proceed to correct any other references to the function call string.
The only exception to the this typesafe function system would be this kind of situation
Object.TextFoo = FunctionName
exception
Function.Call(Object.TextFoo)
this is the only case where C2 type safe would not apply. As the Function stored as a String is not accessible for type safe.