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

(begin
  (declare-type std/srfi/146#make-tree (@lambda 1 #f))
  (declare-type std/srfi/146#tree-generator (@lambda 1 #f))
  (declare-type std/srfi/146#tree-map (@lambda 2 #f))
  (declare-type std/srfi/146#tree-fold (@lambda 3 std/misc/rbtree#rbtree-fold))
  (declare-type
   std/srfi/146#tree-fold/reverse
   (@lambda 3 std/misc/rbtree#rbtree-foldr))
  (declare-type
   std/srfi/146#tree-for-each
   (@lambda 2 std/misc/rbtree#rbtree-for-each))
  (declare-type std/srfi/146#tree-search (@lambda 5 #f))
  (declare-type std/srfi/146#tree-catenate (@lambda 4 #f))
  (declare-type std/srfi/146#tree-split (@lambda 3 #f))
  (declare-type std/srfi/146#tree-key-predecessor (@lambda 4 #f))
  (declare-type std/srfi/146#tree-key-successor (@lambda 4 #f))
  (declare-type
   std/srfi/146#<mapping>
   (@struct-type std/srfi/146#<mapping> #f 2 #f ((fields: comparator tree))))
  (declare-type std/srfi/146#mapping? (@struct-pred std/srfi/146#<mapping>))
  (declare-type
   std/srfi/146#mapping-key-comparator
   (@struct-getf std/srfi/146#<mapping> 0 #f))
  (declare-type
   std/srfi/146#mapping-tree
   (@struct-getf std/srfi/146#<mapping> 1 #f))
  (declare-type
   std/srfi/146#%make-mapping
   (@struct-cons std/srfi/146#<mapping>))
  (declare-type std/srfi/146#make-empty-mapping (@lambda 1 #f))
  (declare-type std/srfi/146#mapping (@lambda (1) #f))
  (declare-type std/srfi/146#mapping-unfold (@lambda 5 #f))
  (declare-type std/srfi/146#mapping/ordered (@lambda (1) #f))
  (declare-type std/srfi/146#mapping-unfold/ordered (@lambda 5 #f))
  (declare-type std/srfi/146#mapping-empty? (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-contains? (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-disjoint? (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-ref__0 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-ref__1 (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-ref__2 (@lambda 4 #f))
  (declare-type
   std/srfi/146#mapping-ref
   (@case-lambda
    (2 std/srfi/146#mapping-ref__0)
    (3 std/srfi/146#mapping-ref__1)
    (4 std/srfi/146#mapping-ref__2)))
  (declare-type std/srfi/146#mapping-ref/default (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-adjoin (@lambda (1) #f))
  (declare-type std/srfi/146#mapping-adjoin! (@lambda (1) #f))
  (declare-type std/srfi/146#mapping-set (@lambda (1) #f))
  (declare-type std/srfi/146#mapping-set! (@lambda (1) #f))
  (declare-type std/srfi/146#mapping-replace (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-replace! (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-delete (@lambda (1) #f))
  (declare-type std/srfi/146#mapping-delete! (@lambda (1) #f))
  (declare-type std/srfi/146#mapping-delete-all (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-delete-all! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-intern (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-intern! (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-update__0 (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-update__1 (@lambda 4 #f))
  (declare-type std/srfi/146#mapping-update__2 (@lambda 5 #f))
  (declare-type
   std/srfi/146#mapping-update
   (@case-lambda
    (3 std/srfi/146#mapping-update__0)
    (4 std/srfi/146#mapping-update__1)
    (5 std/srfi/146#mapping-update__2)))
  (declare-type
   std/srfi/146#mapping-update!
   (@case-lambda
    (3 std/srfi/146#mapping-update__0)
    (4 std/srfi/146#mapping-update__1)
    (5 std/srfi/146#mapping-update__2)))
  (declare-type std/srfi/146#mapping-update/default (@lambda 4 #f))
  (declare-type std/srfi/146#mapping-update!/default (@lambda 4 #f))
  (declare-type std/srfi/146#mapping-pop__0 (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-pop__1 (@lambda 2 #f))
  (declare-type
   std/srfi/146#mapping-pop
   (@case-lambda
    (1 std/srfi/146#mapping-pop__0)
    (2 std/srfi/146#mapping-pop__1)))
  (declare-type
   std/srfi/146#mapping-pop!
   (@case-lambda
    (1 std/srfi/146#mapping-pop__0)
    (2 std/srfi/146#mapping-pop__1)))
  (declare-type std/srfi/146#mapping-search (@lambda 4 #f))
  (declare-type std/srfi/146#mapping-search! (@lambda 4 #f))
  (declare-type std/srfi/146#mapping-size (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-find (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-count (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-any? (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-every? (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-keys (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-values (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-entries (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-map (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-for-each (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-fold (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-map->list (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-filter (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-filter! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-remove (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-remove! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-partition (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-partition! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-copy (@lambda 1 #f))
  (declare-type std/srfi/146#mapping->alist (@lambda 1 #f))
  (declare-type std/srfi/146#alist->mapping (@lambda 2 #f))
  (declare-type std/srfi/146#alist->mapping! (@lambda 2 #f))
  (declare-type std/srfi/146#alist->mapping/ordered (@lambda 2 #f))
  (declare-type std/srfi/146#alist->mapping/ordered! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping=?__0 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping=?__2 (@lambda (3) #f))
  (declare-type
   std/srfi/146#mapping=?
   (@case-lambda
    (2 std/srfi/146#mapping=?__0)
    (3 std/srfi/146#%mapping=?)
    ((3) std/srfi/146#mapping=?__2)))
  (declare-type std/srfi/146#%mapping=? (@lambda 3 #f))
  (declare-type std/srfi/146#mapping<=?__0 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping<=?__1 (@lambda 3 #f))
  (declare-type std/srfi/146#mapping<=?__2 (@lambda (3) #f))
  (declare-type
   std/srfi/146#mapping<=?
   (@case-lambda
    (2 std/srfi/146#mapping<=?__0)
    (3 std/srfi/146#mapping<=?__1)
    ((3) std/srfi/146#mapping<=?__2)))
  (declare-type std/srfi/146#%mapping<=? (@lambda 3 #f))
  (declare-type std/srfi/146#mapping>?__0 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping>?__1 (@lambda 3 #f))
  (declare-type std/srfi/146#mapping>?__2 (@lambda (3) #f))
  (declare-type
   std/srfi/146#mapping>?
   (@case-lambda
    (2 std/srfi/146#mapping>?__0)
    (3 std/srfi/146#mapping>?__1)
    ((3) std/srfi/146#mapping>?__2)))
  (declare-type std/srfi/146#%mapping>? (@lambda 3 #f))
  (declare-type std/srfi/146#mapping<?__0 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping<?__1 (@lambda 3 #f))
  (declare-type std/srfi/146#mapping<?__2 (@lambda (3) #f))
  (declare-type
   std/srfi/146#mapping<?
   (@case-lambda
    (2 std/srfi/146#mapping<?__0)
    (3 std/srfi/146#mapping<?__1)
    ((3) std/srfi/146#mapping<?__2)))
  (declare-type std/srfi/146#%mapping<? (@lambda 3 #f))
  (declare-type std/srfi/146#mapping>=?__0 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping>=?__1 (@lambda 3 #f))
  (declare-type std/srfi/146#mapping>=?__2 (@lambda (3) #f))
  (declare-type
   std/srfi/146#mapping>=?
   (@case-lambda
    (2 std/srfi/146#mapping>=?__0)
    (3 std/srfi/146#mapping>=?__1)
    ((3) std/srfi/146#mapping>=?__2)))
  (declare-type std/srfi/146#%mapping>=? (@lambda 3 #f))
  (declare-type std/srfi/146#%mapping-union (@lambda 2 #f))
  (declare-type std/srfi/146#%mapping-intersection (@lambda 2 #f))
  (declare-type std/srfi/146#%mapping-difference (@lambda 2 #f))
  (declare-type std/srfi/146#%mapping-xor (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-union__0 (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-union__1 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-union__2 (@lambda (2) #f))
  (declare-type
   std/srfi/146#mapping-union
   (@case-lambda
    (1 std/srfi/146#mapping-union__0)
    (2 std/srfi/146#mapping-union__1)
    ((2) std/srfi/146#mapping-union__2)))
  (declare-type
   std/srfi/146#mapping-union!
   (@case-lambda
    (1 std/srfi/146#mapping-union__0)
    (2 std/srfi/146#mapping-union__1)
    ((2) std/srfi/146#mapping-union__2)))
  (declare-type std/srfi/146#mapping-intersection__0 (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-intersection__1 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-intersection__2 (@lambda (2) #f))
  (declare-type
   std/srfi/146#mapping-intersection
   (@case-lambda
    (1 std/srfi/146#mapping-intersection__0)
    (2 std/srfi/146#mapping-intersection__1)
    ((2) std/srfi/146#mapping-intersection__2)))
  (declare-type
   std/srfi/146#mapping-intersection!
   (@case-lambda
    (1 std/srfi/146#mapping-intersection__0)
    (2 std/srfi/146#mapping-intersection__1)
    ((2) std/srfi/146#mapping-intersection__2)))
  (declare-type std/srfi/146#mapping-difference__0 (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-difference__1 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-difference__2 (@lambda (2) #f))
  (declare-type
   std/srfi/146#mapping-difference
   (@case-lambda
    (1 std/srfi/146#mapping-difference__0)
    (2 std/srfi/146#mapping-difference__1)
    ((2) std/srfi/146#mapping-difference__2)))
  (declare-type
   std/srfi/146#mapping-difference!
   (@case-lambda
    (1 std/srfi/146#mapping-difference__0)
    (2 std/srfi/146#mapping-difference__1)
    ((2) std/srfi/146#mapping-difference__2)))
  (declare-type std/srfi/146#mapping-xor__0 (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-xor__1 (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-xor__2 (@lambda (2) #f))
  (declare-type
   std/srfi/146#mapping-xor
   (@case-lambda
    (1 std/srfi/146#mapping-xor__0)
    (2 std/srfi/146#mapping-xor__1)
    ((2) std/srfi/146#mapping-xor__2)))
  (declare-type
   std/srfi/146#mapping-xor!
   (@case-lambda
    (1 std/srfi/146#mapping-xor__0)
    (2 std/srfi/146#mapping-xor__1)
    ((2) std/srfi/146#mapping-xor__2)))
  (declare-type std/srfi/146#mapping-min-key (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-max-key (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-min-value (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-max-value (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-min-entry (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-max-entry (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-key-predecessor (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-key-successor (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-range= (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range< (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range<= (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range> (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range>= (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range=! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range<! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range>! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range<=! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-range>=! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-split (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-split! (@lambda 2 #f))
  (declare-type std/srfi/146#mapping-catenate (@lambda 5 #f))
  (declare-type std/srfi/146#mapping-catenate! (@lambda 5 #f))
  (declare-type std/srfi/146#mapping-map/monotone (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-map/monotone! (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-fold/reverse (@lambda 3 #f))
  (declare-type std/srfi/146#mapping-equality (@lambda 1 #f))
  (declare-type std/srfi/146#mapping-ordering (@lambda 1 #f))
  (declare-type std/srfi/146#make-mapping-comparator (@lambda 1 #f)))
