with Generic_Swap; ... type T is ... procedure T_Swap is new Generic_Swap (Swap_Type => T); A, B : T; ... T_Swap (A, B);