<> (foo ?x) (?x) <> (map ?x (list ?l)) (map/l map/x ?x ?l) <> (map/x ?x (?h ?t)) (?x ?h (map/x ?x ?t)) <> (map/x ?x (?h)) (map/r (?x ?h)) <> (?h (map/r ?t)) (?map/r (?h ?t)) <> (map/l map/r ?l) (list ?l) map foo (list (1 (2 (3 (4 (5))))))