I would suggest using `(take per-page (drop (* (dec page) per-page) coll))`. The `dec` is because pages are 1 indexed but clojure seqs are 0 indexed. This is slightly more performant than partition-all since you don't have to realise all the partitions upto a certain number. In fact if you were using a vector. You could possibly make it more performant with subvec. 🤔