generate type structs for node