let accumulate s f x e = 
  assert(Term.is_var x);
  let (y, _) = find s x in
    Pre.fold f (inv s y) (f y e)