А почему нельзя проверять непонятно?
То есть если я говорю, что A <: AbstractB, почему нельзя автоматически проверить, что для А реализованы методы 1,2,3 и тд?
Один из ответов - потому что это может быть банально не нужно.
Например, есть тип AbstractDict. Если ты пишешь структуру, которая не умеет сохранять значения (например инициализируется один раз статически), то достаточно определить метод getindex, но не определять метод setindex и пользоваться при этом частью функциональности словаря.