Use Map instead of loop/recur