var_walk1
#define alias_walk(f, a) var_walk1(alias_head, f, a)
if (var_walk1(r->r_left, func, a) < 0 || (*func)(a, r) < 0
|| var_walk1(r->r_right, func, a) < 0)
int var_walk1(struct var *, int (*func)(void *, struct var *),
#define var_walk(f, a) var_walk1(var_head, f, a)