Когда встраиваешь тип в структуру (embedding), его методы "всплывают" наверх — это promoted methods. type Logger struct { *log.Logger } — теперь Logger имеет все методы log.Logger напрямую: l.Printf(...). Работает и с интерфейсами: если встроишь io.Reader, структура автоматически реализует io.Reader. Promoted methods участвуют в method set. Если есть конфликт имён — promoted метод скрывается, нужно обращаться через имя встроенного поля явно. Это основной механизм "наследования" в Go.