VOMB, chapter 14 (Control structures), page 239


     Multi_branch rule

     A Multi_branch instruction is valid if  and  only  if
     the  following  conditions  are  met  by its unfolded
     form.

        1 The inspect expression is of type `INTEGER',
          `CHARACTER', 'NATURAL', a .NET enum, or
          an attached type based on a once class.

        2 The inspect constants (the values in the various
          Choices  parts)  are  constant attributes of the
          same type as the inspect expression.

        3  Any  two  non-Unique  inspect  constants   have
          different values.

        4 Any two Unique inspect constants have  different
          names.

        5 If any inspect constant is  Unique,  then  every
          other  inspect  constant  in  the instruction is
          either Unique or has a negative or zero value.

        6 All Unique inspect constants, if any,  have  the
          same  class  of origin (the enclosing class or a
          proper ancestor) or  are  defined  as  a  static
          access to a constant.
