with Ada.Unchecked_Conversion;
with System.Address_Image;
package body Subp_Inst_Pkg is

   function Image (Val : T_Access) return String is
      function Convert is new Ada.Unchecked_Conversion
         (T_Access, System.Address);
   begin
      return System.Address_Image (Convert (Val));
   end Image;

   function T_Image (Val : access T) return String is
      type T_Access is access all T;
      function Convert is new Ada.Unchecked_Conversion
         (T_Access, System.Address);
   begin
      return System.Address_Image (Convert (T_Access (Val)));
   end T_Image;

end Subp_Inst_Pkg;