code: function Cursor(tree, start, end) {
          this.tree = tree;
          this.start = start;
          this.end = end;
          
          var self = this;
          this.walk = function walk(node, iterator) {
              if (node === null) return;
              
              if (start !== undefined && node.key < start) {
                  walk(node.right, iterator);
              } else if (end !== undefined && node.key > end) {
                  walk(node.left, iterator);
              } else {
                  walk(node.left, iterator);
                  iterator(node.value, node.key, self.tree);
                  walk(node.right, iterator);
              }
          };
      }
docs: Cursor ---------------