For posterity, here's a macro to play with similar ideas:
Then you can do ((%% (println "hi" %1:bob)) {:bob 2} 3)) to get hi 2 out
((%% (println "hi" %1:bob)) {:bob 2} 3))
hi 2
you could drop that behind a tag reader too I suppose
needs nesting prevention too