So basically we want to do something like this in both of the if clauses? t = fold (build ....); if (have_save_expr) t = save_expr (t) return t yes. Jim