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;