;;;; (agent/start) takes no argument or one, and two is neither. ;;;; ;;;; The optional argument is a macro over two functions, and a macro with a ;;;; [& args] tail will take anything — so the refusal has to come from ;;;; somewhere. It comes from the expansion: every argument is spliced into ;;;; [start-at], which declares one, and the checker refuses the call it was ;;;; actually given. Dropping the extra argument instead would compile this ;;;; file and listen on the first path, which is the silent version of the ;;;; same mistake. (import agent "vendor:agent") (defn main [] i32 (agent/start "/tmp/one.sock" "/tmp/two.sock") 0)