sig   type hash = int   type 'a t = '-> CCHash.hash   val const : CCHash.hash -> 'CCHash.t   val int : int CCHash.t   val bool : bool CCHash.t   val char : char CCHash.t   val int32 : int32 CCHash.t   val int64 : int64 CCHash.t   val nativeint : nativeint CCHash.t   val slice : string -> int -> int CCHash.t   val string : string CCHash.t   val list : 'CCHash.t -> 'a list CCHash.t   val array : 'CCHash.t -> 'a array CCHash.t   val opt : 'CCHash.t -> 'a option CCHash.t   val pair : 'CCHash.t -> 'CCHash.t -> ('a * 'b) CCHash.t   val triple :     'CCHash.t -> 'CCHash.t -> 'CCHash.t -> ('a * 'b * 'c) CCHash.t   val quad :     'CCHash.t ->     'CCHash.t -> 'CCHash.t -> 'CCHash.t -> ('a * 'b * 'c * 'd) CCHash.t   val if_ : bool -> 'CCHash.t -> 'CCHash.t -> 'CCHash.t   val poly : 'CCHash.t   val list_comm : 'CCHash.t -> 'a list CCHash.t   val array_comm : 'CCHash.t -> 'a array CCHash.t   val combine : 'CCHash.t -> CCHash.hash -> '-> CCHash.hash   val combine2 : CCHash.hash -> CCHash.hash -> CCHash.hash   val combine3 : CCHash.hash -> CCHash.hash -> CCHash.hash -> CCHash.hash   val combine4 :     CCHash.hash -> CCHash.hash -> CCHash.hash -> CCHash.hash -> CCHash.hash   type 'a sequence = ('-> unit) -> unit   type 'a gen = unit -> 'a option   type 'a klist = unit -> [ `Cons of 'a * 'CCHash.klist | `Nil ]   val seq : 'CCHash.t -> 'CCHash.sequence CCHash.t   val gen : 'CCHash.t -> 'CCHash.gen CCHash.t   val klist : 'CCHash.t -> 'CCHash.klist CCHash.t end