diff --git a/Term.hs b/Term.hs
--- a/Term.hs
+++ b/Term.hs
@@ -42,10 +42,10 @@
 -- primitive parsers
 
 newlines ∷ Parser ()
-newlines = const () <$> pMunch (`elem` "\n\r")
+newlines = pMunch (`elem` "\n\r") *> pure ()
 
 ε ∷ Parser () -- spaces
-ε = const () <$> pMunch (`elem` "\t ")
+ε = pMunch (`elem` "\t ") *> pure ()
 
 arrow ∷ Parser String
 arrow = pToken "->" <|> pToken "→" <?> "arrow"
diff --git a/TermRewriting.hs b/TermRewriting.hs
--- a/TermRewriting.hs
+++ b/TermRewriting.hs
@@ -26,20 +26,21 @@
 	e ← edge
 	varMap ← build term e
 	return (e, varMap)
-	where build term inc = do
-		c ← liftReader (edgeCardinality inc)
-		require (c ≡ 2)
-		case term of
-			Var v | isLower v → return $ Map.singleton v inc
-			Var v | otherwise → do
-				Variable {name = n} ← nodeAt inc
-				require (n ≡ v)
-				return Map.empty
-			App f x → do
-				Applicator {inp = i, out1 = o1, out2 = o2} ← nodeAt inc
-				require (i ≡ inc)
-				liftM2 (Map.unionWithKey nonLinear) (build f o1) (build x o2)
-				where nonLinear v = error $ "Left-hand side is not linear as " ⧺ [v] ⧺ " occurs twice"
+	where build term inc = case term of
+		Var v | isLower v → return $ Map.singleton v inc
+		Var v | otherwise → do
+			c ← liftReader (edgeCardinality inc)
+			require (c ≡ 2)
+			Variable {name = n} ← nodeAt inc
+			require (n ≡ v)
+			return Map.empty
+		App f x → do
+			c ← liftReader (edgeCardinality inc)
+			require (c ≡ 2)
+			Applicator {inp = i, out1 = o1, out2 = o2} ← nodeAt inc
+			require (i ≡ inc)
+			liftM2 (Map.unionWithKey nonLinear) (build f o1) (build x o2)
+			where nonLinear v = error $ "Left-hand side is not linear as " ⧺ [v] ⧺ " occurs twice"
 
 buildRHS ∷ (View Vertex n, View [Port] n) ⇒ VarMap → Term → Edge → Rule n
 buildRHS bindings term inc = replace (reqEdges term) (build term inc) where
diff --git a/examples/quot_min.trs b/examples/quot_min.trs
new file mode 100644
--- /dev/null
+++ b/examples/quot_min.trs
@@ -0,0 +1,6 @@
+import peano.trs
+
+Mx0       → x
+M(Sx)(Sy) → Mxy
+Q0(Sy)    → 0
+Q(Sx)(Sy) → S(Q(Mxy)(Sy))
diff --git a/graph-rewriting-trs.cabal b/graph-rewriting-trs.cabal
--- a/graph-rewriting-trs.cabal
+++ b/graph-rewriting-trs.cabal
@@ -1,5 +1,5 @@
 Name:           graph-rewriting-trs
-Version:        0.1.1
+Version:        0.1.2
 Copyright:      (c) 2011, Jan Rochel
 License:        BSD3
 License-File:   LICENSE
