This could cause a very deep stack except that we rely on the underlying _bytes() calls to either unwind the stack if they need to asynchronously wait for more data, or else to trampoline to avoid stack overflow.
function getListEntry(n) {
        getBytes(function(entryBuffer) {
          result.push(raw ? entryBuffer : entryBuffer.toString(encoding));
          next(n);
        });
      }