Поскольку предоставление Foo2 a ref B приведет к некорректному объекту, потому что Foo2 знает, как заполнить A часть B.
Foo2
ref B
A
B