prelude: :gerbil/compiler/ssxi
package: std/misc

(begin
  (declare-type
   std/misc/barrier#barrier::t
   (@struct-type std/misc/barrier#barrier::t #f 5 :init! ((final: . #t))))
  (declare-type
   std/misc/barrier#barrier?
   (@struct-pred std/misc/barrier#barrier::t))
  (declare-type
   std/misc/barrier#make-barrier
   (@struct-cons std/misc/barrier#barrier::t))
  (declare-type
   std/misc/barrier#barrier-mx
   (@struct-getf std/misc/barrier#barrier::t 0 #f))
  (declare-type
   std/misc/barrier#barrier-cv
   (@struct-getf std/misc/barrier#barrier::t 1 #f))
  (declare-type
   std/misc/barrier#barrier-count
   (@struct-getf std/misc/barrier#barrier::t 2 #f))
  (declare-type
   std/misc/barrier#barrier-limit
   (@struct-getf std/misc/barrier#barrier::t 3 #f))
  (declare-type
   std/misc/barrier#barrier-exn
   (@struct-getf std/misc/barrier#barrier::t 4 #f))
  (declare-type
   std/misc/barrier#barrier-mx-set!
   (@struct-setf std/misc/barrier#barrier::t 0 #f))
  (declare-type
   std/misc/barrier#barrier-cv-set!
   (@struct-setf std/misc/barrier#barrier::t 1 #f))
  (declare-type
   std/misc/barrier#barrier-count-set!
   (@struct-setf std/misc/barrier#barrier::t 2 #f))
  (declare-type
   std/misc/barrier#barrier-limit-set!
   (@struct-setf std/misc/barrier#barrier::t 3 #f))
  (declare-type
   std/misc/barrier#barrier-exn-set!
   (@struct-setf std/misc/barrier#barrier::t 4 #f))
  (declare-type
   std/misc/barrier#&barrier-mx
   (@struct-getf std/misc/barrier#barrier::t 0 #t))
  (declare-type
   std/misc/barrier#&barrier-cv
   (@struct-getf std/misc/barrier#barrier::t 1 #t))
  (declare-type
   std/misc/barrier#&barrier-count
   (@struct-getf std/misc/barrier#barrier::t 2 #t))
  (declare-type
   std/misc/barrier#&barrier-limit
   (@struct-getf std/misc/barrier#barrier::t 3 #t))
  (declare-type
   std/misc/barrier#&barrier-exn
   (@struct-getf std/misc/barrier#barrier::t 4 #t))
  (declare-type
   std/misc/barrier#&barrier-mx-set!
   (@struct-setf std/misc/barrier#barrier::t 0 #t))
  (declare-type
   std/misc/barrier#&barrier-cv-set!
   (@struct-setf std/misc/barrier#barrier::t 1 #t))
  (declare-type
   std/misc/barrier#&barrier-count-set!
   (@struct-setf std/misc/barrier#barrier::t 2 #t))
  (declare-type
   std/misc/barrier#&barrier-limit-set!
   (@struct-setf std/misc/barrier#barrier::t 3 #t))
  (declare-type
   std/misc/barrier#&barrier-exn-set!
   (@struct-setf std/misc/barrier#barrier::t 4 #t))
  (declare-type std/misc/barrier#barrier:::init! (@lambda 2 #f))
  (declare-method
   std/misc/barrier#barrier::t
   :init!
   std/misc/barrier#barrier:::init!
   #f)
  (declare-type std/misc/barrier#barrier-wait! (@lambda 1 #f))
  (declare-type std/misc/barrier#barrier-post! (@lambda 1 #f))
  (declare-type std/misc/barrier#barrier-error! (@lambda 2 #f)))
