1package Expr_Func7 is
2
3   type Abstract_Food is tagged null record;
4   type Abstract_Food_Access is access Abstract_Food'Class;
5
6   type Fruit is new Abstract_Food with record
7      Worm : Boolean;
8   end record;
9
10   type Bananas is tagged record
11      Inside : Abstract_Food_Access;
12   end record;
13
14   function Has_Worm
15     (B : Bananas) return Boolean is (Fruit (B.Inside.all).Worm);
16
17   Cool : Bananas;
18
19   procedure Dummy;
20end Expr_Func7;
21