declare swap generic ( swapf when (float, float), swapc when (char, char)); swapf: proc (a, b); declare (a, b, t) float; t = a; a = b; b = t; end swapf; swapc: proc (a, b); declare (a, b) character(*); declare t character (length(b)); t = a; a = b; b = t; end swapc; declare (r, s) character (5); call swap (r, s);