alright, посмотрела и осознала что не так понимала мультиметоды и мне такое пока рано
Простыми словами: при вызове мультиметода вызываем "функцию диспетчеризации", которая из аргументов вызова возвращает какое-то значение (например, keyword). Дальше ищем реализацию исходного вызываемого мультиметода для данного значения (keyword-а)