К необъектным языкам плохо применима формальная логика, но если натягивать интерфейсы го по аналогии на объектные "интерфейсы", то тут тоже есть грабли: с позиции понятий наследование дает отношение подчинения, а интерфейс - пересечения. Если интерфейс не технического характера а-ля сериализовать, конвертировать в мапу и т.п., а несет в себе немного доменной логики, то появляется возможность приплести его ко множеству из N типов, часть из которых его реализовывать не должна или же нуждается в отдельном интерфейсе. На более поздних этапах обнаруживается ошибка и начинаются попытки исправлять\подстраивать\корректировать интерфейс, но за счет того, что его имплементят разные типы логически отдаленных между собой вещей, то повсеместно ломается апи у всех и эта задача балансировки, чтобы угодить всем, но и внести исправление может закончиться очень большими неприятностями. Отношение подчинения вид-индивид или же род\вид хоть и несет в себе проблему "хрупкого базового класса", но по проблемам более предсказуемо и за счет ограничений наследования иногда само исправляет ошибки. Так что вангую в более сложных гошных либах веселые приключения с такой аналогией ооп\неооп.