Очередь с приоритетом реализуется на кучах нормально. Если есть цель совершать обход и куча полная, то ее можно представить в виде слайса и все становится совсем хорошо в плане навигации по ней
Ну, по началу возможно, но все же это неплохое подспорье, потому что для унификации функций, учитывая невозможность стандартных дефолтных типов, интерфейс тоже довольно неудобная штука, слишком много кода получается
Да и использование ресиверов для типов не в родном пакете тоже хотелось бы видеть, все это, конечно, можно обходить, но это уже какие то костыли, как по мне
Ну, приведу пример, есть допустим, используемая библиотека, и нужно используя тип из этой библиотеки написать одну предполагаемую функцию, то есть мы используем и функции в самой библиотеке, и свою, которую написали с внешним ресивером