pub trait Hashable: AsRef<[u8]> { fn hash(&self) -> HashVal { ... } fn hash_keyed(&self, key: impl AsRef<[u8]>) -> HashVal { ... } }