+ | Expr_ge of whenexpr * whenexpr (** >= *)
+ | Expr_gt of whenexpr * whenexpr (** > *)
+ | Expr_not of whenexpr (** boolean not *)
+ | Expr_add of whenexpr * whenexpr (** arithmetic addition or string cat *)
+ | Expr_sub of whenexpr * whenexpr (** arithmetic subtraction *)
+ | Expr_mul of whenexpr * whenexpr (** arithmetic multiplication *)
+ | Expr_div of whenexpr * whenexpr (** arithmetic division *)
+ | Expr_mod of whenexpr * whenexpr (** arithmetic modulo *)