По моему, введение новой конструкции для асинхронных вычислений хорошо тогда, когда оно позволяет одно или несколько из следующих:
- а) избавиться от тредов там, где приходится их использовать
- б) избавиться от цепочки сообщений и заменить её обычным стеком исполнения
- в) избавиться от разрыва лексической области видимости - пользоваться теми же локальными переменными, которые есть в начале асинхронного куска.
Пункт в) успешно решается замыканиями, т.е. futures тут не при делах. А как по остальным пунктам? Что-то не могу слёту понять, можно ли тут получить какую-то пользу. Или я ещё что-то упустил?