Потому что эргономика так себе, она сильно ограничивает архитектуру приложения не по принципиальным причинам, а тупо из-за ограничений языка, связанных с его низкоуровневостью и некоторыми решениями в дизайне.
С этим можно мириться, если тебе нужна максимально хорошая производительность, но это редко нужно.
А где производительность не столь критична, там есть куда более выразительные альтернативы, которые в IO-bound задачах сравнимы по большинству показателей, а в плане эргономики сильно лучше