diff --git a/Algebra/Classes.hs b/Algebra/Classes.hs
--- a/Algebra/Classes.hs
+++ b/Algebra/Classes.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE MultiParamTypeClasses, ConstraintKinds, FlexibleContexts, FlexibleInstances #-}
+{-# LANGUAGE MultiParamTypeClasses, ConstraintKinds, FlexibleContexts, FlexibleInstances, DeriveGeneric #-}
 module Algebra.Classes where
 
 import Prelude as Algebra.Classes (Int,Integer,Float,Double, Foldable (..), (==), Monoid(..), Ord(..)
@@ -9,6 +9,8 @@
 import Data.Map (Map)
 import Foreign.C
 import Data.Word
+import Data.Binary
+import GHC.Generics
 
 infixl 6 -
 infixl 6 +
@@ -21,7 +23,9 @@
 
 type Natural = Integer
 
-newtype Sum a = Sum {fromSum :: a}
+newtype Sum a = Sum {fromSum :: a} deriving Generic
+
+instance Binary a => Binary (Sum a)
 
 instance Additive a => Monoid (Sum a) where
   mempty = Sum zero
diff --git a/gasp.cabal b/gasp.cabal
--- a/gasp.cabal
+++ b/gasp.cabal
@@ -1,5 +1,5 @@
 name:           gasp
-version:        1.0.0.0
+version:        1.0.1.0
 category:       Algebra
 synopsis:       A framework of algebraic classes
 description:
@@ -16,6 +16,7 @@
   default-language: Haskell2010
   build-depends: base>=4 && <5
   build-depends: containers
+  build-depends: binary
 
   exposed-modules:
        Algebra.Classes
