T func(T : string)()
{
  return "Hello,world!";
}
T func(T : int)()
{
  return -1;
}

void main()
{
  string str = func();
  writeln(str);//Hello,world!
}

これが動いたらやりたいことが色々できるんだけど無理かなぁ