function
(next ds &opt key)
Gets the next key in a data structure. Can be used to iterate through
the keys of a data structure in an unspecified order. Keys are
guaranteed to be seen only once per iteration if they data structure
is not mutated during iteration. If key is nil, next returns the
first key. If next returns nil, there are no more keys to iterate
through.
(next [4 5 6] ) # => 0
(next [4 5 6] 0 ) # => 1
(next [4 5 6] 1 ) # => 2
(next [4 5 6] 2 ) # => nil
# note that dictionary keys are not necessarily in the same order
# as the corresponding literal.
(next {:a 5 :b 6 :c 7} ) # => :a
(next {:a 5 :b 6 :c 7} :a ) # => :c
(next {:a 5 :b 6 :c 7} :c ) # => :b
(next {:a 5 :b 6 :c 7} :b ) # => nil