diff --git a/_includes/nav.html b/_includes/nav.html
index 748b6cea5bd0bfa086e681ac05425f0459736dc8..c9bcbda4ec4eee085bd01badd23e13b0e1c757a4 100644
--- a/_includes/nav.html
+++ b/_includes/nav.html
@@ -4,11 +4,15 @@
         | where_exp:"item", "item.title != nil" -%}
 
   {%- comment -%}
-    A nav_order value can be a number or a string.
-    Numbers are sorted by their values, before strings.
-    An omitted nav_order value is equivalent to the title value,
-    except that a numerical title value is treated as a string.
-    The case-sensitivity of string sorting is determined by site.nav_sort.
+    The values of `title` and `nav_order` can be numbers or strings.
+    Jekyll gives build failures when sorting on mixtures of different types,
+    so numbers and strings need to be sorted separately.
+
+    Here, numbers are sorted by their values, and come before all strings.
+    An omitted `nav_order` value is equivalent to the page's `title` value
+    (except that a numerical `title` value is treated as a string).
+
+    The case-sensitivity of string sorting is determined by `site.nav_sort`.
   {%- endcomment -%}
   
   {%- assign string_ordered_pages = included_pages