Вы, вероятно, имеете в виду, что протокол A расширяет / усиливает B.
Если сделать обязательный метод необязательным, это нарушит существующий код. Вы можете использовать реализацию A, где требуется B, но вы не предоставляете требуемый метод, поэтому переходите от req. выбрать не имеет смысла вообще.
Обратный путь должен работать с логической точки зрения. Хотя не проверял, но запуск компилятора должен занять меньше минуты.