diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-09  Tim Watson  <watson.timothy@gmail.com>  0.3.1.0
+
+* Eq and Ord instances for Closure and Static
+
 2014-05-30  Tim Watson  <watson.timothy@gmail.com>  0.3.0.0
 
 * Bump binary dependency
diff --git a/distributed-static.cabal b/distributed-static.cabal
--- a/distributed-static.cabal
+++ b/distributed-static.cabal
@@ -1,5 +1,5 @@
 Name:                distributed-static
-Version:             0.3.0.0
+Version:             0.3.1.0
 Synopsis:            Compositional, type-safe, polymorphic static values and closures 
 Description:         /Towards Haskell in the Cloud/ (Epstein et al, Haskell
                      Symposium 2011) introduces the concept of /static/ values:
diff --git a/src/Control/Distributed/Static.hs b/src/Control/Distributed/Static.hs
--- a/src/Control/Distributed/Static.hs
+++ b/src/Control/Distributed/Static.hs
@@ -255,11 +255,11 @@
 data StaticLabel =
     StaticLabel String
   | StaticApply StaticLabel StaticLabel
-  deriving (Typeable, Show)
+  deriving (Eq, Ord, Typeable, Show)
 
 -- | A static value. Static is opaque; see 'staticLabel' and 'staticApply'.
 newtype Static a = Static StaticLabel
-  deriving (Typeable, Show)
+  deriving (Eq, Ord, Typeable, Show)
 
 instance Typeable a => Binary (Static a) where
   put (Static label) = putStaticLabel label >> put (typeOf (undefined :: a))
@@ -342,7 +342,7 @@
 
 -- | A closure is a static value and an encoded environment
 data Closure a = Closure (Static (ByteString -> a)) ByteString
-  deriving (Typeable, Show)
+  deriving (Eq, Ord, Typeable, Show)
 
 instance Typeable a => Binary (Closure a) where
   put (Closure static env) = put static >> put env
