+import Test.QuickCheck
+
+
+data Bit = None | Zero | One
+ deriving (Eq)
+
+instance Show Bit where
+ show None = "None"
+ show Zero = "0"
+ show One = "1"
+
+
+instance Arbitrary Bit where
+ arbitrary = elements [ Zero, One ]
+ coarbitrary _ = variant 0
+