For purposes of type checking I would like to define a function on the lines of
void myfunc(type1 a, type2 b) { ... }
where type1
type1
I think you can wrap your types using struct and then pass pointer to these structs.