prelude: :gerbil/compiler/ssxi
package: std

(begin
  (declare-type
   std/iter#iterator::t
   (@struct-type std/iter#iterator::t #f 3 :init! ((final: . #t))))
  (declare-type std/iter#iterator? (@struct-pred std/iter#iterator::t))
  (declare-type std/iter#make-iterator (@struct-cons std/iter#iterator::t))
  (declare-type std/iter#iterator-e (@struct-getf std/iter#iterator::t 0 #f))
  (declare-type
   std/iter#iterator-next
   (@struct-getf std/iter#iterator::t 1 #f))
  (declare-type
   std/iter#iterator-fini
   (@struct-getf std/iter#iterator::t 2 #f))
  (declare-type
   std/iter#iterator-e-set!
   (@struct-setf std/iter#iterator::t 0 #f))
  (declare-type
   std/iter#iterator-next-set!
   (@struct-setf std/iter#iterator::t 1 #f))
  (declare-type
   std/iter#iterator-fini-set!
   (@struct-setf std/iter#iterator::t 2 #f))
  (declare-type std/iter#&iterator-e (@struct-getf std/iter#iterator::t 0 #t))
  (declare-type
   std/iter#&iterator-next
   (@struct-getf std/iter#iterator::t 1 #t))
  (declare-type
   std/iter#&iterator-fini
   (@struct-getf std/iter#iterator::t 2 #t))
  (declare-type
   std/iter#&iterator-e-set!
   (@struct-setf std/iter#iterator::t 0 #t))
  (declare-type
   std/iter#&iterator-next-set!
   (@struct-setf std/iter#iterator::t 1 #t))
  (declare-type
   std/iter#&iterator-fini-set!
   (@struct-setf std/iter#iterator::t 2 #t))
  (declare-type std/iter#iterator:::init!__% (@lambda 4 struct-instance-init!))
  (declare-type std/iter#iterator:::init!__0 (@lambda 3 #f))
  (declare-type
   std/iter#iterator:::init!
   (@case-lambda
    (3 std/iter#iterator:::init!__0)
    (4 std/iter#iterator:::init!__%)))
  (declare-method std/iter#iterator::t :init! std/iter#iterator:::init! #f)
  (declare-type
   std/iter#:iter-end::t
   (@struct-type std/iter#:iter-end::t #f 0 #f ()))
  (declare-type std/iter#:iter-end? (@struct-pred std/iter#:iter-end::t))
  (declare-type std/iter#make-:iter-end (@struct-cons std/iter#:iter-end::t))
  (declare-type std/iter#iter-end? (@lambda 1 #f))
  (declare-type std/iter#iter (@lambda 1 #f))
  (declare-type std/iter#:iter::apply (@lambda (0) #f))
  (declare-type std/iter#:iter::iterator (@lambda 1 #f))
  (declare-type std/iter#:iter::<pair> (@lambda 1 std/iter#iter-list))
  (declare-type std/iter#:iter::<null> (@lambda 1 #f))
  (declare-type std/iter#:iter::<vector> (@lambda 1 std/iter#iter-vector))
  (declare-type std/iter#:iter::<string> (@lambda 1 std/iter#iter-string))
  (declare-type
   std/iter#:iter::<hash-table>
   (@lambda 1 std/iter#iter-hash-table))
  (declare-type
   std/iter#:iter::<procedure>
   (@lambda 1 std/iter#iter-coroutine))
  (declare-type std/iter#:iter::<port> (@lambda 1 #f))
  (declare-type std/iter#:iter::<object> (@lambda 1 #f))
  (declare-type std/iter#iter-null (@lambda 0 #f))
  (declare-type std/iter#iter-list (@lambda 1 #f))
  (declare-type std/iter#iter-vector__% (@lambda 3 #f))
  (declare-type std/iter#iter-vector__0 (@lambda 1 #f))
  (declare-type std/iter#iter-vector__1 (@lambda 2 #f))
  (declare-type
   std/iter#iter-vector
   (@case-lambda
    (1 std/iter#iter-vector__0)
    (2 std/iter#iter-vector__1)
    (3 std/iter#iter-vector__%)))
  (declare-type std/iter#iter-string (@lambda 1 #f))
  (declare-type std/iter#iter-hash-table (@lambda 1 #f))
  (declare-type std/iter#iter-coroutine (@lambda 1 #f))
  (declare-type std/iter#iter-cothread (@lambda 1 #f))
  (declare-type std/iter#iter-input-port__% (@lambda 2 #f))
  (declare-type std/iter#iter-input-port__0 (@lambda 1 #f))
  (declare-type
   std/iter#iter-input-port
   (@case-lambda
    (1 std/iter#iter-input-port__0)
    (2 std/iter#iter-input-port__%)))
  (declare-type std/iter#iter-in-range (@lambda 3 #f))
  (declare-type std/iter#in-range__0 (@lambda 1 #f))
  (declare-type std/iter#in-range__1 (@lambda 2 #f))
  (declare-type std/iter#in-range__2 (@lambda 3 #f))
  (declare-type
   std/iter#in-range
   (@case-lambda
    (1 std/iter#in-range__0)
    (2 std/iter#in-range__1)
    (3 std/iter#in-range__2)))
  (declare-type std/iter#in-naturals__% (@lambda 2 #f))
  (declare-type std/iter#in-naturals__0 (@lambda 0 #f))
  (declare-type std/iter#in-naturals__1 (@lambda 1 #f))
  (declare-type
   std/iter#in-naturals
   (@case-lambda
    (0 std/iter#in-naturals__0)
    (1 std/iter#in-naturals__1)
    (2 std/iter#in-naturals__%)))
  (declare-type std/iter#in-hash (@lambda 1 std/iter#iter-hash-table))
  (declare-type std/iter#in-hash-keys (@lambda 1 #f))
  (declare-type std/iter#in-hash-values (@lambda 1 #f))
  (declare-type std/iter#in-input-port__% (@lambda 2 std/iter#iter-input-port))
  (declare-type std/iter#in-input-port__0 (@lambda 1 #f))
  (declare-type
   std/iter#in-input-port
   (@case-lambda (1 std/iter#in-input-port__0) (2 std/iter#in-input-port__%)))
  (declare-type std/iter#in-input-lines (@lambda 1 #f))
  (declare-type std/iter#in-input-chars (@lambda 1 #f))
  (declare-type std/iter#in-input-bytes (@lambda 1 #f))
  (declare-type std/iter#in-coroutine (@lambda (1) #f))
  (declare-type std/iter#in-cothread (@lambda (1) #f))
  (declare-type std/iter#iter-next! (@lambda 1 #f))
  (declare-type std/iter#iter-fini! (@lambda 1 #f))
  (declare-type std/iter#iter-filter (@lambda 2 #f))
  (declare-type |std/iter[1]#for-binding?| (@lambda 1 #f))
  (declare-type |std/iter[1]#for-binding-expr| (@lambda 1 #f))
  (declare-type |std/iter[1]#for-binding-bind| (@lambda 1 #f)))
