functor
  (T : sig
         type t
         val zero : Comparable.Validate_with_zero.t
         val t_of_sexp : Sexplib.Sexp.t -> Comparable.Validate_with_zero.t
         val sexp_of_t : Comparable.Validate_with_zero.t -> Sexplib.Sexp.t
         val compare :
           Comparable.Validate_with_zero.t ->
           Comparable.Validate_with_zero.t -> int
       end->
  sig
    val validate_lbound : min:T.t Comparable_intf.bound -> T.t Validate.check
    val validate_ubound : max:T.t Comparable_intf.bound -> T.t Validate.check
    val validate_bound :
      min:T.t Comparable_intf.bound ->
      max:T.t Comparable_intf.bound -> T.t Validate.check
    val validate_positive : T.t Validate.check
    val validate_non_negative : T.t Validate.check
    val validate_negative : T.t Validate.check
    val validate_non_positive : T.t Validate.check
    val is_positive : T.t -> bool
    val is_non_negative : T.t -> bool
    val is_negative : T.t -> bool
    val is_non_positive : T.t -> bool
  end