let exp_sexp_fold ~var ~s ~int ~plus =
  let rec fold = function
    | Var x -> var x
    | S z -> s (sexp_fold ~int ~plus ~f:fold z) in
  fold;;