static void Main(string[] args)
    {
      var f1 = new FooImplementation1();
      int r1 = f1.Foo(0);
      Contract.Assert(r1 > 0);

      IFoo f2 = new FooImplementation2();
      int r2 = f2.Foo(1);
    }
        static void Main(string[] args)
        {
            var f1 = new FooImplementation1();
            int r1 = f1.Foo(0);

            Contract.Assert(r1 > 0);

            IFoo f2 = new FooImplementation2();
            int  r2 = f2.Foo(1);
        }