loop-recur never lazy, replace by lazy-seq for much better performance