1package Tagged5 is 2 3 type T is limited interface; 4 5 not overriding function Element 6 (Self : T; 7 Index : Positive) 8 return Integer is abstract 9 with Pre'Class => Index + Index ** 2 in 1 .. 10; 10 11 function First 12 (Self : T'Class) 13 return Integer 14 is (Self.Element (1)); 15 16 procedure Dummy; 17 18end Tagged5; 19