Это же разные вещи, не? async вынуждает делать все функции асинхронными, даже если это и не понадобится, а context можно либо не использовать совсем, либо передавать любой другой
Да нет же. А как же timeout'ы/deadline'ы/cancellation? Не использовать контекст - это отказаться от них. В теории то можно, на практике - не применимо в day-to-day коде. 2-3 года назад ходила байка ещё про гугловый кодстайл Го, что у них там за отсутствие контекста в АПИ пласкогубцами пальцы выкручивают.