The latest Data.Binary documentation says instance of Binary should have get . put == id But this doesn't typecheck! I'm guessing it's probably supposed to say decode . encode == id -Chad