(.using [library [lux "*" ["_" test {"+" Test}] [abstract [monad {"+" do}]] [math ["[0]" random]]]] ["[0]" / "_" ["[1][0]" binary] ["[1][0]" bit] ["[1][0]" color ["[1]/[0]" named]] ["[1][0]" identity] ["[1][0]" product] ["[1][0]" sum] ["[1][0]" text] ["[1][0]" format "_" ["[1]/[0]" binary] ["[1]/[0]" json] ["[1]/[0]" tar] ["[1]/[0]" xml]] ["[1][0]" collection]]) ... TODO: Get rid of this ASAP (template: (!bundle body) [(: Test (do random.monad [_ (in [])] body))]) (def: format Test ($_ _.and /format/binary.test /format/json.test /format/tar.test /format/xml.test )) (def: test/0 Test ($_ _.and /binary.test /bit.test /color.test /color/named.test)) (def: test/1 Test ($_ _.and /identity.test)) (def: test/2 Test ($_ _.and /product.test /sum.test /text.test)) (def: .public test Test ... TODO: Inline ASAP ($_ _.and (!bundle test/0) (!bundle test/1) (!bundle test/2) (!bundle ..format) (!bundle /collection.test) ))