То что я не ввел тайпкласс не значит, что мой объект по факту не выполняет некий интерфейс. Более того, понять, что он его выполняет можно было бы даже в компил-тайме. Просто современные системы типов этого как бы не делают
ну так ты не ввел - другой человек введет. Свой тайпкласс для твоего типа. И опишет этот самый интерфейс