define_type
define_type (level + 1, n, newbasename, &i, FALSE, FALSE);
define_type (level + 1, n, newbasename, &i, FALSE, FALSE);
define_type (level + 1, n, newbasename, &i, FALSE, FALSE);
define_type (level + 1, n, newbasename, m->type, FALSE, FALSE);
define_type (level + 1, m->gen_name, newbasename, m->type, FALSE, FALSE);
define_type (level + 1, "len", newbasename, &i, FALSE, FALSE);
define_type (level + 1, "*val", newbasename, t->subtype, FALSE, FALSE);
define_type (level, name, basename, t->subtype, typedefp, preservep);
define_type (level + 2, n, newbasename, m->type, FALSE, FALSE);
define_type (level + 2, m->gen_name, newbasename, m->type, FALSE, FALSE);
define_type (0, s->gen_name, s->gen_name, s->type, TRUE, preservep);