diff --git a/src/Data/NumInstances.hs b/src/Data/NumInstances.hs
deleted file mode 100644
--- a/src/Data/NumInstances.hs
+++ /dev/null
@@ -1,174 +0,0 @@
-{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-----------------------------------------------------------------------
--- |
--- Module      :  Data.NumInstances
--- Copyright   :  (c) Conal Elliott 2008
--- License     :  BSD3
--- 
--- Maintainer  :  conal@conal.net
--- Stability   :  experimental
--- 
--- Number class instances for functions and tuples
-----------------------------------------------------------------------
-
-module Data.NumInstances () where
-
-import Control.Applicative
-
-noOv :: String -> String -> a
-noOv ty meth = error $ meth ++ ": No overloading for " ++ ty
-
-noFun :: String -> a
-noFun = noOv "function"
-
--- Eq & Show are prerequisites for Num, so they need to be faked here
-instance Eq (a->b) where
-  (==) = noFun "(==)"
-  (/=) = noFun "(/=)"
-
-instance Ord b => Ord (a->b) where
-  min = liftA2 min
-  max = liftA2 max
-
-instance Show (a->b) where
-  show      = noFun "show"
-  showsPrec = noFun "showsPrec"
-  showList  = noFun "showList"
-
-instance Num b => Num (a->b) where
-  negate      = fmap negate
-  (+)         = liftA2 (+)
-  (*)         = liftA2 (*)
-  fromInteger = pure . fromInteger
-  abs         = fmap abs
-  signum      = fmap signum
-
-instance Fractional b => Fractional (a->b) where
-  recip        = fmap recip
-  fromRational = pure . fromRational
-
-instance Floating b => Floating (a->b) where
-  pi    = pure pi
-  sqrt  = fmap sqrt
-  exp   = fmap exp
-  log   = fmap log
-  sin   = fmap sin
-  cos   = fmap cos
-  asin  = fmap asin
-  atan  = fmap atan
-  acos  = fmap acos
-  sinh  = fmap sinh
-  cosh  = fmap cosh
-  asinh = fmap asinh
-  atanh = fmap atanh
-  acosh = fmap acosh
-
-
------ Tuples
-
-lift2 :: (a->u) -> (b->v) -> (a,b) -> (u,v)
-lift2 f g (a,b) = (f a, g b)
-
--- Equivalently, lift2 = (***)
-
-instance (Num a, Num b) => Num (a,b) where
-  fromInteger n   = (fromInteger n, fromInteger n)
-  (a,b) + (a',b') = (a+a',b+b')
-  (a,b) - (a',b') = (a-a',b-b')
-  (a,b) * (a',b') = (a*a',b*b')
-  negate = lift2 negate negate
-  abs    = lift2 abs abs
-  signum = lift2 signum signum
-
-instance (Fractional a, Fractional b) => Fractional (a,b) where
-  fromRational x = (fromRational x, fromRational x)
-  recip = lift2 recip recip
-
-instance (Floating a, Floating b) => Floating (a,b) where
-  pi    = (pi,pi)
-  exp   = lift2 exp exp
-  log   = lift2 log log
-  sqrt  = lift2 sqrt sqrt
-  sin   = lift2 sin sin
-  cos   = lift2 cos cos
-  sinh  = lift2 sinh sinh
-  cosh  = lift2 cosh cosh
-  asin  = lift2 asin asin
-  acos  = lift2 acos acos
-  atan  = lift2 atan atan
-  asinh = lift2 asinh asinh
-  acosh = lift2 acosh acosh
-  atanh = lift2 atanh atanh
-
-instance (Num a, Num b, Num c) => Num (a,b,c) where
-  fromInteger n = (fromInteger n, fromInteger n, fromInteger n)
-  (a,b,c) + (a',b',c') = (a+a',b+b',c+c')
-  (a,b,c) - (a',b',c') = (a-a',b-b',c-c')
-  (a,b,c) * (a',b',c') = (a*a',b*b',c*c')
-  negate = lift3 negate negate negate
-  abs    = lift3 abs abs abs
-  signum = lift3 signum signum signum
-
-instance (Fractional a, Fractional b, Fractional c)
-    => Fractional (a,b,c) where
-  fromRational x = (fromRational x, fromRational x, fromRational x)
-  recip = lift3 recip recip recip
-
-
-lift3 :: (a->u) -> (b->v) -> (c->w) -> (a,b,c) -> (u,v,w)
-lift3 f g h (a,b,c) = (f a, g b, h c)
-
-instance (Floating a, Floating b, Floating c)
-    => Floating (a,b,c) where
-  pi    = (pi,pi,pi)
-  exp   = lift3 exp exp exp
-  log   = lift3 log log log
-  sqrt  = lift3 sqrt sqrt sqrt
-  sin   = lift3 sin sin sin
-  cos   = lift3 cos cos cos
-  sinh  = lift3 sinh sinh sinh
-  cosh  = lift3 cosh cosh cosh
-  asin  = lift3 asin asin asin
-  acos  = lift3 acos acos acos
-  atan  = lift3 atan atan atan
-  asinh = lift3 asinh asinh asinh
-  acosh = lift3 acosh acosh acosh
-  atanh = lift3 atanh atanh atanh
-
-
-
-lift4 :: (a->u) -> (b->v) -> (c->w) -> (d->x)
-      -> (a,b,c,d) -> (u,v,w,x)
-lift4 f g h k (a,b,c,d) = (f a, g b, h c, k d)
-
-instance (Num a, Num b, Num c, Num d) => Num (a,b,c,d) where
-  fromInteger n = (fromInteger n, fromInteger n, fromInteger n, fromInteger n)
-  (a,b,c,d) + (a',b',c',d') = (a+a',b+b',c+c',d+d')
-  (a,b,c,d) - (a',b',c',d') = (a-a',b-b',c-c',d-d')
-  (a,b,c,d) * (a',b',c',d') = (a*a',b*b',c*c',d*d')
-  negate = lift4 negate negate negate negate
-  abs    = lift4 abs abs abs abs
-  signum = lift4 signum signum signum signum
-
-instance (Fractional a, Fractional b, Fractional c, Fractional d)
-    => Fractional (a,b,c,d) where
-  fromRational x = (fromRational x, fromRational x, fromRational x, fromRational x)
-  recip = lift4 recip recip recip recip
-
-instance (Floating a, Floating b, Floating c, Floating d)
-    => Floating (a,b,c,d) where
-  pi    = (pi,pi,pi,pi)
-  exp   = lift4 exp exp exp exp
-  log   = lift4 log log log log
-  sqrt  = lift4 sqrt sqrt sqrt sqrt
-  sin   = lift4 sin sin sin sin
-  cos   = lift4 cos cos cos cos
-  sinh  = lift4 sinh sinh sinh sinh
-  cosh  = lift4 cosh cosh cosh cosh
-  asin  = lift4 asin asin asin asin
-  acos  = lift4 acos acos acos acos
-  atan  = lift4 atan atan atan atan
-  asinh = lift4 asinh asinh asinh asinh
-  acosh = lift4 acosh acosh acosh acosh
-  atanh = lift4 atanh atanh atanh atanh
diff --git a/vector-space.cabal b/vector-space.cabal
--- a/vector-space.cabal
+++ b/vector-space.cabal
@@ -1,5 +1,5 @@
 Name:                vector-space
-Version:             0.7.6
+Version:             0.7.7
 Cabal-Version:       >= 1.2
 Synopsis:            Vector & affine spaces, linear maps, and derivatives (requires ghc 6.9 or better)
 Category:            math
@@ -29,7 +29,8 @@
 Library
   hs-Source-Dirs:      src
   Extensions:          
-  Build-Depends:       base<5, MemoTrie >= 0.4.2, Boolean >= 0.0.1
+  Build-Depends:       base<5, MemoTrie >= 0.4.2, Boolean >= 0.0.1,
+                       NumInstances >= 1.0
   Exposed-Modules:     
                      Data.AdditiveGroup
                      Data.VectorSpace
@@ -40,7 +41,7 @@
                      Data.Derivative
                      Data.Cross
                      Data.AffineSpace
-                     Data.NumInstances
+--                   Data.NumInstances
 
 
   -- This library relies on type families working as well as in 6.10.
