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

(begin
  (declare-type
   |std/generic/macros[1]#generic-info::t|
   (@class-type
    std/generic/macros#generic-info::t
    #!void
    (|gerbil/core$<MOP>$<MOP:3>[1]#macro-object::t|)
    (table procedure)
    #f
    #!void
    ()))
  (declare-type
   |std/generic/macros[1]#generic-info?|
   (@class-pred |std/generic/macros[1]#generic-info::t|))
  (declare-type
   |std/generic/macros[1]#make-generic-info|
   (@class-cons |std/generic/macros[1]#generic-info::t|))
  (declare-type
   |std/generic/macros[1]#generic-info-table|
   (@class-getf |std/generic/macros[1]#generic-info::t| table #f))
  (declare-type
   |std/generic/macros[1]#generic-info-procedure|
   (@class-getf |std/generic/macros[1]#generic-info::t| procedure #f))
  (declare-type
   |std/generic/macros[1]#generic-info-table-set!|
   (@class-setf |std/generic/macros[1]#generic-info::t| class #f))
  (declare-type
   |std/generic/macros[1]#generic-info-procedure-set!|
   (@class-setf |std/generic/macros[1]#generic-info::t| class #f))
  (declare-type
   |std/generic/macros[1]#generic-type-info::t|
   (@class-type std/generic/macros#generic-type-info::t #f () () () #f ()))
  (declare-type
   |std/generic/macros[1]#generic-type-info?|
   (@class-pred |std/generic/macros[1]#generic-type-info::t|))
  (declare-type
   |std/generic/macros[1]#make-generic-type-info|
   (@class-cons |std/generic/macros[1]#generic-type-info::t|))
  (declare-type
   |std/generic/macros[1]#primitive-type-info::t|
   (@class-type
    std/generic/macros#primitive-type-info::t
    #f
    (|std/generic/macros[1]#generic-type-info::t|)
    (type)
    (type)
    #f
    ()))
  (declare-type
   |std/generic/macros[1]#primitive-type-info?|
   (@class-pred |std/generic/macros[1]#primitive-type-info::t|))
  (declare-type
   |std/generic/macros[1]#make-primitive-type-info|
   (@class-cons |std/generic/macros[1]#primitive-type-info::t|))
  (declare-type
   |std/generic/macros[1]#primitive-type-info-type|
   (@class-getf |std/generic/macros[1]#primitive-type-info::t| type #f))
  (declare-type
   |std/generic/macros[1]#primitive-type-info-type-set!|
   (@class-setf |std/generic/macros[1]#primitive-type-info::t| class #f))
  (declare-type
   |std/generic/macros[1]#builtin-type-info::t|
   (@class-type
    std/generic/macros#builtin-type-info::t
    #f
    (|std/generic/macros[1]#generic-type-info::t|)
    (runtime-identifier)
    (runtime-identifier)
    #f
    ()))
  (declare-type
   |std/generic/macros[1]#builtin-type-info?|
   (@class-pred |std/generic/macros[1]#builtin-type-info::t|))
  (declare-type
   |std/generic/macros[1]#make-builtin-type-info|
   (@class-cons |std/generic/macros[1]#builtin-type-info::t|))
  (declare-type
   |std/generic/macros[1]#builtin-type-info-runtime-identifier|
   (@class-getf
    |std/generic/macros[1]#builtin-type-info::t|
    runtime-identifier
    #f))
  (declare-type
   |std/generic/macros[1]#builtin-type-info-runtime-identifier-set!|
   (@class-setf |std/generic/macros[1]#builtin-type-info::t| class #f)))
