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

(begin
  (declare-type
   std/misc/deque#node::t
   (@struct-type std/misc/deque#node::t #f 3 :init! ((final: . #t))))
  (declare-type std/misc/deque#node? (@struct-pred std/misc/deque#node::t))
  (declare-type std/misc/deque#make-node (@struct-cons std/misc/deque#node::t))
  (declare-type
   std/misc/deque#node-e
   (@struct-getf std/misc/deque#node::t 0 #f))
  (declare-type
   std/misc/deque#node-prev
   (@struct-getf std/misc/deque#node::t 1 #f))
  (declare-type
   std/misc/deque#node-next
   (@struct-getf std/misc/deque#node::t 2 #f))
  (declare-type
   std/misc/deque#node-e-set!
   (@struct-setf std/misc/deque#node::t 0 #f))
  (declare-type
   std/misc/deque#node-prev-set!
   (@struct-setf std/misc/deque#node::t 1 #f))
  (declare-type
   std/misc/deque#node-next-set!
   (@struct-setf std/misc/deque#node::t 2 #f))
  (declare-type
   std/misc/deque#&node-e
   (@struct-getf std/misc/deque#node::t 0 #t))
  (declare-type
   std/misc/deque#&node-prev
   (@struct-getf std/misc/deque#node::t 1 #t))
  (declare-type
   std/misc/deque#&node-next
   (@struct-getf std/misc/deque#node::t 2 #t))
  (declare-type
   std/misc/deque#&node-e-set!
   (@struct-setf std/misc/deque#node::t 0 #t))
  (declare-type
   std/misc/deque#&node-prev-set!
   (@struct-setf std/misc/deque#node::t 1 #t))
  (declare-type
   std/misc/deque#&node-next-set!
   (@struct-setf std/misc/deque#node::t 2 #t))
  (declare-type std/misc/deque#node:::init! (@lambda 2 struct-instance-init!))
  (declare-method std/misc/deque#node::t :init! std/misc/deque#node:::init! #f)
  (declare-type std/misc/deque#make-node/prev (@lambda 2 #f))
  (declare-type std/misc/deque#make-node/next (@lambda 2 #f))
  (declare-type
   std/misc/deque#deque::t
   (@struct-type std/misc/deque#deque::t #f 3 :init! ((final: . #t))))
  (declare-type std/misc/deque#deque? (@struct-pred std/misc/deque#deque::t))
  (declare-type
   std/misc/deque#make-deque
   (@struct-cons std/misc/deque#deque::t))
  (declare-type
   std/misc/deque#deque-front
   (@struct-getf std/misc/deque#deque::t 0 #f))
  (declare-type
   std/misc/deque#deque-back
   (@struct-getf std/misc/deque#deque::t 1 #f))
  (declare-type
   std/misc/deque#deque-length
   (@struct-getf std/misc/deque#deque::t 2 #f))
  (declare-type
   std/misc/deque#deque-front-set!
   (@struct-setf std/misc/deque#deque::t 0 #f))
  (declare-type
   std/misc/deque#deque-back-set!
   (@struct-setf std/misc/deque#deque::t 1 #f))
  (declare-type
   std/misc/deque#deque-length-set!
   (@struct-setf std/misc/deque#deque::t 2 #f))
  (declare-type
   std/misc/deque#&deque-front
   (@struct-getf std/misc/deque#deque::t 0 #t))
  (declare-type
   std/misc/deque#&deque-back
   (@struct-getf std/misc/deque#deque::t 1 #t))
  (declare-type
   std/misc/deque#&deque-length
   (@struct-getf std/misc/deque#deque::t 2 #t))
  (declare-type
   std/misc/deque#&deque-front-set!
   (@struct-setf std/misc/deque#deque::t 0 #t))
  (declare-type
   std/misc/deque#&deque-back-set!
   (@struct-setf std/misc/deque#deque::t 1 #t))
  (declare-type
   std/misc/deque#&deque-length-set!
   (@struct-setf std/misc/deque#deque::t 2 #t))
  (declare-type std/misc/deque#deque:::init! (@lambda 1 #f))
  (declare-method
   std/misc/deque#deque::t
   :init!
   std/misc/deque#deque:::init!
   #f)
  (declare-type std/misc/deque#deque-empty? (@lambda 1 #f))
  (declare-type std/misc/deque#push-front! (@lambda 2 #f))
  (declare-type std/misc/deque#push-back! (@lambda 2 #f))
  (declare-type std/misc/deque#pop-front!__% (@lambda 2 #f))
  (declare-type std/misc/deque#pop-front!__0 (@lambda 1 #f))
  (declare-type
   std/misc/deque#pop-front!
   (@case-lambda
    (1 std/misc/deque#pop-front!__0)
    (2 std/misc/deque#pop-front!__%)))
  (declare-type std/misc/deque#pop-back!__% (@lambda 2 #f))
  (declare-type std/misc/deque#pop-back!__0 (@lambda 1 #f))
  (declare-type
   std/misc/deque#pop-back!
   (@case-lambda
    (1 std/misc/deque#pop-back!__0)
    (2 std/misc/deque#pop-back!__%)))
  (declare-type std/misc/deque#peek-front__% (@lambda 2 #f))
  (declare-type std/misc/deque#peek-front__0 (@lambda 1 #f))
  (declare-type
   std/misc/deque#peek-front
   (@case-lambda
    (1 std/misc/deque#peek-front__0)
    (2 std/misc/deque#peek-front__%)))
  (declare-type std/misc/deque#peek-back__% (@lambda 2 #f))
  (declare-type std/misc/deque#peek-back__0 (@lambda 1 #f))
  (declare-type
   std/misc/deque#peek-back
   (@case-lambda
    (1 std/misc/deque#peek-back__0)
    (2 std/misc/deque#peek-back__%)))
  (declare-type std/misc/deque#deque->list (@lambda 1 #f)))
