C translation for function definitions.
Note about how the C translation for functions might actually get weird.
Moved functions / data types into syntax.