sig   val to_string : int EDSL.t -> string EDSL.t   val of_string : string EDSL.t -> int EDSL.t   val bin_op :     int EDSL.t ->     [ `Div | `Minus | `Mod | `Mult | `Plus ] -> int EDSL.t -> int EDSL.t   val add : int EDSL.t -> int EDSL.t -> int EDSL.t   val ( + ) : int EDSL.t -> int EDSL.t -> int EDSL.t   val sub : int EDSL.t -> int EDSL.t -> int EDSL.t   val ( - ) : int EDSL.t -> int EDSL.t -> int EDSL.t   val mul : int EDSL.t -> int EDSL.t -> int EDSL.t   val ( * ) : int EDSL.t -> int EDSL.t -> int EDSL.t   val div : int EDSL.t -> int EDSL.t -> int EDSL.t   val ( / ) : int EDSL.t -> int EDSL.t -> int EDSL.t   val modulo : int EDSL.t -> int EDSL.t -> int EDSL.t   val ( mod ) : int EDSL.t -> int EDSL.t -> int EDSL.t   val cmp :     [ `Eq | `Ge | `Gt | `Le | `Lt | `Ne ] ->     int EDSL.t -> int EDSL.t -> bool EDSL.t   val eq : int EDSL.t -> int EDSL.t -> bool EDSL.t   val ne : int EDSL.t -> int EDSL.t -> bool EDSL.t   val lt : int EDSL.t -> int EDSL.t -> bool EDSL.t   val le : int EDSL.t -> int EDSL.t -> bool EDSL.t   val ge : int EDSL.t -> int EDSL.t -> bool EDSL.t   val gt : int EDSL.t -> int EDSL.t -> bool EDSL.t   val ( = ) : int EDSL.t -> int EDSL.t -> bool EDSL.t   val ( <> ) : int EDSL.t -> int EDSL.t -> bool EDSL.t   val ( < ) : int EDSL.t -> int EDSL.t -> bool EDSL.t   val ( <= ) : int EDSL.t -> int EDSL.t -> bool EDSL.t   val ( >= ) : int EDSL.t -> int EDSL.t -> bool EDSL.t   val ( > ) : int EDSL.t -> int EDSL.t -> bool EDSL.t end