enforce the number of parameters in a function call
split rules
explicitly check for function
make function names unique to allow same names in different contexts
in a function call, expression list can be empty
contexts example
report empty functions
version 0.3