binary-search based recombination algorithm performs better on large numbers of markers, even if pure-python!