interface Digest : Type -> Typedigest_nbyte : Natupdate : List Bits8 -> algo -> algofinalize : algo -> Vect digest_nbyte Bits8digest_nbyte : Digest algo => Natupdate : Digest algo => List Bits8 -> algo -> algofinalize : {auto __con : Digest algo} -> algo -> Vect digest_nbyte Bits8interface Hash : Type -> Typeblock_nbyte : Natinitialize : algoblock_nbyte : Hash algo => Natinitialize : Hash algo => algointerface MAC : Type -> Type -> Typeinitialize_mac : key -> algoinitialize_mac : MAC key algo => key -> algo