sig
type exp =
Val of int
| Plus of Arithmetic.exp * Arithmetic.exp
| Times of Arithmetic.exp * Arithmetic.exp
val exp_fold :
(int -> 'a) ->
('a -> 'a -> 'a) -> ('a -> 'a -> 'a) -> Arithmetic.exp -> 'a
val eval : Arithmetic.exp -> int
val to_string : Arithmetic.exp -> string
end