Как упоминает Артур, мультиметоды более мощные и дорогие. В самом деле, протоколы можно рассматривать как частный случай mutlimethods, где функция отправки class
. Конечно, на самом деле это не так, поскольку протоколы - это больше.
Если вам нужно отправить что-то, отличное от класса первого аргумента, вам нужно будет использовать мультиметод или редизайн , Диспетчерский тип является хорошим вариантом для протоколов.