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

(begin
  (declare-type
   std/misc/rbtree#rbtree::t
   (@struct-type std/misc/rbtree#rbtree::t #f 2 :init! ((final: . #t))))
  (declare-type
   std/misc/rbtree#rbtree?
   (@struct-pred std/misc/rbtree#rbtree::t))
  (declare-type
   std/misc/rbtree#make-rbtree
   (@struct-cons std/misc/rbtree#rbtree::t))
  (declare-type
   std/misc/rbtree#rbtree-root
   (@struct-getf std/misc/rbtree#rbtree::t 0 #f))
  (declare-type
   std/misc/rbtree#rbtree-cmp
   (@struct-getf std/misc/rbtree#rbtree::t 1 #f))
  (declare-type
   std/misc/rbtree#rbtree-root-set!
   (@struct-setf std/misc/rbtree#rbtree::t 0 #f))
  (declare-type
   std/misc/rbtree#rbtree-cmp-set!
   (@struct-setf std/misc/rbtree#rbtree::t 1 #f))
  (declare-type std/misc/rbtree#rbtree:::init!__% (@lambda 3 #f))
  (declare-type std/misc/rbtree#rbtree:::init!__0 (@lambda 2 #f))
  (declare-type
   std/misc/rbtree#rbtree:::init!
   (@case-lambda
    (2 std/misc/rbtree#rbtree:::init!__0)
    (3 std/misc/rbtree#rbtree:::init!__%)))
  (declare-method
   std/misc/rbtree#rbtree::t
   :init!
   std/misc/rbtree#rbtree:::init!
   #f)
  (declare-type std/misc/rbtree#rbtree-ref__% (@lambda 3 #f))
  (declare-type std/misc/rbtree#rbtree-ref__0 (@lambda 2 #f))
  (declare-type
   std/misc/rbtree#rbtree-ref
   (@case-lambda
    (2 std/misc/rbtree#rbtree-ref__0)
    (3 std/misc/rbtree#rbtree-ref__%)))
  (declare-type std/misc/rbtree#rbtree-get (@lambda 2 #f))
  (declare-type std/misc/rbtree#rbtree-put! (@lambda 3 #f))
  (declare-type std/misc/rbtree#rbtree-put (@lambda 3 #f))
  (declare-type std/misc/rbtree#rbtree-update!__% (@lambda 4 #f))
  (declare-type std/misc/rbtree#rbtree-update!__0 (@lambda 3 #f))
  (declare-type
   std/misc/rbtree#rbtree-update!
   (@case-lambda
    (3 std/misc/rbtree#rbtree-update!__0)
    (4 std/misc/rbtree#rbtree-update!__%)))
  (declare-type std/misc/rbtree#rbtree-update__% (@lambda 4 #f))
  (declare-type std/misc/rbtree#rbtree-update__0 (@lambda 3 #f))
  (declare-type
   std/misc/rbtree#rbtree-update
   (@case-lambda
    (3 std/misc/rbtree#rbtree-update__0)
    (4 std/misc/rbtree#rbtree-update__%)))
  (declare-type std/misc/rbtree#rbtree-remove! (@lambda 2 #f))
  (declare-type std/misc/rbtree#rbtree-remove (@lambda 2 #f))
  (declare-type std/misc/rbtree#rbtree-empty? (@lambda 1 #f))
  (declare-type std/misc/rbtree#rbtree-copy (@lambda 1 #f))
  (declare-type std/misc/rbtree#rbtree-for-each (@lambda 2 #f))
  (declare-type std/misc/rbtree#rbtree-for-eachr (@lambda 2 #f))
  (declare-type std/misc/rbtree#rbtree-fold (@lambda 3 #f))
  (declare-type std/misc/rbtree#rbtree-foldr (@lambda 3 #f))
  (declare-type std/misc/rbtree#rbtree->list (@lambda 1 #f))
  (declare-type std/misc/rbtree#rbtree->listr (@lambda 1 #f))
  (declare-type std/misc/rbtree#list->rbtree (@lambda 2 #f))
  (declare-type
   std/misc/rbtree#:iter::rbtree
   (@lambda 1 std/misc/rbtree#in-rbtree))
  (declare-type std/misc/rbtree#in-rbtree (@lambda 1 #f))
  (declare-type std/misc/rbtree#in-rbtree-keys (@lambda 1 #f))
  (declare-type std/misc/rbtree#in-rbtree-values (@lambda 1 #f))
  (declare-type std/misc/rbtree#string-cmp (@lambda 2 #f))
  (declare-type std/misc/rbtree#symbol-cmp (@lambda 2 #f))
  (declare-type std/misc/rbtree#symbol-hash-cmp (@lambda 2 #f))
  (declare-type
   std/misc/rbtree#Empty::t
   (@struct-type std/misc/rbtree#Empty::t #f 0 #f ((final: . #t))))
  (declare-type std/misc/rbtree#Empty? (@struct-pred std/misc/rbtree#Empty::t))
  (declare-type
   std/misc/rbtree#make-Empty
   (@struct-cons std/misc/rbtree#Empty::t))
  (declare-type
   std/misc/rbtree#Tree::t
   (@struct-type std/misc/rbtree#Tree::t #f 5 #f ((final: . #t))))
  (declare-type std/misc/rbtree#Tree? (@struct-pred std/misc/rbtree#Tree::t))
  (declare-type
   std/misc/rbtree#make-Tree
   (@struct-cons std/misc/rbtree#Tree::t))
  (declare-type
   std/misc/rbtree#Tree-color
   (@struct-getf std/misc/rbtree#Tree::t 0 #f))
  (declare-type
   std/misc/rbtree#Tree-left
   (@struct-getf std/misc/rbtree#Tree::t 1 #f))
  (declare-type
   std/misc/rbtree#Tree-right
   (@struct-getf std/misc/rbtree#Tree::t 2 #f))
  (declare-type
   std/misc/rbtree#Tree-key
   (@struct-getf std/misc/rbtree#Tree::t 3 #f))
  (declare-type
   std/misc/rbtree#Tree-value
   (@struct-getf std/misc/rbtree#Tree::t 4 #f))
  (declare-type
   std/misc/rbtree#Tree-color-set!
   (@struct-setf std/misc/rbtree#Tree::t 0 #f))
  (declare-type
   std/misc/rbtree#Tree-left-set!
   (@struct-setf std/misc/rbtree#Tree::t 1 #f))
  (declare-type
   std/misc/rbtree#Tree-right-set!
   (@struct-setf std/misc/rbtree#Tree::t 2 #f))
  (declare-type
   std/misc/rbtree#Tree-key-set!
   (@struct-setf std/misc/rbtree#Tree::t 3 #f))
  (declare-type
   std/misc/rbtree#Tree-value-set!
   (@struct-setf std/misc/rbtree#Tree::t 4 #f))
  (declare-type
   std/misc/rbtree#Top::t
   (@struct-type std/misc/rbtree#Top::t #f 0 #f ((final: . #t))))
  (declare-type std/misc/rbtree#Top? (@struct-pred std/misc/rbtree#Top::t))
  (declare-type std/misc/rbtree#make-Top (@struct-cons std/misc/rbtree#Top::t))
  (declare-type
   std/misc/rbtree#Left::t
   (@struct-type std/misc/rbtree#Left::t #f 5 #f ((final: . #t))))
  (declare-type std/misc/rbtree#Left? (@struct-pred std/misc/rbtree#Left::t))
  (declare-type
   std/misc/rbtree#make-Left
   (@struct-cons std/misc/rbtree#Left::t))
  (declare-type
   std/misc/rbtree#Left-color
   (@struct-getf std/misc/rbtree#Left::t 0 #f))
  (declare-type
   std/misc/rbtree#Left-key
   (@struct-getf std/misc/rbtree#Left::t 1 #f))
  (declare-type
   std/misc/rbtree#Left-value
   (@struct-getf std/misc/rbtree#Left::t 2 #f))
  (declare-type
   std/misc/rbtree#Left-tree
   (@struct-getf std/misc/rbtree#Left::t 3 #f))
  (declare-type
   std/misc/rbtree#Left-zipper
   (@struct-getf std/misc/rbtree#Left::t 4 #f))
  (declare-type
   std/misc/rbtree#Left-color-set!
   (@struct-setf std/misc/rbtree#Left::t 0 #f))
  (declare-type
   std/misc/rbtree#Left-key-set!
   (@struct-setf std/misc/rbtree#Left::t 1 #f))
  (declare-type
   std/misc/rbtree#Left-value-set!
   (@struct-setf std/misc/rbtree#Left::t 2 #f))
  (declare-type
   std/misc/rbtree#Left-tree-set!
   (@struct-setf std/misc/rbtree#Left::t 3 #f))
  (declare-type
   std/misc/rbtree#Left-zipper-set!
   (@struct-setf std/misc/rbtree#Left::t 4 #f))
  (declare-type
   std/misc/rbtree#Right::t
   (@struct-type std/misc/rbtree#Right::t #f 5 #f ((final: . #t))))
  (declare-type std/misc/rbtree#Right? (@struct-pred std/misc/rbtree#Right::t))
  (declare-type
   std/misc/rbtree#make-Right
   (@struct-cons std/misc/rbtree#Right::t))
  (declare-type
   std/misc/rbtree#Right-color
   (@struct-getf std/misc/rbtree#Right::t 0 #f))
  (declare-type
   std/misc/rbtree#Right-key
   (@struct-getf std/misc/rbtree#Right::t 1 #f))
  (declare-type
   std/misc/rbtree#Right-value
   (@struct-getf std/misc/rbtree#Right::t 2 #f))
  (declare-type
   std/misc/rbtree#Right-tree
   (@struct-getf std/misc/rbtree#Right::t 3 #f))
  (declare-type
   std/misc/rbtree#Right-zipper
   (@struct-getf std/misc/rbtree#Right::t 4 #f))
  (declare-type
   std/misc/rbtree#Right-color-set!
   (@struct-setf std/misc/rbtree#Right::t 0 #f))
  (declare-type
   std/misc/rbtree#Right-key-set!
   (@struct-setf std/misc/rbtree#Right::t 1 #f))
  (declare-type
   std/misc/rbtree#Right-value-set!
   (@struct-setf std/misc/rbtree#Right::t 2 #f))
  (declare-type
   std/misc/rbtree#Right-tree-set!
   (@struct-setf std/misc/rbtree#Right::t 3 #f))
  (declare-type
   std/misc/rbtree#Right-zipper-set!
   (@struct-setf std/misc/rbtree#Right::t 4 #f))
  (declare-type std/misc/rbtree#tree-insert (@lambda 4 #f))
  (declare-type std/misc/rbtree#tree-ref (@lambda 4 #f))
  (declare-type std/misc/rbtree#tree-delete (@lambda 3 #f)))
