LL
Я сразу подумал о протоколах, но тогда пришлось бы писать один и тот же код для
diff(mapset, ets)
и diff(ets, mapset)
Можно свести проблему:
Типа есть несколько сущностей, предоставляющих интерфейс множества и над ними хочется выполнять функции, где эти сущности встречаются в двух и более аргументах
В эликсире такой полиморфизм возможен только через протоколы. А вот в лиспах, например, есть мультиметоды для этого