struct     let to_string i = Int_to_string i     let of_string s = String_to_int s     let bin_op a o b = Int_bin_op (a, o, b)     let add a b = bin_op a `Plus b     let (+) = add     let sub a b = bin_op a `Minus b     let (-) = sub     let mul a b = bin_op a `Mult b     let ( * ) = mul     let div a b = bin_op a `Div b     let (/) = div     let modulo a b = bin_op a `Mod b     let (mod) = modulo     let cmp op a b = Int_bin_comparison (a, op, b)     let eq = cmp `Eq     let ne = cmp `Ne     let lt = cmp `Lt     let le = cmp `Le     let ge = cmp `Ge     let gt = cmp `Gt     let (=) = eq     let (<>) = ne     let (<) = lt     let (<=) = le     let (>=) = ge     let (>) = gt   end