code: function doVisitHalf(lo, compare, visit, node) {
    var l = compare(lo, node.key)
    if(l <= 0) {
      if(node.left) {
        var v = doVisitHalf(lo, compare, visit, node.left)
        if(v) { return v }
      }
      var v = visit(node.key, node.value)
      if(v) { return v }
    }
    if(node.right) {
      return doVisitHalf(lo, compare, visit, node.right)
    }
  }
docs: Visit half nodes in order