Are there tools and would it be meaningful to run generated tests against all possible input like in clojure. The big issue here is understanding what the expected outcome for a set of inputs would be.