let rec iter f = function | (And l|Or l) -> List.iter (iter f) l | Not x -> iter f x | Atom a -> f a | True|False -> ()