You can use forward declarations in Clojure so you can call functions that haven’t been defined yet.
(declare readCmd)
should work!
In Clojure, the order in which you define functions is important, a function can’t call another function (or anything for that matter) that hasn’t been defined yet. That’s why we have forward declarations.