Statically checked pattern matching validates that the provided patterns cover all possible values the variable could have (the whole space of the variables declared&#x2F;inferred type). So the actual runtime value is not necessary: if the match is exhaustive, there is no possible value that could be taken at runtime that would result in no match.