code: func (t *Tr) filter(start, stop interface{}, n *Node, fn func(key *Key) bool) bool {
  	for iter := n.iter(t.config.Comparator, start, stop); iter.next(); {
  		id, _ := iter.value()
  		if !fn(id) {
  			return false
  		}
  	}
  
  	return true
  }
docs: // filter performs an after fetch filtering of the values in the provided node.
  // Due to the nature of the UB-Tree, we may get results in the node that
  // aren't in the provided range.  The returned list of keys is not necessarily
  // in the correct row-major order.