Isn't he looping many times in this example. In an imperative language I would loop through the records once, find savings accounts, get balance and add to total - all in one loop.
http://richhickey.github.com/clojure/clojure.core-api.html#c...
For a small list like this I would use a fold function and accumulate up savings account amounts, all in one pass, all functional.