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

(begin
  (declare-type
   |std/protobuf/macros[1]#type::t|
   (@class-type
    std/protobuf/macros#type::t
    #f
    ()
    (name tag io-methods)
    (name tag io-methods)
    #f
    ()))
  (declare-type
   |std/protobuf/macros[1]#type?|
   (@class-pred |std/protobuf/macros[1]#type::t|))
  (declare-type
   |std/protobuf/macros[1]#make-type|
   (@class-cons |std/protobuf/macros[1]#type::t|))
  (declare-type
   |std/protobuf/macros[1]#type-name|
   (@class-getf |std/protobuf/macros[1]#type::t| name #f))
  (declare-type
   |std/protobuf/macros[1]#type-tag|
   (@class-getf |std/protobuf/macros[1]#type::t| tag #f))
  (declare-type
   |std/protobuf/macros[1]#type-io-methods|
   (@class-getf |std/protobuf/macros[1]#type::t| io-methods #f))
  (declare-type
   |std/protobuf/macros[1]#type-name-set!|
   (@class-setf |std/protobuf/macros[1]#type::t| class #f))
  (declare-type
   |std/protobuf/macros[1]#type-tag-set!|
   (@class-setf |std/protobuf/macros[1]#type::t| class #f))
  (declare-type
   |std/protobuf/macros[1]#type-io-methods-set!|
   (@class-setf |std/protobuf/macros[1]#type::t| class #f))
  (declare-type
   |std/protobuf/macros[1]#scalar-type::t|
   (@class-type
    std/protobuf/macros#scalar-type::t
    #f
    (|std/protobuf/macros[1]#type::t|)
    ()
    (name tag io-methods)
    #f
    ()))
  (declare-type
   |std/protobuf/macros[1]#scalar-type?|
   (@class-pred |std/protobuf/macros[1]#scalar-type::t|))
  (declare-type
   |std/protobuf/macros[1]#make-scalar-type|
   (@class-cons |std/protobuf/macros[1]#scalar-type::t|))
  (declare-type
   |std/protobuf/macros[1]#enum-type::t|
   (@class-type
    std/protobuf/macros#enum-type::t
    #f
    (|std/protobuf/macros[1]#type::t|)
    ()
    (name tag io-methods)
    #f
    ()))
  (declare-type
   |std/protobuf/macros[1]#enum-type?|
   (@class-pred |std/protobuf/macros[1]#enum-type::t|))
  (declare-type
   |std/protobuf/macros[1]#make-enum-type|
   (@class-cons |std/protobuf/macros[1]#enum-type::t|))
  (declare-type
   |std/protobuf/macros[1]#message-type::t|
   (@class-type
    std/protobuf/macros#message-type::t
    #f
    (|std/protobuf/macros[1]#type::t|)
    ()
    (name tag io-methods)
    #f
    ()))
  (declare-type
   |std/protobuf/macros[1]#message-type?|
   (@class-pred |std/protobuf/macros[1]#message-type::t|))
  (declare-type
   |std/protobuf/macros[1]#make-message-type|
   (@class-cons |std/protobuf/macros[1]#message-type::t|))
  (declare-type
   |std/protobuf/macros[1]#message-type-info::t|
   (@class-type
    std/protobuf/macros#message-type-info::t
    #!void
    (|std/protobuf/macros[1]#message-type::t|
     |gerbil/core$<MOP>$<MOP:2>[1]#extended-struct-info::t|)
    ()
    #f
    #!void
    ()))
  (declare-type
   |std/protobuf/macros[1]#message-type-info?|
   (@class-pred |std/protobuf/macros[1]#message-type-info::t|))
  (declare-type
   |std/protobuf/macros[1]#make-message-type-info|
   (@class-cons |std/protobuf/macros[1]#message-type-info::t|))
  (declare-type
   |std/protobuf/macros[1]#package::t|
   (@class-type
    std/protobuf/macros#package::t
    #f
    ()
    (id types)
    (id types)
    #f
    ()))
  (declare-type
   |std/protobuf/macros[1]#package?|
   (@class-pred |std/protobuf/macros[1]#package::t|))
  (declare-type
   |std/protobuf/macros[1]#make-package|
   (@class-cons |std/protobuf/macros[1]#package::t|))
  (declare-type
   |std/protobuf/macros[1]#package-id|
   (@class-getf |std/protobuf/macros[1]#package::t| id #f))
  (declare-type
   |std/protobuf/macros[1]#package-types|
   (@class-getf |std/protobuf/macros[1]#package::t| types #f))
  (declare-type
   |std/protobuf/macros[1]#package-id-set!|
   (@class-setf |std/protobuf/macros[1]#package::t| class #f))
  (declare-type
   |std/protobuf/macros[1]#package-types-set!|
   (@class-setf |std/protobuf/macros[1]#package::t| class #f))
  (declare-type |std/protobuf/macros[1]#syntax-local-type| (@lambda 1 #f))
  (declare-type |std/protobuf/macros[1]#check-duplicate-keys!| (@lambda 2 #f)))
