parse+generate structs with named members