The use of `loop` in new code is discouraged. Please, use core Emacs Lisp primitive or functions from `dash.el` (which is inspired by Clojure).