3 type Obj_T
is abstract tagged null record;
5 type T
is access all Obj_T
'Class;
7 function Slave
(Obj
: access Obj_T
) return T
is (T
(Obj
));
9 function Optional_Slave
(Obj
: T
) return T
;
15 function Optional_Slave
(Obj
: T
) return T
is
16 (if Obj
= null then null else Slave
(Obj
));