http://www.adaconcept.com/programs/csere.ads
generic
   type T is private;
procedure csere(A:in out T;B:in out T);