diff --git a/common.scad b/common.scad
index d847bd5..0a08f5d 100644
--- a/common.scad
+++ b/common.scad
@@ -471,7 +471,7 @@ module shape_compare(eps=1/1024) {
 //   variables, that means that only the NEXT phase can be used for iterative calculations.
 //   Unfortunately, the NEXT phase runs *after* the RETVAL expression, which means that you need
 //   to run the loop one extra time to return the final value.  This tends to make the loop code
-//   look rather ugly.  The `looping()`, `loop_next()` and `loop_done()` functions
+//   look rather ugly.  The `looping()`, `loop_while()` and `loop_done()` functions
 //   can make this somewhat more legible.
 //   ```openscad
 //   function flat_sum(l) = [
@@ -482,9 +482,9 @@ module shape_compare(eps=1/1024) {
 //           
 //           looping(state);
 //           
-//           state = loop_next(state, i < len(l)),
+//           state = loop_while(state, i < len(l)),
 //           total = total +
-//               !looping(state) ? 0 :
+//               loop_done(state) ? 0 :
 //               let( x = l[i] )
 //               is_list(x) ? flat_sum(x) : x,
 //           i = i + 1
@@ -497,27 +497,28 @@ module shape_compare(eps=1/1024) {
 // Usage:
 //   looping(state)
 // Description:
-//   Returns true if the `state` value indicates the loop is still progressing.
+//   Returns true if the `state` value indicates the current loop should continue.
 //   This is useful when using C-style for loops to iteratively calculate a value.
-//   Used with `loop_next()` and `loop_done()`.  See [Looping Helpers](#looping-helpers) for an example.
+//   Used with `loop_while()` and `loop_done()`.  See [Looping Helpers](#5-looping-helpers) for an example.
 // Arguments:
 //   state = The loop state value.
-function looping(state) = state<2;
+function looping(state) = state < 2;
 
 
-// Function: loop_next()
+// Function: loop_while()
 // Usage:
-//   state = loop_next(state, continue)
+//   state = loop_while(state, continue)
 // Description:
 //   Given the current `state`, and a boolean `continue` that indicates if the loop should still be
 //   continuing, returns the updated state value for the the next loop.
 //   This is useful when using C-style for loops to iteratively calculate a value.
-//   Used with `looping()` and `loop_done()`.  See [Looping Helpers](#looping-helpers) for an example.
+//   Used with `looping()` and `loop_done()`.  See [Looping Helpers](#5-looping-helpers) for an example.
 // Arguments:
 //   state = The loop state value.
 //   continue = A boolean value indicating whether the current loop should progress.
-function loop_next(state, continue) =
-    state>=1? 2 : (continue? 0 : 1);
+function loop_while(state, continue) =
+    state > 0 ? 2 :
+    continue ? 0 : 1;
 
 
 // Function: loop_done()
@@ -526,10 +527,10 @@ function loop_next(state, continue) =
 // Description:
 //   Returns true if the `state` value indicates the loop is finishing.
 //   This is useful when using C-style for loops to iteratively calculate a value.
-//   Used with `looping()` and `loop_next()`.  See [Looping Helpers](#looping-helpers) for an example.
+//   Used with `looping()` and `loop_while()`.  See [Looping Helpers](#5-looping-helpers) for an example.
 // Arguments:
 //   state = The loop state value.
-function loop_done(state) = state==1;
+function loop_done(state) = state > 0;
 
 
 // vim: expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap
diff --git a/version.scad b/version.scad
index 8b8ddcf..a2f93d2 100644
--- a/version.scad
+++ b/version.scad
@@ -8,7 +8,7 @@
 //////////////////////////////////////////////////////////////////////
 
 
-BOSL_VERSION = [2,0,442];
+BOSL_VERSION = [2,0,443];
 
 
 // Section: BOSL Library Version Functions