diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -1,6 +1,8 @@
 Bound
 =====
 
+[![Build Status](https://secure.travis-ci.org/ekmett/bound.png?branch=master)](http://travis-ci.org/ekmett/bound)
+
 Goals
 -----
 
diff --git a/bound.cabal b/bound.cabal
--- a/bound.cabal
+++ b/bound.cabal
@@ -1,6 +1,6 @@
 name:          bound
 category:      Language, Compilers/Interpreters
-version:       0.3.2
+version:       0.4
 license:       BSD3
 cabal-version: >= 1.9.2
 license-file:  LICENSE
diff --git a/src/Bound/Term.hs b/src/Bound/Term.hs
--- a/src/Bound/Term.hs
+++ b/src/Bound/Term.hs
@@ -19,9 +19,9 @@
 import Data.Traversable
 import Prelude hiding (all)
 
--- | @'substitute' p a w@ replaces the free variable @a@ with @p@ in @w@
-substitute :: (Monad f, Eq a) => f a -> a -> f a -> f a
-substitute p a w = w >>= \b -> if a == b then p else return b
+-- | @'substitute' a p w@ replaces the free variable @a@ with @p@ in @w@
+substitute :: (Monad f, Eq a) => a -> f a -> f a -> f a
+substitute a p w = w >>= \b -> if a == b then p else return b
 {-# INLINE substitute #-}
 
 -- | If a term has no free variables, you can freely change the type of
