package pointer_protected_p is
   type T;
   
   type Ptr is access protected procedure (Data : T);
   
   type T is record
      Data : Ptr;
   end record;
end pointer_protected_p;