;; (ipc:for-each '("primary" "utility") 'fn-with-2-args '((12 436) (36 45)))
(define ipc:for-each
(lambda (proc-list func . arg-lists)
;; poor man's destructuring(ish)
(set! arg-lists
(if (null? arg-lists)
(make-list (length proc-list) '())
(map (lambda (x) (if (list? x) x (list x)))
(car arg-lists))))
(for-each (lambda (proc args)
(apply ipc:call-async proc func args))
proc-list
arg-lists)))