def hs.michael.key
import bend-osdev-hashes@0.1.0.0/michael.bend as Michaelimport Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-hashes@0.1.0.0/hashes.bend as Hs
49# The key: eight bytes, as (K0, K1) (HsBadKeyLength otherwise)
50def hs.michael.key(xs: List<&2, U32>) -> Result<&2, &2, Hs.HsError, Hs.HsW2>:
51 match xs:
52 case [a0, a1, a2, a3, b0, b1, b2, b3]:
53 Done{Hs.HsW2{Hs.hs.le(a0, a1, a2, a3), Hs.hs.le(b0, b1, b2, b3)}}
54 case _:
55 Fail{Hs.HsBadKeyLength{B.len(xs)}}