Fix choose and chooseIfNotGiven logic