-- Split up the recursion to ensure that we use less stack space    (and thus stay alive for longer).
-- Split up the recursion to ensure that we use less stack space
   (and thus stay alive for longer).

   Thanks to Sjoerd for sharing some of his knowledge about compilers.

zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb