There's a comment in pass1.c that C doesn't allow initialisation of an entire struct to 0 in the way that Imp does, and the code handles that with memset. In fact C *does* support zeroing an entire struct (maybe this is just in later standards?) which you can do by: MyStruct s = {0}; // All members initialized to 0/NULL This is even *supposed to* set pointer values to NULL correctly even if NULL isn't represented as 0 on the target machine. Actully this sounds vaguely famiiar, maybe I've noticed this previously and already added it to imptoc? I need to check, when I get that project going again. (GT, 20260126)