Theo nguyên tắc phân tách truy vấn lệnh , cũng như suy nghĩ về dữ liệu và DDD với các bài thuyết trình Clojure, người ta nên tách các tác dụng phụ (sửa đổi thế giới) khỏi các tính toán và quyết định, để dễ hiểu và kiểm tra cả hai phần.
Điều này để lại một câu hỏi chưa được trả lời: chúng ta nên đặt "hỏi thế giới" ở đâu? Một mặt, việc yêu cầu dữ liệu từ các hệ thống bên ngoài (như cơ sở dữ liệu, API của dịch vụ ngoại vi, v.v.) không được minh bạch về mặt tham chiếu và do đó không nên ngồi cùng với mã tính toán và ra quyết định thuần túy. Mặt khác, nó có vấn đề hoặc có thể không thể trêu chọc họ ngoài phần tính toán và chuyển nó thành một đối số vì chúng tôi có thể không biết trước dữ liệu nào chúng tôi có thể cần yêu cầu.