(VAR f x xs) (RULES app(app(map, f), nil) -> nil app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs)) app(app(treemap, f), app(app(node, x), xs)) -> app(app(node, app(f, x)), app(app(map, app(treemap, f)), xs)) )