Понятно, что в ряде случаев удобно, когда диспатч метода (в данном случае неважно — статически или динамически) происходит по типу нескольких аргументов(см. те же мультиметоды). Типичный пример удобства такого диспатча — математические операторы, где могут быть int + float и float + float. Последние, к слову, весьма неловко выражаются в чистом ООП, где диспатч происходит по типу первого аргумента.
А теперь, собственно, вопрос.
То, что операторы с мульти-диспатчем — полезны, сомнений не вызывает, но можете ли вы привести примеры полезных функций, где требуется диспатч по >2 двум аргументам?