I'd vote for B, which seems rather elegant. The overlap priority
sounds a bit like a cumbersome adhoc parameter. I also second the
suggestion to make the epsilon configurable. In particular, it
should be possible to set it to 0 for backward compatibility
with existing wine glasses ;)