Fix a few grammar problems in the documentation and comments
diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst
index 1ee5110..5373acd 100644
--- a/Doc/library/ast.rst
+++ b/Doc/library/ast.rst
@@ -104,7 +104,7 @@
 :mod:`ast` Helpers
 ------------------
 
-Apart from the node classes, :mod:`ast` module defines these utility functions
+Apart from the node classes, the :mod:`ast` module defines these utility functions
 and classes for traversing abstract syntax trees:
 
 .. function:: parse(source, filename='<unknown>', mode='exec')
diff --git a/Doc/library/copy.rst b/Doc/library/copy.rst
index 1db5c2d..02ef0e5 100644
--- a/Doc/library/copy.rst
+++ b/Doc/library/copy.rst
@@ -67,8 +67,8 @@
 
 Classes can use the same interfaces to control copying that they use to control
 pickling.  See the description of module :mod:`pickle` for information on these
-methods.  In fact, :mod:`copy` module uses the registered pickle functions from
-:mod:`copyreg` module.
+methods.  In fact, the :mod:`copy` module uses the registered
+pickle functions from the :mod:`copyreg` module.
 
 .. index::
    single: __copy__() (copy protocol)
diff --git a/Doc/library/ftplib.rst b/Doc/library/ftplib.rst
index 2521f49..3d1f783 100644
--- a/Doc/library/ftplib.rst
+++ b/Doc/library/ftplib.rst
@@ -418,8 +418,8 @@
 
 .. method:: FTP_TLS.auth()
 
-   Set up secure control connection by using TLS or SSL, depending on what
-   specified in :meth:`ssl_version` attribute.
+   Set up a secure control connection by using TLS or SSL, depending on what
+   is specified in the :attr:`ssl_version` attribute.
 
    .. versionchanged:: 3.4
       The method now supports hostname check with
diff --git a/Lib/doctest.py b/Lib/doctest.py
index 64e6d71..432ef05 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -1573,7 +1573,7 @@
 
         # If `want` contains hex-escaped character such as "\u1234",
         # then `want` is a string of six characters(e.g. [\,u,1,2,3,4]).
-        # On the other hand, `got` could be an another sequence of
+        # On the other hand, `got` could be another sequence of
         # characters such as [\u1234], so `want` and `got` should
         # be folded to hex-escaped ASCII string to compare.
         got = self._toAscii(got)
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index ecc5507..5efdb67 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -3019,7 +3019,7 @@
     '''Test extremely small number of columns.
 
     TestCase prevents "COLUMNS" from being too small in the tests themselves,
-    but we don't want any exceptions thrown in such case. Only ugly representation.
+    but we don't want any exceptions thrown in such cases. Only ugly representation.
     '''
     def setUp(self):
         env = support.EnvironmentVarGuard()