static void Main()
    {
        f <A1>(new A1());
        f <A2>(new A2());
        var a2 = new A2();

        f2(() => a2.Choose(), a2);
        var a1 = new A1();

        f2(() => a1.Choose(), a1);

        Console.ReadLine();
    }