А зачем там multiple dispatch, там же статическая типизация.
А это не связанные вещи, на самом деле. Просто у тебя на этапе компиляции при сингл-диспатче учитывается один тип при полиморфизме, а так можно использовать больше одного. И с точки зрения логической целостности, это более верная модель построения методов взаимодействия между объектами. А когда у тебя сингл-диспатч и разные объекты, то приходится изворачиваться. Но все уже настолько к этому привыкли, что не видят в этих изворотах изворотов.