TYPE
TYPE, /* i: waiting for type bits, including last-flag bit */
TYPE(History) *
#define TYPE(type) type
#define TYPE(type) type ## W
FUNW(history)(TYPE(History) *h, TYPE(HistEvent) *ev, int fun, ...)
TYPE(Tokenizer) *
FUN(tok,line)(TYPE(Tokenizer) *tok, const TYPE(LineInfo) *line,
#define TYPE(type) type
#define TYPE(type) type ## W
TYPE, /* get type bits (3, including end bit) */
#define TYPE(a) 0
#undef TYPE /*(a)*/
#define TYPE(a) (a)->ut_type