I&#39;ve been using the binary library, and would like to test whether my put and get functions are inverses. I thought of using QuickCheck but it is not clear how I can write the necessary property. I skimmed Claessen, Hughes, &quot;Testing monadic code with QuickCheck&quot;, but their examples require a lot of extra work (e.g. their queue example requires an AST for a mini-queue language). Am I missing something obvious?<div>

<br></div><div>Also, what&#39;s the difference between QuickCheck 1 and 2? I&#39;m on gch 6.10 and doing `cabal install QuickCheck` gives me version 1.2.0.0, which lacks constructs described in the above paper.</div><div>

<br></div><div>Thanks.</div><div><br></div>