(.module: [library [lux #* [abstract [equivalence (#+ Equivalence)]] [data [binary (#+ Binary)] ["." sum] ["." product]]]] ["." /// #_ ["#." hash (#+ Hash SHA-1 MD5)]]) (type: .public Status (Variant #Unverified (#Partial (Either (Hash SHA-1) (Hash MD5))) (#Verified (Hash SHA-1) (Hash MD5)))) (implementation: any_equivalence (Equivalence Any) (def: (= _ _) true)) (def: .public equivalence (Equivalence Status) ($_ sum.equivalence ..any_equivalence ($_ sum.equivalence ///hash.equivalence ///hash.equivalence) ($_ product.equivalence ///hash.equivalence ///hash.equivalence) )) (def: .public (verified payload) (-> Binary Status) (#Verified (///hash.sha-1 payload) (///hash.md5 payload)))