Improve docs of signatures of before/after/teardown callback funcs
diff --git a/flask/app.py b/flask/app.py
index 2f2735928f..467725c176 100644
--- a/flask/app.py
+++ b/flask/app.py
@@ -1243,7 +1243,13 @@ def add_template_global(self, f, name=None):
 
     @setupmethod
     def before_request(self, f):
-        """Registers a function to run before each request."""
+        """Registers a function to run before each request.
+
+        The function will be called without any arguments.
+        If the function returns a non-None value, it's handled as
+        if it was the return value from the view and further
+        request handling is stopped.
+        """
         self.before_request_funcs.setdefault(None, []).append(f)
         return f
 
@@ -1252,6 +1258,9 @@ def before_first_request(self, f):
         """Registers a function to be run before the first request to this
         instance of the application.
 
+        The function will be called without any arguments and its return
+        value is ignored.
+
         .. versionadded:: 0.8
         """
         self.before_first_request_funcs.append(f)
@@ -1298,6 +1307,8 @@ def teardown_request(self, f):
         When a teardown function was called because of a exception it will
         be passed an error object.
 
+        The return values of teardown functions are ignored.
+
         .. admonition:: Debug Note
 
            In debug mode Flask will not tear down a request on an exception
@@ -1332,6 +1343,8 @@ def teardown_appcontext(self, f):
         When a teardown function was called because of an exception it will
         be passed an error object.
 
+        The return values of teardown functions are ignored.
+
         .. versionadded:: 0.9
         """
         self.teardown_appcontext_funcs.append(f)
@@ -1710,8 +1723,9 @@ def handle_url_build_error(self, error, endpoint, values):
 
     def preprocess_request(self):
         """Called before the actual request dispatching and will
-        call every as :meth:`before_request` decorated function.
-        If any of these function returns a value it's handled as
+        call each :meth:`before_request` decorated function, passing no
+        arguments.
+        If any of these functions returns a value, it's handled as
         if it was the return value from the view and further
         request handling is stopped.
 

I got bitten by the not-optimally-documented fact that the return values of `before_request` callbacks aren't ignored.
