prelude: :gerbil/compiler/ssxi
package: std

(begin
  (declare-type
   std/test#!check-fail::t
   (@struct-type std/test#!check-fail::t #f 3 #f ()))
  (declare-type std/test#!check-fail? (@struct-pred std/test#!check-fail::t))
  (declare-type
   std/test#make-!check-fail
   (@struct-cons std/test#!check-fail::t))
  (declare-type
   std/test#!check-fail-e
   (@struct-getf std/test#!check-fail::t 0 #f))
  (declare-type
   std/test#!check-fail-value
   (@struct-getf std/test#!check-fail::t 1 #f))
  (declare-type
   std/test#!check-fail-loc
   (@struct-getf std/test#!check-fail::t 2 #f))
  (declare-type
   std/test#!check-fail-e-set!
   (@struct-setf std/test#!check-fail::t 0 #f))
  (declare-type
   std/test#!check-fail-value-set!
   (@struct-setf std/test#!check-fail::t 1 #f))
  (declare-type
   std/test#!check-fail-loc-set!
   (@struct-setf std/test#!check-fail::t 2 #f))
  (declare-type
   std/test#!check-error::t
   (@struct-type std/test#!check-error::t #f 3 #f ()))
  (declare-type std/test#!check-error? (@struct-pred std/test#!check-error::t))
  (declare-type
   std/test#make-!check-error
   (@struct-cons std/test#!check-error::t))
  (declare-type
   std/test#!check-error-exn
   (@struct-getf std/test#!check-error::t 0 #f))
  (declare-type
   std/test#!check-error-check
   (@struct-getf std/test#!check-error::t 1 #f))
  (declare-type
   std/test#!check-error-loc
   (@struct-getf std/test#!check-error::t 2 #f))
  (declare-type
   std/test#!check-error-exn-set!
   (@struct-setf std/test#!check-error::t 0 #f))
  (declare-type
   std/test#!check-error-check-set!
   (@struct-setf std/test#!check-error::t 1 #f))
  (declare-type
   std/test#!check-error-loc-set!
   (@struct-setf std/test#!check-error::t 2 #f))
  (declare-type
   std/test#!test-suite::t
   (@struct-type std/test#!test-suite::t #f 3 #f ()))
  (declare-type std/test#!test-suite? (@struct-pred std/test#!test-suite::t))
  (declare-type
   std/test#make-!test-suite
   (@struct-cons std/test#!test-suite::t))
  (declare-type
   std/test#!test-suite-desc
   (@struct-getf std/test#!test-suite::t 0 #f))
  (declare-type
   std/test#!test-suite-thunk
   (@struct-getf std/test#!test-suite::t 1 #f))
  (declare-type
   std/test#!test-suite-tests
   (@struct-getf std/test#!test-suite::t 2 #f))
  (declare-type
   std/test#!test-suite-desc-set!
   (@struct-setf std/test#!test-suite::t 0 #f))
  (declare-type
   std/test#!test-suite-thunk-set!
   (@struct-setf std/test#!test-suite::t 1 #f))
  (declare-type
   std/test#!test-suite-tests-set!
   (@struct-setf std/test#!test-suite::t 2 #f))
  (declare-type
   std/test#!test-case::t
   (@struct-type std/test#!test-case::t #f 4 #f ()))
  (declare-type std/test#!test-case? (@struct-pred std/test#!test-case::t))
  (declare-type std/test#make-!test-case (@struct-cons std/test#!test-case::t))
  (declare-type
   std/test#!test-case-desc
   (@struct-getf std/test#!test-case::t 0 #f))
  (declare-type
   std/test#!test-case-checks
   (@struct-getf std/test#!test-case::t 1 #f))
  (declare-type
   std/test#!test-case-fail
   (@struct-getf std/test#!test-case::t 2 #f))
  (declare-type
   std/test#!test-case-error
   (@struct-getf std/test#!test-case::t 3 #f))
  (declare-type
   std/test#!test-case-desc-set!
   (@struct-setf std/test#!test-case::t 0 #f))
  (declare-type
   std/test#!test-case-checks-set!
   (@struct-setf std/test#!test-case::t 1 #f))
  (declare-type
   std/test#!test-case-fail-set!
   (@struct-setf std/test#!test-case::t 2 #f))
  (declare-type
   std/test#!test-case-error-set!
   (@struct-setf std/test#!test-case::t 3 #f))
  (declare-type std/test#!check-error::display-exception (@lambda 2 #f))
  (declare-method
   std/test#!check-error::t
   display-exception
   std/test#!check-error::display-exception
   #f)
  (declare-type std/test#!check-fail::display-exception (@lambda 2 #f))
  (declare-method
   std/test#!check-fail::t
   display-exception
   std/test#!check-fail::display-exception
   #f)
  (declare-type std/test#set-test-verbose! (@lambda 1 #f))
  (declare-type std/test#verbose (@lambda (1) #f))
  (declare-type std/test#not-eq? (@lambda 2 #f))
  (declare-type std/test#not-eqv? (@lambda 2 #f))
  (declare-type std/test#equal-values? (@lambda 2 #f))
  (declare-type std/test#not-equal-values? (@lambda 2 #f))
  (declare-type std/test#with-check-error (@lambda 3 #f))
  (declare-type std/test#make-test-suite (@lambda 2 #f))
  (declare-type std/test#run-tests! (@lambda (1) #f))
  (declare-type std/test#test-report-summary! (@lambda 0 #f))
  (declare-type std/test#test-result (@lambda 0 #f))
  (declare-type std/test#test-suite-summary! (@lambda 1 #f))
  (declare-type std/test#test-begin! (@lambda 0 #f))
  (declare-type std/test#test-add-test! (@lambda 1 #f))
  (declare-type std/test#run-test-suite! (@lambda 1 #f))
  (declare-type std/test#test-suite-begin! (@lambda 1 #f))
  (declare-type std/test#test-suite-end! (@lambda 1 #f))
  (declare-type std/test#test-suite-add-test! (@lambda 2 #f))
  (declare-type std/test#run-test-case! (@lambda 2 #f))
  (declare-type std/test#test-case-begin! (@lambda 1 #f))
  (declare-type std/test#test-case-end! (@lambda 1 #f))
  (declare-type std/test#test-case-add-check! (@lambda 1 #f))
  (declare-type std/test#test-check-e (@lambda 5 #f))
  (declare-type std/test#test-check-output (@lambda 4 #f))
  (declare-type std/test#test-check-predicate (@lambda 4 #f))
  (declare-type std/test#test-check-exception (@lambda 4 #f)))
