(mac =map (f . args) `(= ,@(mappend (fn ((v . xs)) `(,v (,f ,@xs))) args))) (=map brackify (rbrackify "(" ")") (cbrackify "{" "}") (sbrackify "[" "]"))