Dynamiczne wywołania metod w makrze Clojure?

Próbuję napisać makro, które wywoła metody ustawiające java na podstawie podanych mu argumentów.

Na przykład:

(my-macro login-as-fred {"Username" "fred" "Password" "wilma"})

może rozwinąć się w następujący sposób:

(doto (new MyClass)
  (.setUsername "fred")
  (.setPassword "wilma"))

Jak zarekomendowałbyś rozwiązanie tego problemu?

W szczególności mam problem z wypracowaniem najlepszego sposobu skonstruowania nazwy metody ustawiającej i zinterpretowania jej jako symbolu przez makro.

questionAnswers(4)

yourAnswerToTheQuestion