rem: struct B_ { typedef B_ const& embed_t; void foo() const { cout << "B_\n"; } };
add: struct X { typedef X embed_t; void foo() const { cout << "X\n"; } };
context: struct B_ { typedef B_ const& embed_t; void foo() const { cout << "B_\n"; } };