diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fc7e99b634e248fa04263469394ef68d3edcc90f..fcfd149160782fb144e2631134ccc1d25ba74017 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -71,4 +71,21 @@ jobs:
                 curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh
                 . ./build-and-test-py-project.sh
 
+    docs:
+        name: Documentation
+        runs-on: ubuntu-latest
+        steps:
+        -   uses: actions/checkout@v2
+        -
+            uses: actions/setup-python@v1
+            with:
+                python-version: '3.x'
+        -   name: "Main Script"
+            run: |
+                EXTRA_INSTALL="numpy"
+                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/ci-support.sh
+                . ci-support.sh
+                build_py_project_in_venv
+                build_docs
+
 # vim: sw=4
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index aae441a228fac6ba22e456ef156d763e536e49ad..9b9500c0256879e8a49969ff9fa351e66eba2d08 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -48,6 +48,4 @@ Documentation:
   - ". ./build-docs.sh"
   tags:
   - python3
-  only:
-  - master
 
diff --git a/pytools/__init__.py b/pytools/__init__.py
index 585d4b8d50fa188e28ffedfbb8285ec3f08bebb0..b7dc0989835991c6c29392894b48743a942b05ee 100644
--- a/pytools/__init__.py
+++ b/pytools/__init__.py
@@ -153,6 +153,17 @@ Sorting in natural order
 
 .. autofunction:: natorder
 .. autofunction:: natsorted
+
+Type Variables Used
+-------------------
+
+.. class:: T
+
+    Any type.
+
+.. class:: F
+
+    Any callable.
 """
 
 # {{{ type variables
diff --git a/pytools/graph.py b/pytools/graph.py
index a00fe3178c58d23deecb40bdcd00404a7cf25b22..c9ce84aaf511e819b062ed20fec259b1182daab6 100644
--- a/pytools/graph.py
+++ b/pytools/graph.py
@@ -35,7 +35,6 @@ Graph Algorithms
 .. autofunction:: compute_sccs
 .. autoclass:: CycleError
 .. autofunction:: compute_topological_order
-.. autofunction:: compute_topological_order_v2
 .. autofunction:: compute_transitive_closure
 .. autofunction:: contains_cycle
 .. autofunction:: compute_induced_subgraph
diff --git a/pytools/obj_array.py b/pytools/obj_array.py
index 509f1582f993c1abd94161ef22d8091012552611..f0e5f24012891636d0cbd70222b4fc1b8312fdda 100644
--- a/pytools/obj_array.py
+++ b/pytools/obj_array.py
@@ -131,7 +131,7 @@ def obj_array_vectorize(f, ary):
 
     .. note ::
 
-        This function exists because :func:`numpy.vectorize` suffers from the same
+        This function exists because :class:`numpy.vectorize` suffers from the same
         issue described under :func:`make_obj_array`.
     """
 
@@ -158,7 +158,7 @@ def rec_obj_array_vectorize(f, ary):
 
     .. note ::
 
-        This function exists because :func:`numpy.vectorize` suffers from the same
+        This function exists because :class:`numpy.vectorize` suffers from the same
         issue described under :func:`make_obj_array`.
     """
     if isinstance(ary, np.ndarray) and ary.dtype.char == "O":
@@ -186,7 +186,7 @@ def obj_array_vectorize_n_args(f, *args):
 
     .. note ::
 
-        This function exists because :func:`numpy.vectorize` suffers from the same
+        This function exists because :class:`numpy.vectorize` suffers from the same
         issue described under :func:`make_obj_array`.
     """
     oarray_arg_indices = []