static Web web_labelsToUpperCase(Web web) { for (WebNode node : web.nodes) web_labelsToUpperCase_noindex(node); web_reindex(web); ret web; } static void web_labelsToUpperCase_noindex(WebNode node) { node.labels = map(f web_labelsToUpperCase_x, node.labels); } static void web_labelsToUpperCase(WebNode node) { web_deindex(node); web_labelsToUpperCase_noindex(node); web_index(node); } static Lisp web_labelsToUpperCase_x(Lisp l) { ret nempty(l.args) ? l : lisp(toUpperCase(l.head)); }