allow functions to return void or arrays
type inference for printf and inline macros