прочитал статью на патреоне.
не могу отделаться от мысли, что проблема потери контекста в эффекте напрямую связана с проблемой потерей контекста обычного асинхронного вызова. и что, например, подход аналогичный Zone.js бы решил проблему (но делать так конечно не сто́ит).
вообще забавно, что v8 умеет частично отслеживать контекст await промисов, и умеет показывать адекватный стектрейс. в этом плане async-await не просто сахар над промисами, они работают по другому.