val reduce : Types.t_exp -> int -> (int, Types.error) result