diff --git a/music-score.cabal b/music-score.cabal
--- a/music-score.cabal
+++ b/music-score.cabal
@@ -1,7 +1,7 @@
 
 name:               music-score
-version:            1.3
-cabal-version:      >= 1.2
+version:            1.3.1
+cabal-version:      >= 1.10
 author:             Hans Hoglund
 maintainer:         Hans Hoglund
 license:            BSD3
@@ -16,6 +16,10 @@
     
     This library is part of the Music Suite, see <http://musicsuite.github.com>.
 
+source-repository head
+  type:             git
+  location:         git://github.com/hanshoglund/music-score.git
+  
 library                    
     build-depends: 
         base >= 4 && < 5,
@@ -43,6 +47,7 @@
         reenact
 
     hs-source-dirs: src
+    default-language: Haskell2010
     exposed-modules:
         Music.Time
         Music.Time.Time
diff --git a/src/Music/Score/Pitch.hs b/src/Music/Score/Pitch.hs
--- a/src/Music/Score/Pitch.hs
+++ b/src/Music/Score/Pitch.hs
@@ -28,6 +28,8 @@
         getPitches,
         setPitches,
         modifyPitches,
+        up,
+        down,
   ) where
 
 import Control.Monad (ap, mfilter, join, liftM, MonadPlus(..))
@@ -91,7 +93,7 @@
 --
 -- > Score a -> [Pitch]
 --
-getPitches :: (HasPitch a, Eq v, v ~ Pitch a, Foldable s) => s a -> [Pitch a]
+getPitches :: (HasPitch a, Eq v, v ~ Pitch a, Foldable s, p ~ Pitch a) => s a -> [p]
 getPitches = List.nub . fmap getPitch . toList
 
 -- |
@@ -99,7 +101,7 @@
 --
 -- > Pitch -> Score a -> Score a
 --
-setPitches :: (HasPitch a, Functor s) => Pitch a -> s a -> s a
+setPitches :: (HasPitch a, Functor s, p ~ Pitch a) => p -> s a -> s a
 setPitches n = fmap (setPitch n)
 
 -- |
@@ -107,6 +109,13 @@
 --
 -- > (Pitch -> Pitch) -> Score a -> Score a
 --
-modifyPitches :: (HasPitch a, Functor s) => (Pitch a -> Pitch a) -> s a -> s a
-modifyPitches n = fmap (modifyPitch n)
+modifyPitches :: (HasPitch a, Functor s, p ~ Pitch a) => (p -> p) -> s a -> s a
+modifyPitches f = fmap (modifyPitch f)
+
+up :: (HasPitch a, Functor s, AffineSpace p, p ~ Pitch a) => Diff p -> s a -> s a
+up a = modifyPitches (.+^ a)
+
+down :: (HasPitch a, Functor s, AffineSpace p, p ~ Pitch a) => Diff p -> s a -> s a
+down a = modifyPitches (.-^ a)
+
 
