One obvious point is that proposals with the same value as the original values will always be accepted. I can simply code this logic into the step method, and keep `metrop_select` in its original form.