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

(begin
  (declare-type
   std/srfi/1#srfi-1-map
   (@case-lambda (2 map) (3 std/srfi/1#map2) ((3) std/srfi/1#mapN)))
  (declare-type std/srfi/1#map2 (@lambda 3 #f))
  (declare-type std/srfi/1#mapN (@lambda (1) #f))
  (declare-type
   std/srfi/1#srfi-1-for-each
   (@case-lambda
    (2 for-each)
    (3 std/srfi/1#for-each2)
    ((3) std/srfi/1#for-eachN)))
  (declare-type std/srfi/1#for-each2 (@lambda 3 #f))
  (declare-type std/srfi/1#for-eachN (@lambda (1) #f))
  (declare-type std/srfi/1#srfi-1-assoc__1 (@lambda 3 #f))
  (declare-type
   std/srfi/1#srfi-1-assoc
   (@case-lambda (2 assoc) (3 std/srfi/1#srfi-1-assoc__1)))
  (declare-type std/srfi/1#srfi-1-member__1 (@lambda 3 #f))
  (declare-type
   std/srfi/1#srfi-1-member
   (@case-lambda (2 member) (3 std/srfi/1#srfi-1-member__1)))
  (declare-type std/srfi/1#xcons (@lambda 2 #f))
  (declare-type std/srfi/1#tree-copy (@lambda 1 #f))
  (declare-type std/srfi/1#list-tabulate (@lambda 2 #f))
  (declare-type std/srfi/1#list-copy (@lambda 1 #f))
  (declare-type std/srfi/1#circular-list (@lambda (1) #f))
  (declare-type std/srfi/1#proper-list? (@lambda 1 #f))
  (declare-type std/srfi/1#dotted-list? (@lambda 1 #f))
  (declare-type std/srfi/1#circular-list? (@lambda 1 #f))
  (declare-type std/srfi/1#not-pair? (@lambda 1 #f))
  (declare-type std/srfi/1#null-list? (@lambda 1 #f))
  (declare-type std/srfi/1#list= (@lambda (1) #f))
  (declare-type std/srfi/1#length+ (@lambda 1 #f))
  (declare-type std/srfi/1#zip (@lambda (1) #f))
  (declare-type std/srfi/1#first (@lambda 1 #f))
  (declare-type std/srfi/1#second (@lambda 1 #f))
  (declare-type std/srfi/1#third (@lambda 1 #f))
  (declare-type std/srfi/1#fourth (@lambda 1 #f))
  (declare-type std/srfi/1#fifth (@lambda 1 #f))
  (declare-type std/srfi/1#sixth (@lambda 1 #f))
  (declare-type std/srfi/1#seventh (@lambda 1 #f))
  (declare-type std/srfi/1#eighth (@lambda 1 #f))
  (declare-type std/srfi/1#ninth (@lambda 1 #f))
  (declare-type std/srfi/1#tenth (@lambda 1 #f))
  (declare-type std/srfi/1#car+cdr (@lambda 1 #f))
  (declare-type std/srfi/1#take (@lambda 2 #f))
  (declare-type std/srfi/1#drop (@lambda 2 #f))
  (declare-type std/srfi/1#take! (@lambda 2 #f))
  (declare-type std/srfi/1#take-right (@lambda 2 #f))
  (declare-type std/srfi/1#drop-right (@lambda 2 #f))
  (declare-type std/srfi/1#drop-right! (@lambda 2 #f))
  (declare-type std/srfi/1#split-at (@lambda 2 #f))
  (declare-type std/srfi/1#split-at! (@lambda 2 #f))
  (declare-type std/srfi/1#unzip1 (@lambda 1 #f))
  (declare-type std/srfi/1#unzip2 (@lambda 1 #f))
  (declare-type std/srfi/1#unzip3 (@lambda 1 #f))
  (declare-type std/srfi/1#unzip4 (@lambda 1 #f))
  (declare-type std/srfi/1#unzip5 (@lambda 1 #f))
  (declare-type std/srfi/1#append! (@lambda (0) #f))
  (declare-type std/srfi/1#append-reverse (@lambda 2 #f))
  (declare-type std/srfi/1#append-reverse! (@lambda 2 #f))
  (declare-type std/srfi/1#concatenate (@lambda 1 #f))
  (declare-type std/srfi/1#concatenate! (@lambda 1 #f))
  (declare-type std/srfi/1#%cdrs (@lambda 1 #f))
  (declare-type std/srfi/1#%cars+ (@lambda 2 #f))
  (declare-type std/srfi/1#%cars+cdrs (@lambda 1 #f))
  (declare-type std/srfi/1#%cars+cdrs+ (@lambda 2 #f))
  (declare-type std/srfi/1#%cars+cdrs/no-test (@lambda 1 #f))
  (declare-type std/srfi/1#count (@lambda (2) #f))
  (declare-type std/srfi/1#unfold-right (@lambda (4) #f))
  (declare-type std/srfi/1#unfold (@lambda (4) #f))
  (declare-type std/srfi/1#pair-fold-right (@lambda (3) #f))
  (declare-type std/srfi/1#pair-fold (@lambda (3) #f))
  (declare-type std/srfi/1#reduce (@lambda 3 #f))
  (declare-type std/srfi/1#reduce-right (@lambda 3 #f))
  (declare-type std/srfi/1#append-map (@lambda (2) #f))
  (declare-type std/srfi/1#append-map! (@lambda (2) #f))
  (declare-type std/srfi/1#really-append-map (@lambda 5 #f))
  (declare-type std/srfi/1#pair-for-each (@lambda (2) #f))
  (declare-type std/srfi/1#map! (@lambda (2) #f))
  (declare-type std/srfi/1#map-in-order (@lambda (2) #f))
  (declare-type std/srfi/1#filter! (@lambda 2 #f))
  (declare-type std/srfi/1#partition (@lambda 2 #f))
  (declare-type std/srfi/1#partition! (@lambda 2 #f))
  (declare-type std/srfi/1#remove (@lambda 2 #f))
  (declare-type std/srfi/1#remove! (@lambda 2 #f))
  (declare-type std/srfi/1#delete (@lambda (2) #f))
  (declare-type std/srfi/1#delete! (@lambda (2) #f))
  (declare-type std/srfi/1#delete-duplicates (@lambda (1) #f))
  (declare-type std/srfi/1#delete-duplicates! (@lambda (1) #f))
  (declare-type std/srfi/1#alist-cons (@lambda 3 #f))
  (declare-type std/srfi/1#alist-copy (@lambda 1 #f))
  (declare-type std/srfi/1#alist-delete (@lambda (2) #f))
  (declare-type std/srfi/1#alist-delete! (@lambda (2) #f))
  (declare-type std/srfi/1#find-tail (@lambda 2 #f))
  (declare-type std/srfi/1#take-while (@lambda 2 #f))
  (declare-type std/srfi/1#drop-while (@lambda 2 #f))
  (declare-type std/srfi/1#take-while! (@lambda 2 #f))
  (declare-type std/srfi/1#span (@lambda 2 #f))
  (declare-type std/srfi/1#span! (@lambda 2 #f))
  (declare-type std/srfi/1#break (@lambda 2 #f))
  (declare-type std/srfi/1#break! (@lambda 2 #f))
  (declare-type std/srfi/1#any (@lambda (2) #f))
  (declare-type std/srfi/1#every (@lambda (2) #f))
  (declare-type std/srfi/1#list-index (@lambda (2) #f))
  (declare-type std/srfi/1#reverse! (@lambda 1 #f))
  (declare-type std/srfi/1#%lset2<= (@lambda 3 #f))
  (declare-type std/srfi/1#lset<= (@lambda (1) #f))
  (declare-type std/srfi/1#lset= (@lambda (1) #f))
  (declare-type std/srfi/1#lset-adjoin (@lambda (2) #f))
  (declare-type std/srfi/1#lset-union (@lambda (1) #f))
  (declare-type std/srfi/1#lset-union! (@lambda (1) #f))
  (declare-type std/srfi/1#lset-intersection (@lambda (2) #f))
  (declare-type std/srfi/1#lset-intersection! (@lambda (2) #f))
  (declare-type std/srfi/1#lset-difference (@lambda (2) #f))
  (declare-type std/srfi/1#lset-difference! (@lambda (2) #f))
  (declare-type std/srfi/1#lset-xor (@lambda (1) #f))
  (declare-type std/srfi/1#lset-xor! (@lambda (1) #f))
  (declare-type std/srfi/1#lset-diff+intersection (@lambda (2) #f))
  (declare-type std/srfi/1#lset-diff+intersection! (@lambda (2) #f)))
