[rearrange instances temporarily to work around issues with orphan instances
John Meacham <john@repetae.net>**20080219064159] hunk ./lib/base/Foreign/Ptr.hs 29
-instance Storable (Ptr a) where
-    sizeOf (Ptr a) = sizeOf a
-    alignment (Ptr a) = alignment a
-    peek p = peek (castPtr p) >>= return . Ptr
-    poke p (Ptr x) = poke (castPtr p) x
-
-instance Eq (Ptr a) where
-    Ptr a == Ptr b = a == b
-    Ptr a /= Ptr b = a /= b
-
-instance Ord (Ptr a) where
-    compare (Ptr a) (Ptr b) = compare a b
-    Ptr a <= Ptr b = a <= b
-    Ptr a < Ptr b = a < b
-    Ptr a > Ptr b = a > b
-    Ptr a >= Ptr b = a >= b
hunk ./lib/base/Foreign/Ptr.hs 42
-castPtr :: Ptr a -> Ptr b
-castPtr (Ptr addr) = Ptr addr
hunk ./lib/base/Jhc/Addr.hs 13
+    castPtr,
hunk ./lib/base/Jhc/Addr.hs 63
+instance Storable (Ptr a) where
+    sizeOf (Ptr a) = sizeOf a
+    alignment (Ptr a) = alignment a
+    peek p = peek (castPtr p) `thenIO` (returnIO . Ptr)
+    poke p (Ptr x) = poke (castPtr p) x
+
+instance Eq (Ptr a) where
+    Ptr a == Ptr b = a == b
+    Ptr a /= Ptr b = a /= b
+
+instance Ord (Ptr a) where
+    compare (Ptr a) (Ptr b) = compare a b
+    Ptr a <= Ptr b = a <= b
+    Ptr a < Ptr b = a < b
+    Ptr a > Ptr b = a > b
+    Ptr a >= Ptr b = a >= b
+
+castPtr :: Ptr a -> Ptr b
+castPtr (Ptr addr) = Ptr addr
+
+