proxy/base.ss
(module base mzscheme

  (require (planet "exn.ss" ("untyped" "unlib.plt" 2)))
  
  (provide (all-defined)
           (all-from (planet "exn.ss" ("untyped" "unlib.plt" 1))))
  
  (define current-id (make-parameter #f))

  (define get-next-id
    (let ([next-id (make-thread-cell 0)])
      (lambda ()
        (let ([current-id (thread-cell-ref next-id)])
          (thread-cell-set! next-id (add1 current-id))
          current-id))))
  
  (define (debug . args)
    (printf "~a: " (current-id))
    (apply printf args)
    (newline))
  
  (define-struct (exn:proxy exn) ())
  
  )