Deterministic alternative choice

@erwaller could you look this over?
I mentioned this before, but killing a feature between major releases breaks BC for users, so either we're not following semver (fine by me) or we need to make a major release and not a 1.2.