# complex matching, when you need to use predicates
# to determine a match
(def test {:a {:b 1} :c 2})
(match test
({:a a} (dictionary? a)) (print "is a dictionary"))
# --> "is a dictionary"
(match test
({:a a} (boolean? a)) (print "is a dictionary"))
# --> nil