How is this done in smalltalk without using an if-test or is-a tests for typechecking?
for example :
function Add( x, y : Integer ) : Integer;
begin
Add := x + y
end;
function Add( s, t : String ) : String;
begin
Add := Concat( s, t )
end;