Hi Haibo,

Thanks for the continued feedback. Attached is v8 addressing your nits
on patch 2:

- Reworded the commit message to say "the same outer-bounds-based
  estimator can be reused" instead of implying the code is just
  duplicated.
- Made comments in multirangejoinsel type-neutral where they
  unnecessarily said "range" (e.g. "bound histograms" instead of
  "range histograms", "empty values" instead of "empty ranges").
- Added the reverse mixed-direction tests (multirange x range).

Regards,
Maxime