This whole change fixes a long-existing bug where options starting with the same substring were not always distinguished