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

(begin
  (declare-type
   std/misc/sync#sync-hash::t
   (@struct-type std/misc/sync#sync-hash::t #f 2 :init! ((final: . #t))))
  (declare-type
   std/misc/sync#sync-hash?
   (@struct-pred std/misc/sync#sync-hash::t))
  (declare-type
   std/misc/sync#make-sync-hash
   (@struct-cons std/misc/sync#sync-hash::t))
  (declare-type
   std/misc/sync#sync-hash-ht
   (@struct-getf std/misc/sync#sync-hash::t 0 #f))
  (declare-type
   std/misc/sync#sync-hash-mx
   (@struct-getf std/misc/sync#sync-hash::t 1 #f))
  (declare-type
   std/misc/sync#sync-hash-ht-set!
   (@struct-setf std/misc/sync#sync-hash::t 0 #f))
  (declare-type
   std/misc/sync#sync-hash-mx-set!
   (@struct-setf std/misc/sync#sync-hash::t 1 #f))
  (declare-type std/misc/sync#sync-hash:::init! (@lambda 2 #f))
  (declare-method
   std/misc/sync#sync-hash::t
   :init!
   std/misc/sync#sync-hash:::init!
   #f)
  (declare-type std/misc/sync#sync-hash-get (@lambda 2 #f))
  (declare-type std/misc/sync#sync-hash-ref (@lambda 3 #f))
  (declare-type std/misc/sync#sync-hash-key? (@lambda 2 #f))
  (declare-type std/misc/sync#sync-hash-put! (@lambda 3 #f))
  (declare-type std/misc/sync#sync-hash-remove! (@lambda 2 #f))
  (declare-type std/misc/sync#sync-hash-do (@lambda 2 #f)))
