Best match

Here's an initial stab at `best_match` from #91.

Comments very welcome, would very much like users to take a look at this, possibly suggest additional cases or heuristics, etc.