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