with Ada.Finalization; package Controlled_Record is type Point_T is limited private; procedure Assert_Invariants (PA : Point_T); private type Coords_T is array (1 .. 2) of Natural; type Point_T is new Ada.Finalization.Controlled with record Pos : Coords_T := (0, 0); end record; end Controlled_Record;