Clojure allows you to pass data into a function using a map.
That maps caters for the :pre and :post keys which allow you to pass through a vector of functions and if one of the functions in the vector fails an exception will be thrown.
Here's how to use them! :D