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