Спасибо @RichardHein за отличный ответ.
Методы расширения блокировки действительно должны быть перемещены в свое собственное пространство имен, поэтому разработчик должен специально включить их в проект (или, в частности, в файл CS). Вы добавляете массу сложности с Rx, и случайно используя метод блокировки, вы в основном возвращаетесь к IList / IEnumerable.
Я думаю, что это самая большая ошибка, которую сделала команда Rx, я думаю, включив их по умолчанию, они пропустили «пропасть успеха» с Rx. Исправьте это, и я бы назвал Rx предпочтительным API при переходе от однопоточного + асинхронного в C # (т. Е. Почему .NET более мощный, чем, скажем, NodeJS).