Well I'm not sure if this is the best approach (to have a variable that's a hybrid between a boolean and a number). If we really want to keep that than the previous approach was really safer since it threw an error if the value did not match any of the selector's options. The reason I changed that was that it reported a warning (missing default option). My next attempt was to add a failing default ("default => fail('Invalid value')") but this does not work for the "fail" function being a void function. So I'm just reverting back to the original, being a little bit bothered with the warning.