e has yet been set
(event-loop-block! #t)

(define (parallel-map await resume proc lst)
  (match lst
    (() '())
    ((head . tail)
     (let ((m1 (make-meeting)))
       (compose-a-sync ((hd (await-task-in-thread! (lambda () (proc head)))))
		       (meeting-send m1 hd))
       (let* ((tl (parallel-map await resume proc tail))
	      (hd (meeting-receive await resume m1)))
	 (cons hd tl))))))

;; simulate a computational task which takes 1 second to complete
(define (do-work i) (sleep 1) (* i 2)) 

(a-syn