Some areas of the library check for both representations, and so doing this here too means we are less likely to break existing code. Despite this, flexibility introduces ambiguity, and so if typing gives us confidence that such an input is unlikely, we could re-review this; conditions with missing keys are not safe to use across the entire code- base.