I am reading an open source project and trying to understand this function which is defined in a let statement:
handler (fn [{:keys [type request-id] :as msg}]
...
)
Specifically, the argument list. What is {:keys [type request-id] :as msg} called, and what does it do?