Ответ
Если встроенный (embedded) и внешний тип имеют метод с одинаковым именем, приоритет будет у метода внешнего типа. Это называется "shadowing".
type A struct{}
func (a A) Foo() { fmt.Println("A.Foo") }
type B struct{ A }
func (b B) Foo() { fmt.Println("B.Foo") }
func main() {
b := B{}
b.Foo() // Выведет "B.Foo"
b.A.Foo() // Явный вызов метода A
}
Если нужно вызвать метод встроенного типа, можно обратиться к нему явно через имя поля (даже если оно анонимное).