Возможно, я некорректно задааю вопрос. Просто по-идее, сравнивать можно что угодно) Все зависит от методики сравнения. Здесь вопрос даже ни в том, можно ли их сравнивать. А в том, почему они называются not comparable?
сравнить их ресурсоемко. слайсы и мапы все еще можно через https://golang.org/pkg/reflect/#DeepEqual а зачем вообще может потребоваться сравнивать функции и как это должно работать?
разве что выстрелить себе в ногу. как и зачем сравнивать 2 функции? уже сейчас можно сравнить 2 интерфейсных типа. интерфейсный тип содержит ссылку на тип (который фактически определяет интерфейс всех функций) и ссылку на значение.