diff --git a/AUTHORS b/AUTHORS
new file mode 100644
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,2 @@
+Jan Rochel
+Chas Leichner (Google Inc.)
diff --git a/GraphRewriting/Pattern.hs b/GraphRewriting/Pattern.hs
--- a/GraphRewriting/Pattern.hs
+++ b/GraphRewriting/Pattern.hs
@@ -185,11 +185,11 @@
 nextIs ∷ Monad m ⇒ Node → PatternT n m a → PatternT n m a
 nextIs next = restrictOverlap $ \past future → not (null future) ∧ head future ≡ next
 
--- | Restrict a pattern based on the which of nodes have matched been previously and which nodes will be matched in the future. The first parameter of the supplied function is the history with the most recently matched node in head position. The second parameter is the future with the next matched node in head position.
+-- | Restrict a pattern based on the which of nodes have been matched previously and which nodes will be matched in the future. The first parameter of the supplied function is the history with the most recently matched node in head position. The second parameter is the future with the next matched node in head position.
 restrictOverlap ∷ Monad m ⇒ (Match → Match → Bool) → PatternT n m a → PatternT n m a
 restrictOverlap c p = PatternT $ \h → do
 	(h',x) ← patternT p h
-	require (c h h')
+	require $ c h h'
 	return (h',x)
 -- TODO: the check is only done after the whole pattern has matched (maybe do the check more often inbetween?)
 
diff --git a/GraphRewriting/Rule.hs b/GraphRewriting/Rule.hs
--- a/GraphRewriting/Rule.hs
+++ b/GraphRewriting/Rule.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE UnicodeSyntax, FlexibleInstances, FlexibleContexts #-}
 -- | Rewrite rules are represented as nested monads: a 'Rule' is a 'Pattern' that returns a 'Rewrite' the latter directly defining the transformation of the graph.
 --
--- For rule construction a few functions a provided: The most basic one is 'rewrite'. But in most cases 'erase', 'rewire', and 'replace*' should be more convenient. These functions express rewrites that /replace/ the matched nodes of the 'Pattern', which comes quite close to the @L -> R@ form in which graph rewriting rules are usually expressed.
+-- For rule construction a few functions a provided: The most primitive one is 'rewrite'. In most cases 'erase', 'rewire', and 'replace' should be more convenient. These functions express rewrites that /replace/ the matched nodes of the 'Pattern', which comes quite close to the @L -> R@ form in which graph rewriting rules are usually expressed.
 module GraphRewriting.Rule (Replace, module GraphRewriting.Rule) where
 
 import Prelude.Unicode
diff --git a/graph-rewriting.cabal b/graph-rewriting.cabal
--- a/graph-rewriting.cabal
+++ b/graph-rewriting.cabal
@@ -1,5 +1,5 @@
 Name:           graph-rewriting
-Version:        0.7.7
+Version:        0.7.8
 Copyright:      (c) 2010, Jan Rochel
 License:        BSD3
 License-File:   LICENSE
@@ -12,6 +12,7 @@
   This library provides a monadic EDSL to define your own port graph rewrite system in Haskell. Once you have specified the signature of your nodes and a set of rewrite rules, you can apply these rules on a graph to effect a graph transformation. The aim of this library is to make it as convenient as possible to define such a system and experiment with it and is not intended as a backend for high-performance computation.
 Category:       Graphs
 Cabal-Version:  >= 1.6
+Extra-Source-Files: AUTHORS
 
 Library
   Build-Depends:
