>>3
Oh ok, we want to exacerbate C's inherent flaws, such as by mixing things up.
I like your idea of using pointers to structs in place of more "atomic" (so to speak) datatypes and vice-versa. I would reduce the struct two just two fields: the "first thing" in it, and a pointer to another struct for "the rest", that way you pile up the opportunities to cast pointers to structs into integers and such. We could obviate type signatures altogether so that a function can get either without warning.