Calling functions doesn't require parenthesis.
Declaring functions without a type; If/while doesn't need parenthesis.
Don't cast values returned by a function.
Predefined functions (like 'out') are in their own predef.{c,h} file.

Also, remove some leftovers from types.