(.module: [library [lux "*" [abstract [equivalence {"+" [Equivalence]}]] [data [binary {"+" [Binary]}] ["[0]" sum] ["[0]" product]]]] ["[0]" /// "_" ["[1][0]" 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)})