val add : 'a -> 'a -> 'a
val ( + ) : 'a -> 'a -> 'a
val sub : 'a -> 'a -> 'a
val ( - ) : 'a -> 'a -> 'a
val mul : 'a -> 'a -> 'a
val ( * ) : 'a -> 'a -> 'a
val div : 'a -> 'a -> 'a
val ( / ) : 'a -> 'a -> 'a
val eq : 'a -> 'a -> bool
val ( === ) : 'a -> 'a -> 'a
val le : 'a -> 'a -> bool
val ( < ) : 'a -> 'a -> 'a
val ge : 'a -> 'a -> bool
val ( > ) : 'a -> 'a -> 'a
val leq : 'a -> 'a -> bool
val ( <= ) : 'a -> 'a -> 'a
val geq : 'a -> 'a -> bool
val ( >= ) : 'a -> 'a -> 'a
val print : 'a -> unit
val stuck : string -> 'a
val to_string : 'a -> string val parse : 'a -> 'b