Depth of a nested structure
Clojure code often deals with deeply nested collections. Your task is to write a function that finds the maximum depth of any given value.
Examples:
(depth 0) ;=> 0
(depth []) ;=> 1
(depth [[0] [2] [1 [2]]]) ;=> 3
Don't forget the collections include lists, vectors, maps, and sets.
Steve Miner solution missed special case for maps. Here's a revision: