123456789101112131415161718192021typet=string(* Share the digest of the empty string *)letempty=Digest.string""letmakes=ifs=emptythenemptyelsesletcompare=compareletlength=16letto_binarys=sletto_binary_locals=sletof_binary_exns=assert(String.lengths=length);makes;;letunsafe_of_binary=makeletto_hex=Digest.to_hexletof_hex_exns=make(Digest.from_hexs)letstrings=make(Digest.strings)letbytess=make(Digest.bytess)letsubbytesbytes~pos~len=make(Digest.subbytesbytesposlen)