diff --git a/Foreign/CUDA/Driver/Context.chs b/Foreign/CUDA/Driver/Context.chs
--- a/Foreign/CUDA/Driver/Context.chs
+++ b/Foreign/CUDA/Driver/Context.chs
@@ -51,6 +51,7 @@
 -- A device context
 --
 newtype Context = Context { useContext :: {# type CUcontext #}}
+  deriving (Eq, Show)
 
 
 -- |
diff --git a/Foreign/CUDA/Driver/Device.chs b/Foreign/CUDA/Driver/Device.chs
--- a/Foreign/CUDA/Driver/Device.chs
+++ b/Foreign/CUDA/Driver/Device.chs
@@ -42,6 +42,7 @@
 --------------------------------------------------------------------------------
 
 newtype Device = Device { useDevice :: {# type CUdevice #}}
+  deriving (Eq, Show)
 
 
 -- |
diff --git a/Foreign/CUDA/Driver/Event.chs b/Foreign/CUDA/Driver/Event.chs
--- a/Foreign/CUDA/Driver/Event.chs
+++ b/Foreign/CUDA/Driver/Event.chs
@@ -43,6 +43,7 @@
 -- Events
 --
 newtype Event = Event { useEvent :: {# type CUevent #}}
+  deriving (Eq, Show)
 
 -- |
 -- Event creation flags
diff --git a/Foreign/CUDA/Driver/Stream.chs b/Foreign/CUDA/Driver/Stream.chs
--- a/Foreign/CUDA/Driver/Stream.chs
+++ b/Foreign/CUDA/Driver/Stream.chs
@@ -41,6 +41,7 @@
 -- A processing stream
 --
 newtype Stream = Stream { useStream :: {# type CUstream #}}
+  deriving (Eq, Show)
 
 
 -- |
diff --git a/Foreign/CUDA/Driver/Texture.chs b/Foreign/CUDA/Driver/Texture.chs
--- a/Foreign/CUDA/Driver/Texture.chs
+++ b/Foreign/CUDA/Driver/Texture.chs
@@ -53,6 +53,7 @@
 -- A texture reference
 --
 newtype Texture = Texture { useTexture :: {# type CUtexref #}}
+  deriving (Eq, Show)
 
 instance Storable Texture where
   sizeOf _    = sizeOf    (undefined :: {# type CUtexref #})
diff --git a/Foreign/CUDA/Runtime/Event.chs b/Foreign/CUDA/Runtime/Event.chs
--- a/Foreign/CUDA/Runtime/Event.chs
+++ b/Foreign/CUDA/Runtime/Event.chs
@@ -50,6 +50,7 @@
 -- Events
 --
 newtype Event = Event { useEvent :: {# type cudaEvent_t #}}
+  deriving (Eq, Show)
 
 -- |
 -- Event creation flags
diff --git a/Foreign/CUDA/Runtime/Stream.chs b/Foreign/CUDA/Runtime/Stream.chs
--- a/Foreign/CUDA/Runtime/Stream.chs
+++ b/Foreign/CUDA/Runtime/Stream.chs
@@ -39,7 +39,7 @@
 -- A processing stream
 --
 newtype Stream = Stream { useStream :: {# type cudaStream_t #}}
-  deriving (Show)
+  deriving (Eq, Show)
 
 
 --------------------------------------------------------------------------------
diff --git a/cuda.cabal b/cuda.cabal
--- a/cuda.cabal
+++ b/cuda.cabal
@@ -1,5 +1,5 @@
 Name:                   cuda
-Version:                0.5.0.1
+Version:                0.5.0.2
 Synopsis:               FFI binding to the CUDA interface for programming NVIDIA GPUs
 Description:
     The CUDA library provides a direct, general purpose C-like SPMD programming
