1package Discr10 is
2
3   subtype Index is Natural range 0 .. 150;
4
5   type List is array (Index range <>) of Integer;
6
7   type R (D1 : Boolean := True; D2 : Boolean := False; D3 : Index := 0) is
8   record
9      case D2 is
10         when True =>
11            L : List (1 .. D3);
12            case D1 is
13               when True => I : Integer;
14               when False => null;
15            end case;
16         when False =>
17            null;
18      end case;
19   end record;
20
21   function Get (X : R) return R;
22
23end Discr10;
24