sig
  type t
  val nil : B0_std.Hash.t
  val length : B0_std.Hash.t -> int
  val is_nil : B0_std.Hash.t -> bool
  val equal : B0_std.Hash.t -> B0_std.Hash.t -> bool
  val compare : B0_std.Hash.t -> B0_std.Hash.t -> int
  val to_bytes : B0_std.Hash.t -> string
  val of_bytes : string -> B0_std.Hash.t
  val to_hex : B0_std.Hash.t -> string
  val of_hex : string -> (B0_std.Hash.t, int) Stdlib.result
  val conv : B0_std.Hash.t B0_std.Conv.t
  val pp : B0_std.Hash.t B0_std.Fmt.t
  module type T =
    sig
      val id : string
      val length : int
      val string : string -> B0_std.Hash.t
      val fd : Unix.file_descr -> B0_std.Hash.t
      val file : B0_std.Fpath.t -> (B0_std.Hash.t, string) Stdlib.result
    end
  module Murmur3_128 : T
  module Xxh_64 : T
  val funs : unit -> (module B0_std.Hash.T) list
  val add_fun : (module B0_std.Hash.T-> unit
end