list_length(r;c) [data_list(c,cdata)] { local t; if (c == NULL) { } else { t = c->tl; r = r + 1; list_length(r;t); } } [data_list(c,cdata) * (r == old(r) + ``LENGTH (cdata:num list)``)]