Pros of Ada's design: Reliability.The programmer must manage all possible values. This prevents the programmer from accidentally forgetting to process certain values. It also increases readability,especially as it pertains to Reliability. When a programmer is reading code that has a case construct, it is easy to miss the fact that unrepresented values are not dealt with.
Cons of Ada's design: Writability. The programmer may choose to have the program do nothing for
unrepresented values. However, this is a very minor con since the default case can do nothing anyway.
At least, requiring the programmer to include an empty default case, they must be explicit about the fact that they wish to do nothing for unrepresented values.