A lot more typo fixes by Ori Avtalion.
diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst
index 02ce783..076c284 100644
--- a/Doc/reference/compound_stmts.rst
+++ b/Doc/reference/compound_stmts.rst
@@ -531,7 +531,7 @@
 
 .. rubric:: Footnotes
 
-.. [#] The exception is propogated to the invocation stack only if there is no
+.. [#] The exception is propagated to the invocation stack only if there is no
    :keyword:`finally` clause that negates the exception.
 
 .. [#] Currently, control "flows off the end" except in the case of an exception or the
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
index 21bd750..23958ee 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -395,7 +395,7 @@
    generator, or raises :exc:`StopIteration` if the generator exits without
    yielding another value. When :meth:`send` is called to start the generator, it
    must be called with :const:`None` as the argument, because there is no
-   :keyword:`yield` expression that could receieve the value.
+   :keyword:`yield` expression that could receive the value.
 
 
 .. method:: generator.throw(type[, value[, traceback]])
@@ -677,7 +677,7 @@
 
 If the syntax ``*expression`` appears in the function call, ``expression`` must
 evaluate to a sequence.  Elements from this sequence are treated as if they were
-additional positional arguments; if there are postional arguments *x1*,...,*xN*
+additional positional arguments; if there are positional arguments *x1*,...,*xN*
 , and ``expression`` evaluates to a sequence *y1*,...,*yM*, this is equivalent
 to a call with M+N positional arguments *x1*,...,*xN*,*y1*,...,*yM*.
 
diff --git a/Doc/reference/index.rst b/Doc/reference/index.rst
index a179d21..18bf053 100644
--- a/Doc/reference/index.rst
+++ b/Doc/reference/index.rst
@@ -17,7 +17,7 @@
 interfaces available to C/C++ programmers in detail.
 
 .. toctree::
-   :maxdepth: 3
+   :maxdepth: 2
 
    introduction.rst
    lexical_analysis.rst