Menurut prinsip Pemisahan Perintah-Kueri , serta Berpikir dalam Data dan DDD dengan presentasi Clojure seseorang harus memisahkan efek samping (memodifikasi dunia) dari perhitungan dan keputusan, sehingga akan lebih mudah untuk memahami dan menguji kedua bagian.
Ini menyisakan pertanyaan yang tidak terjawab: di mana relatif terhadap batas yang harus kita letakkan "bertanya kepada dunia"? Di satu sisi, meminta data dari sistem eksternal (seperti basis data, API layanan eksternal, dll.) Tidak transparan secara referensi dan karenanya tidak boleh duduk bersama dengan kode komputasi dan pengambilan keputusan murni. Di sisi lain, itu bermasalah, atau mungkin mustahil untuk menggoda mereka selain dari bagian komputasi dan meneruskannya sebagai argumen karena kita mungkin tidak tahu sebelumnya data mana yang mungkin perlu kita minta.