diff --git a/src/Data/Maclaurin.hs b/src/Data/Maclaurin.hs
--- a/src/Data/Maclaurin.hs
+++ b/src/Data/Maclaurin.hs
@@ -189,16 +189,18 @@
 
 instance Eq   b => Eq   (a :> b) where (==)    = noOv "(==)"
 
-instance (AdditiveGroup v, HasBasis u, HasTrie (Basis u), IfB b v) =>
-      IfB b (u :> v) where
+type instance BooleanOf (a :> b) = BooleanOf b
+
+instance (AdditiveGroup v, HasBasis u, HasTrie (Basis u), IfB v) =>
+      IfB (u :> v) where
   ifB = liftD2 . ifB
 
-instance (AdditiveGroup v, HasBasis u, HasTrie (Basis u), OrdB b v) =>
-         OrdB b (u :> v) where
+instance (AdditiveGroup v, HasBasis u, HasTrie (Basis u), OrdB v) =>
+         OrdB (u :> v) where
   (<*) = (<*) `on` powVal
 
 instance ( AdditiveGroup b, HasBasis a, HasTrie (Basis a)
-         , OrdB bool b, IfB bool b, Ord  b) => Ord  (a :> b) where
+         , OrdB b, IfB b, Ord  b) => Ord  (a :> b) where
   compare = compare `on` powVal
   min     = minB
   max     = maxB
diff --git a/src/Data/VectorSpace.hs b/src/Data/VectorSpace.hs
--- a/src/Data/VectorSpace.hs
+++ b/src/Data/VectorSpace.hs
@@ -85,7 +85,7 @@
 
 -- | @project u v@ computes the projection of @v@ onto @u@.
 project :: (InnerSpace v, s ~ Scalar v, Fractional s) => v -> v -> v
-project u v = ((v <.> u) *^ u) ^/ magnitudeSq u
+project u v = ((v <.> u) / magnitudeSq u) *^ u
 
 instance VectorSpace Double where
   type Scalar Double = Double
diff --git a/vector-space.cabal b/vector-space.cabal
--- a/vector-space.cabal
+++ b/vector-space.cabal
@@ -1,6 +1,6 @@
 Name:                vector-space
-Version:             0.8.2
-Cabal-Version:       >= 1.2
+Version:             0.8.3
+Cabal-Version:       >= 1.6
 Synopsis:            Vector & affine spaces, linear maps, and derivatives
 Category:            math
 Description:
@@ -18,19 +18,22 @@
   &#169; 2008-2012 by Conal Elliott; BSD3 license.
 Author:              Conal Elliott 
 Maintainer:          conal@conal.net
-Homepage:            http://haskell.org/haskellwiki/vector-space
-Package-Url:         http://code.haskell.org/vector-space
 Copyright:           (c) 2008-2012 by Conal Elliott
 License:             BSD3
 License-File:        COPYING
 Stability:           experimental
 build-type:          Simple
 
+source-repository head
+  type:     git
+  location: git://github.com/conal/vector-space.git
+
 Library
   hs-Source-Dirs:      src
   Extensions:          
-  Build-Depends:       base<5, MemoTrie >= 0.5, Boolean >= 0.0.1,
-                       NumInstances >= 1.0
+  Build-Depends:       base<5, MemoTrie >= 0.5
+                     , Boolean >= 0.1.0
+                     , NumInstances >= 1.0
   Exposed-Modules:     
                      Data.AdditiveGroup
                      Data.VectorSpace
