let rec iter f = function | RowCons (_, hd, tl) -> f hd; f tl | RowUniform content -> f content | App (l, r) -> f l; f r | Var v -> f v