let arithmetic_coerce e1 t = let e1 = arithmetic_coerce e1 t in try fold_constants e1 with NotConstant -> e1