xxxxxxxxxx
import std.stdio;
void touch(Animal)(Animal animal)
{
slap(animal);
}
void slap(Animal)(Animal animal)
{
writeln(Animal.stringof, " say ", animal.say);
}
class Cat
{
auto say()
{
return "Mew";
}
}
class Worm
{
void say(int n)
{
}
}
void main()
{
touch(new Cat);
touch(new Worm);
}