Там немає сильної концептуальної різниці.
Де можна просто - інтерфейс, де потрібно більше маніпуляцій -type
Разница есть именно на концептуальном уровне, интерфейсы/абстрактные классы это способ реализации контрактов вне зависимости яп, через их построен организационный принцип для разграничения архитектурных границ, если построить диаграму и линию разграничения реализации от абстрактности, где зависимости будут пересикать эту линию в сторону более абстрактных сущностей. А тип нужен точно не для этого