type check use of functions in statements/expressions
semantic error on calling a void function in an expression context
semantic error on calling a non-void function in a statement context