package Pure_Function3_Pkg is
type T is limited private;
function F (Self : T) return Integer with Pure_Function;
procedure Set (Self : in out T);
function F_And_Set (Self : in out T) return Integer with Pure_Function;
private
type T is limited record
F : Integer;
end record;
end Pure_Function3_Pkg;