let vars e =
  exp_fold
    ~var:(fun x -> [x])
    ~s:(fun l -> l)
    ~int:(fun n -> [])
    ~plus:( @ )
    e;;