static void foo_check(int inner) { }
static void foo_check(float inner) { }
static void foo_check(long inner) { }
static void foo<T>(T outer) where T: struct,
foo_check(outer as dynamic);
Console.WriteLine(outer);
public static void Main()
Console.WriteLine("Hello World");