Зачем в Java8 добавили default-методы для интерфейсов (усложнение); если можно было снять запрет методам интерфейсов иметь тело, а тем что не имеют – пусть явно были бы abstract (облегчение, с тем же итогом)? Другими словами, чем default-методы отличаются от instance (нужен же был зачем-то такой манёвр в сторону усложнения)?