Typedefs in C are just aliases, so given `typedef int foo;` one can freely use `int`s and `foo`s interchangeably, i.e. no checking by the compiler.
That said, one could use actual wrapper structs around the various types.
That said, one could use actual wrapper structs around the various types.