(.module: [lux #* ["_" test (#+ Test)] [abstract [\spec ["$." equivalence]]] [math ["." random (#+ Random) ("#\." monad)]]] ["$." /// #_ ["#." hash]] [\\program ["." / ["//#" /// #_ ["#." hash]]]]) (def: #export random (Random /.Status) ($_ random.or (random\wrap []) (random.or ($///hash.random ///hash.sha-1) ($///hash.random ///hash.md5)) (random.and ($///hash.random ///hash.sha-1) ($///hash.random ///hash.md5)) )) (def: #export test Test (<| (_.covering /._) (_.for [/.Status] ($_ _.and (_.for [/.equivalence] ($equivalence.spec /.equivalence ..random)) ))))