uses System;
var i: integer;
procedure Test;
begin
Inc(i);
end;
type TProc = procedure(i: integer);
var d: Delegate := ()->Test();
Action(d);
assert(i = 1);
var d2: Delegate := ()->Test();
Action(d2);
assert(i = 2);
end.