unary, binary operators
function calls
if-then-else
statement block
while loops
assignment, function call
variable and function declaration
define function derive
add missing substitution