sig
  type num =
      Int of int
    | Big_int of Integers.big_int
    | Ratio of Rationals.ratio
  val sign_num : Numbers.num -> int
  val abs_num : Numbers.num -> Numbers.num
  val is_integer_num : Numbers.num -> bool
  val ( +/ ) : Numbers.num -> Numbers.num -> Numbers.num
  val ( -/ ) : Numbers.num -> Numbers.num -> Numbers.num
  val ( */ ) : Numbers.num -> Numbers.num -> Numbers.num
  val ( // ) : Numbers.num -> Numbers.num -> Numbers.num
  val mod_num : Numbers.num -> Numbers.num -> Numbers.num
  val quo_num : Numbers.num -> Numbers.num -> Numbers.num
  val num_of_int : int -> Numbers.num
  val int_of_num : Numbers.num -> int
  val float_of_num : Numbers.num -> float
  val num_of_string : string -> Numbers.num
  val string_of_num : Numbers.num -> string
  val ( =/ ) : Numbers.num -> Numbers.num -> bool
  val ( <>/ ) : Numbers.num -> Numbers.num -> bool
  val ( </ ) : Numbers.num -> Numbers.num -> bool
  val ( <=/ ) : Numbers.num -> Numbers.num -> bool
  val ( >/ ) : Numbers.num -> Numbers.num -> bool
  val ( >=/ ) : Numbers.num -> Numbers.num -> bool
  val compare_num : Numbers.num -> Numbers.num -> int
end