functor (M : BasicSig) ->
sig
type ('a, 'b) op_t0 = ('a, 'b) M.t
val ( + ) : ('a, 'b) M.t -> ('a, 'b) M.t -> ('a, 'b) M.t
val ( - ) : ('a, 'b) M.t -> ('a, 'b) M.t -> ('a, 'b) M.t
val ( * ) : ('a, 'b) M.t -> ('a, 'b) M.t -> ('a, 'b) M.t
val ( / ) : ('a, 'b) M.t -> ('a, 'b) M.t -> ('a, 'b) M.t
val ( +$ ) : ('a, 'b) M.t -> 'a -> ('a, 'b) M.t
val ( -$ ) : ('a, 'b) M.t -> 'a -> ('a, 'b) M.t
val ( *$ ) : ('a, 'b) M.t -> 'a -> ('a, 'b) M.t
val ( /$ ) : ('a, 'b) M.t -> 'a -> ('a, 'b) M.t
val ( $+ ) : 'a -> ('a, 'b) M.t -> ('a, 'b) M.t
val ( $- ) : 'a -> ('a, 'b) M.t -> ('a, 'b) M.t
val ( $* ) : 'a -> ('a, 'b) M.t -> ('a, 'b) M.t
val ( $/ ) : 'a -> ('a, 'b) M.t -> ('a, 'b) M.t
val ( = ) : ('a, 'b) M.t -> ('a, 'b) M.t -> bool
val ( != ) : ('a, 'b) M.t -> ('a, 'b) M.t -> bool
val ( <> ) : ('a, 'b) M.t -> ('a, 'b) M.t -> bool
val ( > ) : ('a, 'b) M.t -> ('a, 'b) M.t -> bool
val ( < ) : ('a, 'b) M.t -> ('a, 'b) M.t -> bool
val ( >= ) : ('a, 'b) M.t -> ('a, 'b) M.t -> bool
val ( <= ) : ('a, 'b) M.t -> ('a, 'b) M.t -> bool
end