Хотя бы потому, что с "фасада" он может быть чистой функцией, а "с заду" иметь сколько угодно регулировок и параметров и функционировать в некотором контексте.

Чисто-функциональная обработка потоков данных - это хорошо, когда каждый узел в этой обработке может быть встроен в некий... конфигурационный контекст, что ли.

Представьте, что у Вас есть программа на ФЯ, а Вы берёте и делаете каждую функцию динамически меняющей своё поведение (переключение реализаций и т.п.). В системных задачах это очень важно; не говоря про реальные производительные вычисления. Т.е. при некотором стиле ОО-программирования ФП окажется просто его статической заморозкой. Чистый же ФЯ своей статичностью мешает решению архитектурных задач.