* boolean|string|float|int|array<boolean>|array<int>|array<float>|array<Date>
* or function(parameter list)
* scope: if empty, then available in global scope only. Otherwise,
* boolean|string|float|int|array<boolean>|array<int>|array<float>|array<Date>
* or function(parameter list)
* scope: if empty, then available in global scope only. Otherwise,