More docs, error messages, and tests
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 4e93b15..8d24e23 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -365,9 +365,13 @@
 
    The *fieldnames* are a single string with each fieldname separated by whitespace
    and/or commas (for example 'x y' or 'x, y').  Alternatively, the *fieldnames*
-   can be specified as a list of strings (such as ['x', 'y']).  Any valid
-   Python identifier may be used for a fieldname except for names starting and 
-   ending with double underscores.
+   can be specified as a list of strings (such as ['x', 'y']).
+
+   Any valid Python identifier may be used for a fieldname except for names
+   starting and ending with double underscores.  Valid identifiers consist of
+   letters, digits, and underscores but do not start with a digit and cannot be
+   a :mod:`keyword` such as *class*, *for*, *return*, *global*, *pass*, *print*,
+   or *raise*.
 
    If *verbose* is true, will print the class definition.