Абстрактные функции не воспринимает за реализацию функций интерфейса

Почему же это правильно? Экземпляр абстрактного класса не создать, функцию придётся переопределить в дочерних классах, поэтому экземпляра с неопределённой функцией всё равно не будет. Если запрещать это - теряются большинство фичей абстрактного класса.