Slide 38 of 41
Notes:
The first case is the alternatives of a CHOICE. The BER encoding of a CHOICE is just the TLV for the chosen alternative, so of course the tags have to be distinct. We saw this on almost the first slide, with a CHOICE of two NULL types. At least one of these NULLs had to be tagged (implicitly or explicitly, with some class of tag). As a matter of style we chose to tag both NULLs, and to use context-specific tags.
The second case is the elements of a SET. Remember that BER encodes them in any order as a sender’s option, so they must have distinct tags to enable a decoder to know which is which.
The third case is a bit more complex, and relates to optional (or default) elements in a sequence, and is treated in the next slide.