Either modelling complex parse trees is painful in C, or I have much to learn about building complex structs in C.