(declare (block) (standard-bindings) (extended-bindings) (inlining-limit 200))
(begin
  (define |gerbil/core/contract~Interface[1]#_g84047_|
    (##structure gx#syntax-quote::t ':= #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84049_|
    (##structure gx#syntax-quote::t ':= #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84050_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84051_|
    (##structure gx#syntax-quote::t ':= #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84052_|
    (##structure gx#syntax-quote::t ':= #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84053_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84055_|
    (##structure gx#syntax-quote::t ':= #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84057_|
    (##structure gx#syntax-quote::t ':= #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84058_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84059_|
    (##structure gx#syntax-quote::t ': #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84060_|
    (##structure gx#syntax-quote::t ': #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84061_|
    (##structure gx#syntax-quote::t ':- #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84062_|
    (##structure gx#syntax-quote::t ':- #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84063_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84069_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84070_|
    (##structure gx#syntax-quote::t ':? #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84071_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84072_|
    (##structure gx#syntax-quote::t ':? #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84073_|
    (##structure gx#syntax-quote::t ':= #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84074_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84075_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84076_|
    (##structure gx#syntax-quote::t ':? #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84077_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84078_|
    (##structure gx#syntax-quote::t ':? #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84079_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84080_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84081_|
    (##structure gx#syntax-quote::t ':? #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84082_|
    (##structure gx#syntax-quote::t ':- #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84083_|
    (##structure gx#syntax-quote::t ':~ #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84084_|
    (##structure gx#syntax-quote::t ': #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84085_|
    (##structure gx#syntax-quote::t ':? #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84086_|
    (##structure gx#syntax-quote::t ':- #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84088_|
    (##structure gx#syntax-quote::t ':= #f (gx#current-expander-context) '()))
  (define |gerbil/core/contract~Interface[1]#_g84096_|
    (##structure gx#syntax-quote::t '=> #f (gx#current-expander-context) '()))
  (begin
    (define |gerbil/core/contract~Interface[1]#check-signature!__%|
      (lambda (_%@@keywords60105%_
               _%optionals-allowed?6010160107%_
               _%keywords-allowed?6010260109%_
               _%stx60111%_
               _%args60112%_
               _%return60113%_)
        (let* ((_%optionals-allowed?60115%_
                (if (eq? _%optionals-allowed?6010160107%_ absent-value)
                    '#t
                    _%optionals-allowed?6010160107%_))
               (_%keywords-allowed?60118%_
                (if (eq? _%keywords-allowed?6010260109%_ absent-value)
                    '#t
                    _%keywords-allowed?6010260109%_)))
          (if (gx#stx-e _%return60113%_)
              (|gerbil/core/contract~Interface[1]#check-valid-type!|
               _%stx60111%_
               _%return60113%_)
              '#!void)
          (|gerbil/core/contract~Interface[1]#check-signature-spec!__%|
           '#f
           _%optionals-allowed?60115%_
           _%keywords-allowed?60118%_
           _%stx60111%_
           _%args60112%_))))
    (define |gerbil/core/contract~Interface[1]#check-signature!__@|
      (lambda (_%@@keywords60125%_ . _%args60127%_)
        (apply |gerbil/core/contract~Interface[1]#check-signature!__%|
               _%@@keywords60125%_
               (symbolic-table-ref
                _%@@keywords60125%_
                'optionals:
                absent-value)
               (symbolic-table-ref _%@@keywords60125%_ 'keywords: absent-value)
               _%args60127%_)))
    (define |gerbil/core/contract~Interface[1]#check-signature!|
      (lambda _%args6010360134%_
        (apply keyword-dispatch
               '#(optionals: keywords:)
               |gerbil/core/contract~Interface[1]#check-signature!__@|
               _%args6010360134%_)))
    (define |gerbil/core/contract~Interface[1]#check-valid-type!|
      (lambda (_%stx60077%_ _%id60079%_)
        (let* ((_%info60081%_ (gx#syntax-local-value _%id60079%_ false))
               (_%$e60092%_
                (let ((_%$e60084%_
                       (let ()
                         (declare (not safe))
                         (class-instance?
                          gerbil/core/mop~MOP-2#class-type-info::t
                          _%info60081%_))))
                  (if _%$e60084%_
                      _%$e60084%_
                      (let ((_%$e60088%_
                             (let ()
                               (declare (not safe))
                               (class-instance?
                                gerbil/core/contract~InterfaceInfo#interface-info::t
                                _%info60081%_))))
                        (if _%$e60088%_
                            _%$e60088%_
                            (let ()
                              (declare (not safe))
                              (class-instance?
                               |gerbil/core/contract~TypeReference[1]#type-reference::t|
                               _%info60081%_))))))))
          (if _%$e60092%_
              _%$e60092%_
              (if (not _%info60081%_)
                  (gx#raise-syntax-error
                   '#f
                   '"invalid signature; unknown type"
                   _%stx60077%_
                   _%id60079%_)
                  (gx#raise-syntax-error
                   '#f
                   '"invalid signature; not a a class type or interface"
                   _%stx60077%_
                   _%id60079%_
                   _%info60081%_))))))
    (define |gerbil/core/contract~Interface[1]#check-signature-spec!__%|
      (lambda (_%@@keywords59312%_
               _%optionals-allowed?5930859314%_
               _%keywords-allowed?5930959316%_
               _%stx59318%_
               _%signature59319%_)
        (let* ((_%optionals-allowed?59321%_
                (if (eq? _%optionals-allowed?5930859314%_ absent-value)
                    '#t
                    _%optionals-allowed?5930859314%_))
               (_%keywords-allowed?59324%_
                (if (eq? _%keywords-allowed?5930959316%_ absent-value)
                    '#t
                    _%keywords-allowed?5930959316%_)))
          (let _%lp59327%_ ((_%rest59330%_ _%signature59319%_)
                            (_%have-optional?59332%_ '#f)
                            (_%ids59333%_ '())
                            (_%kws59334%_ '()))
            (let* ((_%__stx7966679667%_ _%rest59330%_)
                   (_%g5934459414%_
                    (lambda ()
                      (gx#raise-syntax-error
                       '#f
                       '"Bad syntax; invalid match target"
                       _%__stx7966679667%_))))
              (let ((_%__kont7966979670%_
                     (lambda (_%L60030%_ _%L60032%_)
                       (if _%have-optional?59332%_
                           (gx#raise-syntax-error
                            '#f
                            '"invalid signature; required argument after optionals"
                            _%stx59318%_
                            _%signature59319%_
                            _%L60032%_)
                           (if (null? _%kws59334%_)
                               (if (find (lambda (_%g6004660048%_)
                                           (gx#bound-identifier=?
                                            _%g6004660048%_
                                            _%L60032%_))
                                         _%ids59333%_)
                                   (gx#raise-syntax-error
                                    '#f
                                    '"invalid signature; duplicate identifier"
                                    _%stx59318%_
                                    _%signature59319%_
                                    _%L60032%_)
                                   (_%lp59327%_
                                    _%L60030%_
                                    _%have-optional?59332%_
                                    (cons _%L60032%_ _%ids59333%_)
                                    _%kws59334%_))
                               (gx#raise-syntax-error
                                '#f
                                '"invalid signature; positional arguments must precede keyword arguments")))))
                    (_%__kont7967179672%_
                     (lambda (_%L59983%_ _%L59985%_)
                       (if (not _%optionals-allowed?59321%_)
                           (gx#raise-syntax-error
                            '#f
                            '"invalid signature; optionals not allowed"
                            _%stx59318%_
                            _%signature59319%_)
                           (if (null? _%kws59334%_)
                               (if (find (lambda (_%g6000360005%_)
                                           (gx#bound-identifier=?
                                            _%g6000360005%_
                                            _%L59985%_))
                                         _%ids59333%_)
                                   (gx#raise-syntax-error
                                    '#f
                                    '"invalid signature; duplicate identifier"
                                    _%stx59318%_
                                    _%signature59319%_
                                    _%L59985%_)
                                   (_%lp59327%_
                                    _%L59983%_
                                    '#t
                                    (cons _%L59985%_ _%ids59333%_)
                                    _%kws59334%_))
                               (gx#raise-syntax-error
                                '#f
                                '"invalid signature; positional arguments must precede keyword arguments")))))
                    (_%__kont7967379674%_
                     (lambda (_%L59695%_ _%L59697%_ _%L59698%_)
                       (if (not _%optionals-allowed?59321%_)
                           (let* ((_%__stx7959079591%_ _%L59697%_)
                                  (_%g5971559736%_
                                   (lambda ()
                                     (gx#raise-syntax-error
                                      '#f
                                      '"Bad syntax; invalid match target"
                                      _%__stx7959079591%_))))
                             (let ((_%__kont7959379594%_
                                    (lambda (_%L59800%_)
                                      (gx#raise-syntax-error
                                       '#f
                                       '"invalid signature; optionals not allowed"
                                       _%stx59318%_
                                       _%signature59319%_)))
                                   (_%__kont7959779598%_ (lambda () (void))))
                               (let ((_%__match7962579626%_
                                      (lambda (_%__splice7959579596%_
                                               _%target5971859754%_
                                               _%tl5972059757%_
                                               _%e5972559760%_
                                               _%hd5972659764%_
                                               _%tl5972759767%_
                                               _%e5972859770%_
                                               _%hd5972959774%_
                                               _%tl5973059777%_)
                                        (letrec ((_%loop5972159780%_
                                                  (lambda (_%hd5971959784%_)
                                                    (if (gx#stx-pair?
                                                         _%hd5971959784%_)
                                                        (let ((_%e5972259788%_
                                                               (gx#syntax-e
                                                                _%hd5971959784%_)))
                                                          (let ((_%lp-tl5972459795%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (let () (declare (not safe)) (##cdr _%e5972259788%_)))
                        (_%lp-hd5972359792%_
                         (let ()
                           (declare (not safe))
                           (##car _%e5972259788%_))))
                    (_%loop5972159780%_ _%lp-tl5972459795%_)))
                (_%__kont7959379594%_ _%hd5972959774%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                          (_%loop5972159780%_
                                           _%target5971859754%_)))))
                                 (if (gx#stx-pair/null? _%__stx7959079591%_)
                                     (if (let ((__tmp84046
                                                (gx#stx-length
                                                 _%__stx7959079591%_)))
                                           (declare (not safe))
                                           (##fx>= __tmp84046 '2))
                                         (let ((_%__splice7959579596%_
                                                (gx#syntax-split-splice
                                                 _%__stx7959079591%_
                                                 '2)))
                                           (let ((_%tl5972059757%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##vector-ref
                                                     _%__splice7959579596%_
                                                     '1)))
                                                 (_%target5971859754%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##vector-ref
                                                     _%__splice7959579596%_
                                                     '0))))
                                             (if (gx#stx-pair?
                                                  _%tl5972059757%_)
                                                 (let ((_%e5972559760%_
                                                        (gx#syntax-e
                                                         _%tl5972059757%_)))
                                                   (let ((_%tl5972759767%_
                                                          (let ()
                                                            (declare
                                                              (not safe))
                                                            (##cdr _%e5972559760%_)))
                                                         (_%hd5972659764%_
                                                          (let ()
                                                            (declare
                                                              (not safe))
                                                            (##car _%e5972559760%_))))
                                                     (if (gx#identifier?
                                                          _%hd5972659764%_)
                                                         (if (gx#free-identifier=?
                                                              |gerbil/core/contract~Interface[1]#_g84047_|
                                                              _%hd5972659764%_)
                                                             (if (gx#stx-pair?
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _%tl5972759767%_)
                         (let ((_%e5972859770%_
                                (gx#syntax-e _%tl5972759767%_)))
                           (let ((_%tl5973059777%_
                                  (let ()
                                    (declare (not safe))
                                    (##cdr _%e5972859770%_)))
                                 (_%hd5972959774%_
                                  (let ()
                                    (declare (not safe))
                                    (##car _%e5972859770%_))))
                             (if (gx#stx-null? _%tl5973059777%_)
                                 (_%__match7962579626%_
                                  _%__splice7959579596%_
                                  _%target5971859754%_
                                  _%tl5972059757%_
                                  _%e5972559760%_
                                  _%hd5972659764%_
                                  _%tl5972759767%_
                                  _%e5972859770%_
                                  _%hd5972959774%_
                                  _%tl5973059777%_)
                                 (_%__kont7959779598%_))))
                         (_%__kont7959779598%_))
                     (_%__kont7959779598%_))
                 (_%__kont7959779598%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                 (_%__kont7959779598%_))))
                                         (_%__kont7959779598%_))
                                     (_%__kont7959779598%_)))))
                           (if (null? _%kws59334%_)
                               (if _%have-optional?59332%_
                                   (let* ((_%__stx7962879629%_ _%L59697%_)
                                          (_%g5982959850%_
                                           (lambda ()
                                             (gx#raise-syntax-error
                                              '#f
                                              '"Bad syntax; invalid match target"
                                              _%__stx7962879629%_))))
                                     (let ((_%__kont7963179632%_
                                            (lambda (_%L59914%_)
                                              (|gerbil/core/contract~Interface[1]#check-signature-contract-types!|
                                               _%stx59318%_
                                               _%L59697%_)
                                              (_%lp59327%_
                                               _%L59695%_
                                               '#t
                                               (cons _%L59698%_ _%ids59333%_)
                                               _%kws59334%_)))
                                           (_%__kont7963579636%_
                                            (lambda ()
                                              (gx#raise-syntax-error
                                               '#f
                                               '"invalid signature; expected optional argument"
                                               _%stx59318%_
                                               _%signature59319%_
                                               _%L59697%_))))
                                       (let ((_%__match7966379664%_
                                              (lambda (_%__splice7963379634%_
                                                       _%target5983259868%_
                                                       _%tl5983459871%_
                                                       _%e5983959874%_
                                                       _%hd5984059878%_
                                                       _%tl5984159881%_
                                                       _%e5984259884%_
                                                       _%hd5984359888%_
                                                       _%tl5984459891%_)
                                                (letrec ((_%loop5983559894%_
                                                          (lambda (_%hd5983359898%_)
                                                            (if (gx#stx-pair?
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%hd5983359898%_)
                        (let ((_%e5983659902%_ (gx#syntax-e _%hd5983359898%_)))
                          (let ((_%lp-tl5983859909%_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _%e5983659902%_)))
                                (_%lp-hd5983759906%_
                                 (let ()
                                   (declare (not safe))
                                   (##car _%e5983659902%_))))
                            (_%loop5983559894%_ _%lp-tl5983859909%_)))
                        (_%__kont7963179632%_ _%hd5984359888%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (_%loop5983559894%_
                                                   _%target5983259868%_)))))
                                         (if (gx#stx-pair/null?
                                              _%__stx7962879629%_)
                                             (if (let ((__tmp84048
                                                        (gx#stx-length
                                                         _%__stx7962879629%_)))
                                                   (declare (not safe))
                                                   (##fx>= __tmp84048 '2))
                                                 (let ((_%__splice7963379634%_
                                                        (gx#syntax-split-splice
                                                         _%__stx7962879629%_
                                                         '2)))
                                                   (let ((_%tl5983459871%_
                                                          (let ()
                                                            (declare
                                                              (not safe))
                                                            (##vector-ref
                                                             _%__splice7963379634%_
                                                             '1)))
                                                         (_%target5983259868%_
                                                          (let ()
                                                            (declare
                                                              (not safe))
                                                            (##vector-ref
                                                             _%__splice7963379634%_
                                                             '0))))
                                                     (if (gx#stx-pair?
                                                          _%tl5983459871%_)
                                                         (let ((_%e5983959874%_
                                                                (gx#syntax-e
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%tl5983459871%_)))
                   (let ((_%tl5984159881%_
                          (let ()
                            (declare (not safe))
                            (##cdr _%e5983959874%_)))
                         (_%hd5984059878%_
                          (let ()
                            (declare (not safe))
                            (##car _%e5983959874%_))))
                     (if (gx#identifier? _%hd5984059878%_)
                         (if (gx#free-identifier=?
                              |gerbil/core/contract~Interface[1]#_g84049_|
                              _%hd5984059878%_)
                             (if (gx#stx-pair? _%tl5984159881%_)
                                 (let ((_%e5984259884%_
                                        (gx#syntax-e _%tl5984159881%_)))
                                   (let ((_%tl5984459891%_
                                          (let ()
                                            (declare (not safe))
                                            (##cdr _%e5984259884%_)))
                                         (_%hd5984359888%_
                                          (let ()
                                            (declare (not safe))
                                            (##car _%e5984259884%_))))
                                     (if (gx#stx-null? _%tl5984459891%_)
                                         (_%__match7966379664%_
                                          _%__splice7963379634%_
                                          _%target5983259868%_
                                          _%tl5983459871%_
                                          _%e5983959874%_
                                          _%hd5984059878%_
                                          _%tl5984159881%_
                                          _%e5984259884%_
                                          _%hd5984359888%_
                                          _%tl5984459891%_)
                                         (_%__kont7963579636%_))))
                                 (_%__kont7963579636%_))
                             (_%__kont7963579636%_))
                         (_%__kont7963579636%_))))
                 (_%__kont7963579636%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                 (_%__kont7963579636%_))
                                             (_%__kont7963579636%_)))))
                                   (if (find (lambda (_%g5993659938%_)
                                               (gx#bound-identifier=?
                                                _%g5993659938%_
                                                _%L59698%_))
                                             _%ids59333%_)
                                       (gx#raise-syntax-error
                                        '#f
                                        '"invalid signature; duplicate identifier"
                                        _%stx59318%_
                                        _%signature59319%_
                                        _%L59698%_)
                                       (let ()
                                         (|gerbil/core/contract~Interface[1]#check-signature-contract-types!|
                                          _%stx59318%_
                                          _%L59697%_)
                                         (_%lp59327%_
                                          _%L59695%_
                                          _%have-optional?59332%_
                                          (cons _%L59698%_ _%ids59333%_)
                                          _%kws59334%_))))
                               (gx#raise-syntax-error
                                '#f
                                '"invalid signature; positional arguments must precede keyword arguments")))))
                    (_%__kont7967579676%_
                     (lambda (_%L59638%_ _%L59640%_ _%L59641%_)
                       (if (not _%keywords-allowed?59324%_)
                           (gx#raise-syntax-error
                            '#f
                            '"invalid signature; keywords not allowed"
                            _%stx59318%_
                            _%signature59319%_)
                           (if (find (lambda (_%g5965659658%_)
                                       (gx#bound-identifier=?
                                        _%g5965659658%_
                                        _%L59640%_))
                                     _%ids59333%_)
                               (gx#raise-syntax-error
                                '#f
                                '"invalid signature; duplicate identifier"
                                _%stx59318%_
                                _%signature59319%_
                                _%L59640%_)
                               (if (memq (gx#stx-e _%L59641%_) _%kws59334%_)
                                   (gx#raise-syntax-error
                                    '#f
                                    '"invalid signature; duplicate keyword"
                                    _%stx59318%_
                                    _%signature59319%_
                                    _%L59641%_)
                                   (_%lp59327%_
                                    _%L59638%_
                                    _%have-optional?59332%_
                                    (cons _%L59640%_ _%ids59333%_)
                                    (cons (gx#stx-e _%L59641%_)
                                          _%kws59334%_)))))))
                    (_%__kont7967779678%_
                     (lambda (_%L59577%_ _%L59579%_ _%L59580%_)
                       (if (not _%keywords-allowed?59324%_)
                           (gx#raise-syntax-error
                            '#f
                            '"invalid signature; keywords not allowed"
                            _%stx59318%_
                            _%signature59319%_)
                           (if (find (lambda (_%g5959959601%_)
                                       (gx#bound-identifier=?
                                        _%g5959959601%_
                                        _%L59579%_))
                                     _%ids59333%_)
                               (gx#raise-syntax-error
                                '#f
                                '"invalid signature; duplicate identifier"
                                _%stx59318%_
                                _%signature59319%_
                                _%L59579%_)
                               (if (memq (gx#stx-e _%L59580%_) _%kws59334%_)
                                   (gx#raise-syntax-error
                                    '#f
                                    '"invalid signature; duplicate keyword"
                                    _%stx59318%_
                                    _%signature59319%_
                                    _%L59580%_)
                                   (_%lp59327%_
                                    _%L59577%_
                                    _%have-optional?59332%_
                                    (cons _%L59579%_ _%ids59333%_)
                                    (cons (gx#stx-e _%L59580%_)
                                          _%kws59334%_)))))))
                    (_%__kont7967979680%_
                     (lambda (_%L59496%_ _%L59498%_ _%L59499%_ _%L59500%_)
                       (if (not _%keywords-allowed?59324%_)
                           (gx#raise-syntax-error
                            '#f
                            '"invalid signature; keywords not allowed"
                            _%stx59318%_
                            _%signature59319%_)
                           (if (find (lambda (_%g5951859520%_)
                                       (gx#bound-identifier=?
                                        _%g5951859520%_
                                        _%L59499%_))
                                     _%ids59333%_)
                               (gx#raise-syntax-error
                                '#f
                                '"invalid signature; duplicate identifier"
                                _%stx59318%_
                                _%signature59319%_
                                _%L59499%_)
                               (if (memq (gx#stx-e _%L59500%_) _%kws59334%_)
                                   (gx#raise-syntax-error
                                    '#f
                                    '"invalid signature; duplicate keyword"
                                    _%stx59318%_
                                    _%signature59319%_
                                    _%L59500%_)
                                   (let ()
                                     (|gerbil/core/contract~Interface[1]#check-signature-contract-types!|
                                      _%stx59318%_
                                      _%L59498%_)
                                     (_%lp59327%_
                                      _%L59496%_
                                      _%have-optional?59332%_
                                      (cons _%L59499%_ _%ids59333%_)
                                      (cons (gx#stx-e _%L59500%_)
                                            _%kws59334%_))))))))
                    (_%__kont7968179682%_ (lambda (_%L59443%_) '#t))
                    (_%__kont7968379684%_ (lambda () '#t))
                    (_%__kont7968579686%_
                     (lambda ()
                       (gx#raise-syntax-error
                        '#f
                        '"invalid signature"
                        _%stx59318%_
                        _%signature59319%_
                        _%rest59330%_))))
                (let* ((_%g5934259436%_
                        (lambda ()
                          (if (gx#stx-null? _%__stx7966679667%_)
                              (_%__kont7968379684%_)
                              (_%__kont7968579686%_))))
                       (_%g5934159459%_
                        (lambda ()
                          (let ((_%L59443%_ _%__stx7966679667%_))
                            (if (gx#identifier? _%L59443%_)
                                (_%__kont7968179682%_ _%L59443%_)
                                (let ()
                                  (declare (not safe))
                                  (_%g5934259436%_))))))
                       (_%__match7978179782%_
                        (lambda (_%e5939959466%_
                                 _%hd5940059470%_
                                 _%tl5940159473%_
                                 _%e5940259476%_
                                 _%hd5940359480%_
                                 _%tl5940459483%_
                                 _%e5940559486%_
                                 _%hd5940659490%_
                                 _%tl5940759493%_)
                          (let ((_%L59496%_ _%tl5940459483%_)
                                (_%L59498%_ _%tl5940759493%_)
                                (_%L59499%_ _%hd5940659490%_)
                                (_%L59500%_ _%hd5940059470%_))
                            (if (and (gx#stx-keyword? _%L59500%_)
                                     (gx#identifier? _%L59499%_)
                                     (|gerbil/core/contract~Interface[1]#signature-contract?|
                                      _%L59498%_))
                                (_%__kont7967979680%_
                                 _%L59496%_
                                 _%L59498%_
                                 _%L59499%_
                                 _%L59500%_)
                                (let ()
                                  (declare (not safe))
                                  (_%g5934159459%_))))))
                       (_%__match7976379764%_
                        (lambda (_%e5938359537%_
                                 _%hd5938459541%_
                                 _%tl5938559544%_
                                 _%e5938659547%_
                                 _%hd5938759551%_
                                 _%tl5938859554%_
                                 _%e5938959557%_
                                 _%hd5939059561%_
                                 _%tl5939159564%_
                                 _%e5939259567%_
                                 _%hd5939359571%_
                                 _%tl5939459574%_)
                          (let ((_%L59577%_ _%tl5938859554%_)
                                (_%L59579%_ _%hd5939059561%_)
                                (_%L59580%_ _%hd5938459541%_))
                            (if (and (gx#stx-keyword? _%L59580%_)
                                     (gx#identifier? _%L59579%_))
                                (_%__kont7967779678%_
                                 _%L59577%_
                                 _%L59579%_
                                 _%L59580%_)
                                (_%__match7978179782%_
                                 _%e5938359537%_
                                 _%hd5938459541%_
                                 _%tl5938559544%_
                                 _%e5938659547%_
                                 _%hd5938759551%_
                                 _%tl5938859554%_
                                 _%e5938959557%_
                                 _%hd5939059561%_
                                 _%tl5939159564%_)))))
                       (_%__match7973779738%_
                        (lambda (_%e5937459618%_
                                 _%hd5937559622%_
                                 _%tl5937659625%_
                                 _%e5937759628%_
                                 _%hd5937859632%_
                                 _%tl5937959635%_)
                          (let ((_%L59638%_ _%tl5937959635%_)
                                (_%L59640%_ _%hd5937859632%_)
                                (_%L59641%_ _%hd5937559622%_))
                            (if (and (gx#stx-keyword? _%L59641%_)
                                     (gx#identifier? _%L59640%_))
                                (_%__kont7967579676%_
                                 _%L59638%_
                                 _%L59640%_
                                 _%L59641%_)
                                (if (gx#stx-pair? _%hd5937859632%_)
                                    (let ((_%e5938959557%_
                                           (gx#syntax-e _%hd5937859632%_)))
                                      (let ((_%tl5939159564%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5938959557%_)))
                                            (_%hd5939059561%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5938959557%_))))
                                        (if (gx#stx-pair? _%tl5939159564%_)
                                            (let ((_%e5939259567%_
                                                   (gx#syntax-e
                                                    _%tl5939159564%_)))
                                              (let ((_%tl5939459574%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##cdr _%e5939259567%_)))
                                                    (_%hd5939359571%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##car _%e5939259567%_))))
                                                (if (gx#stx-null?
                                                     _%tl5939459574%_)
                                                    (_%__match7976379764%_
                                                     _%e5937459618%_
                                                     _%hd5937559622%_
                                                     _%tl5937659625%_
                                                     _%e5937759628%_
                                                     _%hd5937859632%_
                                                     _%tl5937959635%_
                                                     _%e5938959557%_
                                                     _%hd5939059561%_
                                                     _%tl5939159564%_
                                                     _%e5939259567%_
                                                     _%hd5939359571%_
                                                     _%tl5939459574%_)
                                                    (_%__match7978179782%_
                                                     _%e5937459618%_
                                                     _%hd5937559622%_
                                                     _%tl5937659625%_
                                                     _%e5937759628%_
                                                     _%hd5937859632%_
                                                     _%tl5937959635%_
                                                     _%e5938959557%_
                                                     _%hd5939059561%_
                                                     _%tl5939159564%_))))
                                            (_%__match7978179782%_
                                             _%e5937459618%_
                                             _%hd5937559622%_
                                             _%tl5937659625%_
                                             _%e5937759628%_
                                             _%hd5937859632%_
                                             _%tl5937959635%_
                                             _%e5938959557%_
                                             _%hd5939059561%_
                                             _%tl5939159564%_))))
                                    (let ()
                                      (declare (not safe))
                                      (_%g5934159459%_)))))))
                       (_%__match7972579726%_
                        (lambda (_%e5936559675%_
                                 _%hd5936659679%_
                                 _%tl5936759682%_
                                 _%e5936859685%_
                                 _%hd5936959689%_
                                 _%tl5937059692%_)
                          (let ((_%L59695%_ _%tl5936759682%_)
                                (_%L59697%_ _%tl5937059692%_)
                                (_%L59698%_ _%hd5936959689%_))
                            (if (and (gx#identifier? _%L59698%_)
                                     (|gerbil/core/contract~Interface[1]#signature-contract?|
                                      _%L59697%_))
                                (_%__kont7967379674%_
                                 _%L59695%_
                                 _%L59697%_
                                 _%L59698%_)
                                (if (gx#stx-pair? _%tl5936759682%_)
                                    (let ((_%e5937759628%_
                                           (gx#syntax-e _%tl5936759682%_)))
                                      (let ((_%tl5937959635%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5937759628%_)))
                                            (_%hd5937859632%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5937759628%_))))
                                        (_%__match7973779738%_
                                         _%e5936559675%_
                                         _%hd5936659679%_
                                         _%tl5936759682%_
                                         _%e5937759628%_
                                         _%hd5937859632%_
                                         _%tl5937959635%_)))
                                    (let ()
                                      (declare (not safe))
                                      (_%g5934159459%_)))))))
                       (_%__match7971379714%_
                        (lambda (_%e5935359953%_
                                 _%hd5935459957%_
                                 _%tl5935559960%_
                                 _%e5935659963%_
                                 _%hd5935759967%_
                                 _%tl5935859970%_
                                 _%e5935959973%_
                                 _%hd5936059977%_
                                 _%tl5936159980%_)
                          (let ((_%L59983%_ _%tl5935559960%_)
                                (_%L59985%_ _%hd5935759967%_))
                            (if (gx#identifier? _%L59985%_)
                                (_%__kont7967179672%_ _%L59983%_ _%L59985%_)
                                (_%__match7972579726%_
                                 _%e5935359953%_
                                 _%hd5935459957%_
                                 _%tl5935559960%_
                                 _%e5935659963%_
                                 _%hd5935759967%_
                                 _%tl5935859970%_)))))
                       (_%__match7969379694%_
                        (lambda (_%e5934860020%_
                                 _%hd5934960024%_
                                 _%tl5935060027%_)
                          (let ((_%L60030%_ _%tl5935060027%_)
                                (_%L60032%_ _%hd5934960024%_))
                            (if (gx#identifier? _%L60032%_)
                                (_%__kont7966979670%_ _%L60030%_ _%L60032%_)
                                (if (gx#stx-pair? _%hd5934960024%_)
                                    (let ((_%e5935659963%_
                                           (gx#syntax-e _%hd5934960024%_)))
                                      (let ((_%tl5935859970%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5935659963%_)))
                                            (_%hd5935759967%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5935659963%_))))
                                        (if (gx#stx-pair? _%tl5935859970%_)
                                            (let ((_%e5935959973%_
                                                   (gx#syntax-e
                                                    _%tl5935859970%_)))
                                              (let ((_%tl5936159980%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##cdr _%e5935959973%_)))
                                                    (_%hd5936059977%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##car _%e5935959973%_))))
                                                (if (gx#stx-null?
                                                     _%tl5936159980%_)
                                                    (_%__match7971379714%_
                                                     _%e5934860020%_
                                                     _%hd5934960024%_
                                                     _%tl5935060027%_
                                                     _%e5935659963%_
                                                     _%hd5935759967%_
                                                     _%tl5935859970%_
                                                     _%e5935959973%_
                                                     _%hd5936059977%_
                                                     _%tl5936159980%_)
                                                    (_%__match7972579726%_
                                                     _%e5934860020%_
                                                     _%hd5934960024%_
                                                     _%tl5935060027%_
                                                     _%e5935659963%_
                                                     _%hd5935759967%_
                                                     _%tl5935859970%_))))
                                            (_%__match7972579726%_
                                             _%e5934860020%_
                                             _%hd5934960024%_
                                             _%tl5935060027%_
                                             _%e5935659963%_
                                             _%hd5935759967%_
                                             _%tl5935859970%_))))
                                    (if (gx#stx-pair? _%tl5935060027%_)
                                        (let ((_%e5937759628%_
                                               (gx#syntax-e _%tl5935060027%_)))
                                          (let ((_%tl5937959635%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##cdr _%e5937759628%_)))
                                                (_%hd5937859632%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##car _%e5937759628%_))))
                                            (_%__match7973779738%_
                                             _%e5934860020%_
                                             _%hd5934960024%_
                                             _%tl5935060027%_
                                             _%e5937759628%_
                                             _%hd5937859632%_
                                             _%tl5937959635%_)))
                                        (let ()
                                          (declare (not safe))
                                          (_%g5934159459%_)))))))))
                  (if (gx#stx-pair? _%__stx7966679667%_)
                      (let ((_%e5934860020%_
                             (gx#syntax-e _%__stx7966679667%_)))
                        (let ((_%tl5935060027%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e5934860020%_)))
                              (_%hd5934960024%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e5934860020%_))))
                          (_%__match7969379694%_
                           _%e5934860020%_
                           _%hd5934960024%_
                           _%tl5935060027%_)))
                      (let () (declare (not safe)) (_%g5934159459%_))))))))))
    (define |gerbil/core/contract~Interface[1]#check-signature-spec!__@|
      (lambda (_%@@keywords60064%_ . _%args60066%_)
        (apply |gerbil/core/contract~Interface[1]#check-signature-spec!__%|
               _%@@keywords60064%_
               (symbolic-table-ref
                _%@@keywords60064%_
                'optionals:
                absent-value)
               (symbolic-table-ref _%@@keywords60064%_ 'keywords: absent-value)
               _%args60066%_)))
    (define |gerbil/core/contract~Interface[1]#check-signature-spec!|
      (lambda _%args5931060073%_
        (apply keyword-dispatch
               '#(optionals: keywords:)
               |gerbil/core/contract~Interface[1]#check-signature-spec!__@|
               _%args5931060073%_)))
    (define |gerbil/core/contract~Interface[1]#signature-contract?|
      (lambda (_%contract58767%_)
        (let* ((_%__stx7978679787%_ _%contract58767%_)
               (_%g5877658864%_
                (lambda ()
                  (gx#raise-syntax-error
                   '#f
                   '"Bad syntax; invalid match target"
                   _%__stx7978679787%_))))
          (let ((_%__kont7978979790%_
                 (lambda (_%L59276%_ _%L59278%_) (gx#identifier? _%L59276%_)))
                (_%__kont7979179792%_
                 (lambda (_%L59216%_ _%L59218%_ _%L59219%_)
                   (gx#identifier? _%L59218%_)))
                (_%__kont7979379794%_ (lambda (_%L59156%_) '#t))
                (_%__kont7979579796%_ (lambda (_%L59110%_ _%L59112%_) '#t))
                (_%__kont7979779798%_
                 (lambda (_%L59030%_ _%L59032%_ _%L59033%_)
                   (gx#identifier? _%L59030%_)))
                (_%__kont7979979800%_
                 (lambda (_%L58942%_ _%L58944%_ _%L58945%_ _%L58946%_)
                   (gx#identifier? _%L58944%_)))
                (_%__kont7980179802%_ (lambda () '#f)))
            (let* ((_%__match7997579976%_
                    (lambda (_%e5884158882%_
                             _%hd5884258886%_
                             _%tl5884358889%_
                             _%e5884458892%_
                             _%hd5884558896%_
                             _%tl5884658899%_
                             _%e5884758902%_
                             _%hd5884858906%_
                             _%tl5884958909%_
                             _%e5885058912%_
                             _%hd5885158916%_
                             _%tl5885258919%_
                             _%e5885358922%_
                             _%hd5885458926%_
                             _%tl5885558929%_
                             _%e5885658932%_
                             _%hd5885758936%_
                             _%tl5885858939%_)
                      (let ((_%L58942%_ _%hd5885758936%_)
                            (_%L58944%_ _%hd5885158916%_)
                            (_%L58945%_ _%hd5884858906%_)
                            (_%L58946%_ _%hd5884558896%_))
                        (if (and (gx#identifier? _%L58945%_)
                                 (or (gx#free-identifier=?
                                      _%L58945%_
                                      (gx#datum->syntax '#f ':))
                                     (gx#free-identifier=?
                                      _%L58945%_
                                      (gx#datum->syntax '#f ':-))
                                     (gx#free-identifier=?
                                      _%L58945%_
                                      (gx#datum->syntax '#f '::-))
                                     (gx#free-identifier=?
                                      _%L58945%_
                                      (gx#datum->syntax '#f ':?))))
                            (_%__kont7979979800%_
                             _%L58942%_
                             _%L58944%_
                             _%L58945%_
                             _%L58946%_)
                            (_%__kont7980179802%_)))))
                   (_%__match7992979930%_
                    (lambda (_%e5882558990%_
                             _%hd5882658994%_
                             _%tl5882758997%_
                             _%e5882859000%_
                             _%hd5882959004%_
                             _%tl5883059007%_
                             _%e5883159010%_
                             _%hd5883259014%_
                             _%tl5883359017%_
                             _%e5883459020%_
                             _%hd5883559024%_
                             _%tl5883659027%_)
                      (let ((_%L59030%_ _%hd5883559024%_)
                            (_%L59032%_ _%hd5883259014%_)
                            (_%L59033%_ _%hd5882959004%_))
                        (if (and (gx#identifier? _%L59032%_)
                                 (or (gx#free-identifier=?
                                      _%L59032%_
                                      (gx#datum->syntax '#f ':))
                                     (gx#free-identifier=?
                                      _%L59032%_
                                      (gx#datum->syntax '#f ':-))
                                     (gx#free-identifier=?
                                      _%L59032%_
                                      (gx#datum->syntax '#f '::-))
                                     (gx#free-identifier=?
                                      _%L59032%_
                                      (gx#datum->syntax '#f ':?))))
                            (_%__kont7979779798%_
                             _%L59030%_
                             _%L59032%_
                             _%L59033%_)
                            (_%__kont7980179802%_)))))
                   (_%__match7984779848%_
                    (lambda (_%e5878959176%_
                             _%hd5879059180%_
                             _%tl5879159183%_
                             _%e5879259186%_
                             _%hd5879359190%_
                             _%tl5879459193%_
                             _%e5879559196%_
                             _%hd5879659200%_
                             _%tl5879759203%_
                             _%e5879859206%_
                             _%hd5879959210%_
                             _%tl5880059213%_)
                      (let ((_%L59216%_ _%hd5879959210%_)
                            (_%L59218%_ _%hd5879359190%_)
                            (_%L59219%_ _%hd5879059180%_))
                        (if (and (gx#identifier? _%L59219%_)
                                 (or (gx#free-identifier=?
                                      _%L59219%_
                                      (gx#datum->syntax '#f ':))
                                     (gx#free-identifier=?
                                      _%L59219%_
                                      (gx#datum->syntax '#f ':-))
                                     (gx#free-identifier=?
                                      _%L59219%_
                                      (gx#datum->syntax '#f '::-))
                                     (gx#free-identifier=?
                                      _%L59219%_
                                      (gx#datum->syntax '#f ':?))))
                            (_%__kont7979179792%_
                             _%L59216%_
                             _%L59218%_
                             _%L59219%_)
                            (if (gx#identifier? _%hd5879059180%_)
                                (if (gx#free-identifier=?
                                     |gerbil/core/contract~Interface[1]#_g84050_|
                                     _%hd5879059180%_)
                                    (_%__kont7979579796%_
                                     _%hd5879959210%_
                                     _%hd5879359190%_)
                                    (_%__kont7980179802%_))
                                (_%__kont7980179802%_))))))
                   (_%__match7981779818%_
                    (lambda (_%e5878059256%_
                             _%hd5878159260%_
                             _%tl5878259263%_
                             _%e5878359266%_
                             _%hd5878459270%_
                             _%tl5878559273%_)
                      (let ((_%L59276%_ _%hd5878459270%_)
                            (_%L59278%_ _%hd5878159260%_))
                        (if (and (gx#identifier? _%L59278%_)
                                 (or (gx#free-identifier=?
                                      _%L59278%_
                                      (gx#datum->syntax '#f ':))
                                     (gx#free-identifier=?
                                      _%L59278%_
                                      (gx#datum->syntax '#f ':-))
                                     (gx#free-identifier=?
                                      _%L59278%_
                                      (gx#datum->syntax '#f '::-))
                                     (gx#free-identifier=?
                                      _%L59278%_
                                      (gx#datum->syntax '#f ':?))))
                            (_%__kont7978979790%_ _%L59276%_ _%L59278%_)
                            (if (gx#identifier? _%hd5878159260%_)
                                (if (gx#free-identifier=?
                                     |gerbil/core/contract~Interface[1]#_g84050_|
                                     _%hd5878159260%_)
                                    (_%__kont7979379794%_ _%hd5878459270%_)
                                    (_%__kont7980179802%_))
                                (_%__kont7980179802%_)))))))
              (if (gx#stx-pair? _%__stx7978679787%_)
                  (let ((_%e5878059256%_ (gx#syntax-e _%__stx7978679787%_)))
                    (let ((_%tl5878259263%_
                           (let ()
                             (declare (not safe))
                             (##cdr _%e5878059256%_)))
                          (_%hd5878159260%_
                           (let ()
                             (declare (not safe))
                             (##car _%e5878059256%_))))
                      (if (gx#stx-pair? _%tl5878259263%_)
                          (let ((_%e5878359266%_
                                 (gx#syntax-e _%tl5878259263%_)))
                            (let ((_%tl5878559273%_
                                   (let ()
                                     (declare (not safe))
                                     (##cdr _%e5878359266%_)))
                                  (_%hd5878459270%_
                                   (let ()
                                     (declare (not safe))
                                     (##car _%e5878359266%_))))
                              (if (gx#stx-null? _%tl5878559273%_)
                                  (_%__match7981779818%_
                                   _%e5878059256%_
                                   _%hd5878159260%_
                                   _%tl5878259263%_
                                   _%e5878359266%_
                                   _%hd5878459270%_
                                   _%tl5878559273%_)
                                  (if (gx#stx-pair? _%tl5878559273%_)
                                      (let ((_%e5879559196%_
                                             (gx#syntax-e _%tl5878559273%_)))
                                        (let ((_%tl5879759203%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e5879559196%_)))
                                              (_%hd5879659200%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e5879559196%_))))
                                          (if (gx#identifier? _%hd5879659200%_)
                                              (if (gx#free-identifier=?
                                                   |gerbil/core/contract~Interface[1]#_g84051_|
                                                   _%hd5879659200%_)
                                                  (if (gx#stx-pair?
                                                       _%tl5879759203%_)
                                                      (let ((_%e5879859206%_
                                                             (gx#syntax-e
                                                              _%tl5879759203%_)))
                                                        (let ((_%tl5880059213%_
                                                               (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (declare (not safe))
                         (##cdr _%e5879859206%_)))
                      (_%hd5879959210%_
                       (let () (declare (not safe)) (##car _%e5879859206%_))))
                  (if (gx#stx-null? _%tl5880059213%_)
                      (_%__match7984779848%_
                       _%e5878059256%_
                       _%hd5878159260%_
                       _%tl5878259263%_
                       _%e5878359266%_
                       _%hd5878459270%_
                       _%tl5878559273%_
                       _%e5879559196%_
                       _%hd5879659200%_
                       _%tl5879759203%_
                       _%e5879859206%_
                       _%hd5879959210%_
                       _%tl5880059213%_)
                      (if (gx#identifier? _%hd5878159260%_)
                          (if (gx#free-identifier=?
                               |gerbil/core/contract~Interface[1]#_g84050_|
                               _%hd5878159260%_)
                              (if (gx#stx-pair? _%tl5880059213%_)
                                  (let ((_%e5885358922%_
                                         (gx#syntax-e _%tl5880059213%_)))
                                    (let ((_%tl5885558929%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5885358922%_)))
                                          (_%hd5885458926%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5885358922%_))))
                                      (if (gx#identifier? _%hd5885458926%_)
                                          (if (gx#free-identifier=?
                                               |gerbil/core/contract~Interface[1]#_g84052_|
                                               _%hd5885458926%_)
                                              (if (gx#stx-pair?
                                                   _%tl5885558929%_)
                                                  (let ((_%e5885658932%_
                                                         (gx#syntax-e
                                                          _%tl5885558929%_)))
                                                    (let ((_%tl5885858939%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##cdr _%e5885658932%_)))
                                                          (_%hd5885758936%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##car _%e5885658932%_))))
                                                      (if (gx#stx-null?
                                                           _%tl5885858939%_)
                                                          (_%__match7997579976%_
                                                           _%e5878059256%_
                                                           _%hd5878159260%_
                                                           _%tl5878259263%_
                                                           _%e5878359266%_
                                                           _%hd5878459270%_
                                                           _%tl5878559273%_
                                                           _%e5879559196%_
                                                           _%hd5879659200%_
                                                           _%tl5879759203%_
                                                           _%e5879859206%_
                                                           _%hd5879959210%_
                                                           _%tl5880059213%_
                                                           _%e5885358922%_
                                                           _%hd5885458926%_
                                                           _%tl5885558929%_
                                                           _%e5885658932%_
                                                           _%hd5885758936%_
                                                           _%tl5885858939%_)
                                                          (_%__kont7980179802%_))))
                                                  (_%__kont7980179802%_))
                                              (_%__kont7980179802%_))
                                          (_%__kont7980179802%_))))
                                  (_%__kont7980179802%_))
                              (_%__kont7980179802%_))
                          (_%__kont7980179802%_)))))
              (_%__kont7980179802%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (if (gx#identifier?
                                                       _%hd5878159260%_)
                                                      (if (gx#free-identifier=?
                                                           |gerbil/core/contract~Interface[1]#_g84050_|
                                                           _%hd5878159260%_)
                                                          (if (gx#stx-pair?
                                                               _%tl5879759203%_)
                                                              (let ((_%e5883459020%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             (gx#syntax-e _%tl5879759203%_)))
                        (let ((_%tl5883659027%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e5883459020%_)))
                              (_%hd5883559024%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e5883459020%_))))
                          (if (gx#stx-null? _%tl5883659027%_)
                              (_%__match7992979930%_
                               _%e5878059256%_
                               _%hd5878159260%_
                               _%tl5878259263%_
                               _%e5878359266%_
                               _%hd5878459270%_
                               _%tl5878559273%_
                               _%e5879559196%_
                               _%hd5879659200%_
                               _%tl5879759203%_
                               _%e5883459020%_
                               _%hd5883559024%_
                               _%tl5883659027%_)
                              (if (gx#stx-pair? _%tl5883659027%_)
                                  (let ((_%e5885358922%_
                                         (gx#syntax-e _%tl5883659027%_)))
                                    (let ((_%tl5885558929%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5885358922%_)))
                                          (_%hd5885458926%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5885358922%_))))
                                      (if (gx#identifier? _%hd5885458926%_)
                                          (if (gx#free-identifier=?
                                               |gerbil/core/contract~Interface[1]#_g84052_|
                                               _%hd5885458926%_)
                                              (if (gx#stx-pair?
                                                   _%tl5885558929%_)
                                                  (let ((_%e5885658932%_
                                                         (gx#syntax-e
                                                          _%tl5885558929%_)))
                                                    (let ((_%tl5885858939%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##cdr _%e5885658932%_)))
                                                          (_%hd5885758936%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##car _%e5885658932%_))))
                                                      (if (gx#stx-null?
                                                           _%tl5885858939%_)
                                                          (_%__match7997579976%_
                                                           _%e5878059256%_
                                                           _%hd5878159260%_
                                                           _%tl5878259263%_
                                                           _%e5878359266%_
                                                           _%hd5878459270%_
                                                           _%tl5878559273%_
                                                           _%e5879559196%_
                                                           _%hd5879659200%_
                                                           _%tl5879759203%_
                                                           _%e5883459020%_
                                                           _%hd5883559024%_
                                                           _%tl5883659027%_
                                                           _%e5885358922%_
                                                           _%hd5885458926%_
                                                           _%tl5885558929%_
                                                           _%e5885658932%_
                                                           _%hd5885758936%_
                                                           _%tl5885858939%_)
                                                          (_%__kont7980179802%_))))
                                                  (_%__kont7980179802%_))
                                              (_%__kont7980179802%_))
                                          (_%__kont7980179802%_))))
                                  (_%__kont7980179802%_)))))
                      (_%__kont7980179802%_))
                  (_%__kont7980179802%_))
              (_%__kont7980179802%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (if (gx#identifier?
                                                   _%hd5878159260%_)
                                                  (if (gx#free-identifier=?
                                                       |gerbil/core/contract~Interface[1]#_g84050_|
                                                       _%hd5878159260%_)
                                                      (if (gx#stx-pair?
                                                           _%tl5879759203%_)
                                                          (let ((_%e5883459020%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (gx#syntax-e _%tl5879759203%_)))
                    (let ((_%tl5883659027%_
                           (let ()
                             (declare (not safe))
                             (##cdr _%e5883459020%_)))
                          (_%hd5883559024%_
                           (let ()
                             (declare (not safe))
                             (##car _%e5883459020%_))))
                      (if (gx#stx-null? _%tl5883659027%_)
                          (_%__match7992979930%_
                           _%e5878059256%_
                           _%hd5878159260%_
                           _%tl5878259263%_
                           _%e5878359266%_
                           _%hd5878459270%_
                           _%tl5878559273%_
                           _%e5879559196%_
                           _%hd5879659200%_
                           _%tl5879759203%_
                           _%e5883459020%_
                           _%hd5883559024%_
                           _%tl5883659027%_)
                          (if (gx#stx-pair? _%tl5883659027%_)
                              (let ((_%e5885358922%_
                                     (gx#syntax-e _%tl5883659027%_)))
                                (let ((_%tl5885558929%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e5885358922%_)))
                                      (_%hd5885458926%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e5885358922%_))))
                                  (if (gx#identifier? _%hd5885458926%_)
                                      (if (gx#free-identifier=?
                                           |gerbil/core/contract~Interface[1]#_g84052_|
                                           _%hd5885458926%_)
                                          (if (gx#stx-pair? _%tl5885558929%_)
                                              (let ((_%e5885658932%_
                                                     (gx#syntax-e
                                                      _%tl5885558929%_)))
                                                (let ((_%tl5885858939%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e5885658932%_)))
                                                      (_%hd5885758936%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e5885658932%_))))
                                                  (if (gx#stx-null?
                                                       _%tl5885858939%_)
                                                      (_%__match7997579976%_
                                                       _%e5878059256%_
                                                       _%hd5878159260%_
                                                       _%tl5878259263%_
                                                       _%e5878359266%_
                                                       _%hd5878459270%_
                                                       _%tl5878559273%_
                                                       _%e5879559196%_
                                                       _%hd5879659200%_
                                                       _%tl5879759203%_
                                                       _%e5883459020%_
                                                       _%hd5883559024%_
                                                       _%tl5883659027%_
                                                       _%e5885358922%_
                                                       _%hd5885458926%_
                                                       _%tl5885558929%_
                                                       _%e5885658932%_
                                                       _%hd5885758936%_
                                                       _%tl5885858939%_)
                                                      (_%__kont7980179802%_))))
                                              (_%__kont7980179802%_))
                                          (_%__kont7980179802%_))
                                      (_%__kont7980179802%_))))
                              (_%__kont7980179802%_)))))
                  (_%__kont7980179802%_))
              (_%__kont7980179802%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (_%__kont7980179802%_)))))
                                      (_%__kont7980179802%_)))))
                          (_%__kont7980179802%_))))
                  (_%__kont7980179802%_)))))))
    (define |gerbil/core/contract~Interface[1]#check-signature-contract-types!|
      (lambda (_%stx58574%_ _%contract58576%_)
        (let* ((_%__stx7997879979%_ _%contract58576%_)
               (_%g5858058612%_
                (lambda ()
                  (gx#raise-syntax-error
                   '#f
                   '"Bad syntax; invalid match target"
                   _%__stx7997879979%_))))
          (let ((_%__kont7998179982%_
                 (lambda (_%L58734%_ _%L58736%_ _%L58737%_)
                   (|gerbil/core/contract~Interface[1]#check-valid-type!|
                    _%stx58574%_
                    _%L58736%_)))
                (_%__kont7998379984%_
                 (lambda (_%L58670%_ _%L58672%_ _%L58673%_ _%L58674%_)
                   (|gerbil/core/contract~Interface[1]#check-valid-type!|
                    _%stx58574%_
                    _%L58672%_)))
                (_%__kont7998579986%_ (lambda () (void))))
            (let* ((_%__match8002780028%_
                    (lambda (_%e5859558630%_
                             _%hd5859658634%_
                             _%tl5859758637%_
                             _%e5859858640%_
                             _%hd5859958644%_
                             _%tl5860058647%_
                             _%e5860158650%_
                             _%hd5860258654%_
                             _%tl5860358657%_
                             _%e5860458660%_
                             _%hd5860558664%_
                             _%tl5860658667%_)
                      (let ((_%L58670%_ _%tl5860658667%_)
                            (_%L58672%_ _%hd5860558664%_)
                            (_%L58673%_ _%hd5860258654%_)
                            (_%L58674%_ _%hd5859958644%_))
                        (if (and (gx#identifier? _%L58673%_)
                                 (or (gx#free-identifier=?
                                      _%L58673%_
                                      (gx#datum->syntax '#f ':))
                                     (gx#free-identifier=?
                                      _%L58673%_
                                      (gx#datum->syntax '#f ':-))
                                     (gx#free-identifier=?
                                      _%L58673%_
                                      (gx#datum->syntax '#f '::-))
                                     (gx#free-identifier=?
                                      _%L58673%_
                                      (gx#datum->syntax '#f ':?))))
                            (_%__kont7998379984%_
                             _%L58670%_
                             _%L58672%_
                             _%L58673%_
                             _%L58674%_)
                            (_%__kont7998579986%_)))))
                   (_%__match7999980000%_
                    (lambda (_%e5858558714%_
                             _%hd5858658718%_
                             _%tl5858758721%_
                             _%e5858858724%_
                             _%hd5858958728%_
                             _%tl5859058731%_)
                      (let ((_%L58734%_ _%tl5859058731%_)
                            (_%L58736%_ _%hd5858958728%_)
                            (_%L58737%_ _%hd5858658718%_))
                        (if (and (gx#identifier? _%L58737%_)
                                 (or (gx#free-identifier=?
                                      _%L58737%_
                                      (gx#datum->syntax '#f ':))
                                     (gx#free-identifier=?
                                      _%L58737%_
                                      (gx#datum->syntax '#f ':-))
                                     (gx#free-identifier=?
                                      _%L58737%_
                                      (gx#datum->syntax '#f '::-))
                                     (gx#free-identifier=?
                                      _%L58737%_
                                      (gx#datum->syntax '#f ':?))))
                            (_%__kont7998179982%_
                             _%L58734%_
                             _%L58736%_
                             _%L58737%_)
                            (if (gx#identifier? _%hd5858658718%_)
                                (if (gx#free-identifier=?
                                     |gerbil/core/contract~Interface[1]#_g84053_|
                                     _%hd5858658718%_)
                                    (if (gx#stx-pair? _%tl5859058731%_)
                                        (let ((_%e5860158650%_
                                               (gx#syntax-e _%tl5859058731%_)))
                                          (let ((_%tl5860358657%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##cdr _%e5860158650%_)))
                                                (_%hd5860258654%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##car _%e5860158650%_))))
                                            (if (gx#stx-pair? _%tl5860358657%_)
                                                (let ((_%e5860458660%_
                                                       (gx#syntax-e
                                                        _%tl5860358657%_)))
                                                  (let ((_%tl5860658667%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##cdr _%e5860458660%_)))
                                                        (_%hd5860558664%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##car _%e5860458660%_))))
                                                    (_%__match8002780028%_
                                                     _%e5858558714%_
                                                     _%hd5858658718%_
                                                     _%tl5858758721%_
                                                     _%e5858858724%_
                                                     _%hd5858958728%_
                                                     _%tl5859058731%_
                                                     _%e5860158650%_
                                                     _%hd5860258654%_
                                                     _%tl5860358657%_
                                                     _%e5860458660%_
                                                     _%hd5860558664%_
                                                     _%tl5860658667%_)))
                                                (_%__kont7998579986%_))))
                                        (_%__kont7998579986%_))
                                    (_%__kont7998579986%_))
                                (_%__kont7998579986%_)))))))
              (if (gx#stx-pair? _%__stx7997879979%_)
                  (let ((_%e5858558714%_ (gx#syntax-e _%__stx7997879979%_)))
                    (let ((_%tl5858758721%_
                           (let ()
                             (declare (not safe))
                             (##cdr _%e5858558714%_)))
                          (_%hd5858658718%_
                           (let ()
                             (declare (not safe))
                             (##car _%e5858558714%_))))
                      (if (gx#stx-pair? _%tl5858758721%_)
                          (let ((_%e5858858724%_
                                 (gx#syntax-e _%tl5858758721%_)))
                            (let ((_%tl5859058731%_
                                   (let ()
                                     (declare (not safe))
                                     (##cdr _%e5858858724%_)))
                                  (_%hd5858958728%_
                                   (let ()
                                     (declare (not safe))
                                     (##car _%e5858858724%_))))
                              (_%__match7999980000%_
                               _%e5858558714%_
                               _%hd5858658718%_
                               _%tl5858758721%_
                               _%e5858858724%_
                               _%hd5858958728%_
                               _%tl5859058731%_)))
                          (_%__kont7998579986%_))))
                  (_%__kont7998579986%_)))))))
    (define |gerbil/core/contract~Interface[1]#signature-arguments-in|
      (lambda (_%signature57930%_)
        (let _%loop57933%_ ((_%rest57936%_ _%signature57930%_)
                            (_%result57938%_ '()))
          (let* ((_%__stx8010680107%_ _%rest57936%_)
                 (_%g5794758019%_
                  (lambda ()
                    (gx#raise-syntax-error
                     '#f
                     '"Bad syntax; invalid match target"
                     _%__stx8010680107%_))))
            (let ((_%__kont8010980110%_
                   (lambda (_%L58557%_ _%L58559%_)
                     (_%loop57933%_
                      _%L58557%_
                      (cons _%L58559%_ _%result57938%_))))
                  (_%__kont8011180112%_
                   (lambda (_%L58521%_ _%L58523%_ _%L58524%_)
                     (_%loop57933%_
                      _%L58521%_
                      (cons (cons _%L58524%_ (cons _%L58523%_ '()))
                            _%result57938%_))))
                  (_%__kont8011380114%_
                   (lambda (_%L58358%_ _%L58360%_ _%L58361%_)
                     (let* ((_%__stx8006880069%_ _%L58360%_)
                            (_%g5837658397%_
                             (lambda ()
                               (gx#raise-syntax-error
                                '#f
                                '"Bad syntax; invalid match target"
                                _%__stx8006880069%_))))
                       (let ((_%__kont8007180072%_
                              (lambda (_%L58461%_)
                                (_%loop57933%_
                                 _%L58358%_
                                 (cons (cons _%L58361%_ (cons _%L58461%_ '()))
                                       _%result57938%_))))
                             (_%__kont8007580076%_
                              (lambda ()
                                (_%loop57933%_
                                 _%L58358%_
                                 (cons _%L58361%_ _%result57938%_)))))
                         (let ((_%__match8010380104%_
                                (lambda (_%__splice8007380074%_
                                         _%target5837958415%_
                                         _%tl5838158418%_
                                         _%e5838658421%_
                                         _%hd5838758425%_
                                         _%tl5838858428%_
                                         _%e5838958431%_
                                         _%hd5839058435%_
                                         _%tl5839158438%_)
                                  (letrec ((_%loop5838258441%_
                                            (lambda (_%hd5838058445%_)
                                              (if (gx#stx-pair?
                                                   _%hd5838058445%_)
                                                  (let ((_%e5838358449%_
                                                         (gx#syntax-e
                                                          _%hd5838058445%_)))
                                                    (let ((_%lp-tl5838558456%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##cdr _%e5838358449%_)))
                                                          (_%lp-hd5838458453%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##car _%e5838358449%_))))
                                                      (_%loop5838258441%_
                                                       _%lp-tl5838558456%_)))
                                                  (_%__kont8007180072%_
                                                   _%hd5839058435%_)))))
                                    (_%loop5838258441%_
                                     _%target5837958415%_)))))
                           (if (gx#stx-pair/null? _%__stx8006880069%_)
                               (if (let ((__tmp84054
                                          (gx#stx-length _%__stx8006880069%_)))
                                     (declare (not safe))
                                     (##fx>= __tmp84054 '2))
                                   (let ((_%__splice8007380074%_
                                          (gx#syntax-split-splice
                                           _%__stx8006880069%_
                                           '2)))
                                     (let ((_%tl5838158418%_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref
                                               _%__splice8007380074%_
                                               '1)))
                                           (_%target5837958415%_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref
                                               _%__splice8007380074%_
                                               '0))))
                                       (if (gx#stx-pair? _%tl5838158418%_)
                                           (let ((_%e5838658421%_
                                                  (gx#syntax-e
                                                   _%tl5838158418%_)))
                                             (let ((_%tl5838858428%_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##cdr _%e5838658421%_)))
                                                   (_%hd5838758425%_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##car _%e5838658421%_))))
                                               (if (gx#identifier?
                                                    _%hd5838758425%_)
                                                   (if (gx#free-identifier=?
                                                        |gerbil/core/contract~Interface[1]#_g84055_|
                                                        _%hd5838758425%_)
                                                       (if (gx#stx-pair?
                                                            _%tl5838858428%_)
                                                           (let ((_%e5838958431%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (gx#syntax-e _%tl5838858428%_)))
                     (let ((_%tl5839158438%_
                            (let ()
                              (declare (not safe))
                              (##cdr _%e5838958431%_)))
                           (_%hd5839058435%_
                            (let ()
                              (declare (not safe))
                              (##car _%e5838958431%_))))
                       (if (gx#stx-null? _%tl5839158438%_)
                           (_%__match8010380104%_
                            _%__splice8007380074%_
                            _%target5837958415%_
                            _%tl5838158418%_
                            _%e5838658421%_
                            _%hd5838758425%_
                            _%tl5838858428%_
                            _%e5838958431%_
                            _%hd5839058435%_
                            _%tl5839158438%_)
                           (_%__kont8007580076%_))))
                   (_%__kont8007580076%_))
               (_%__kont8007580076%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   (_%__kont8007580076%_))))
                                           (_%__kont8007580076%_))))
                                   (_%__kont8007580076%_))
                               (_%__kont8007580076%_)))))))
                  (_%__kont8011580116%_
                   (lambda (_%L58314%_ _%L58316%_ _%L58317%_)
                     (_%loop57933%_
                      _%L58314%_
                      (cons _%L58316%_ (cons _%L58317%_ _%result57938%_)))))
                  (_%__kont8011780118%_
                   (lambda (_%L58264%_ _%L58266%_ _%L58267%_ _%L58268%_)
                     (_%loop57933%_
                      _%L58264%_
                      (cons (cons _%L58267%_ (cons _%L58266%_ '()))
                            (cons _%L58268%_ _%result57938%_)))))
                  (_%__kont8011980120%_
                   (lambda (_%L58087%_ _%L58089%_ _%L58090%_ _%L58091%_)
                     (let* ((_%__stx8003080031%_ _%L58089%_)
                            (_%g5810958130%_
                             (lambda ()
                               (gx#raise-syntax-error
                                '#f
                                '"Bad syntax; invalid match target"
                                _%__stx8003080031%_))))
                       (let ((_%__kont8003380034%_
                              (lambda (_%L58194%_)
                                (_%loop57933%_
                                 _%L58087%_
                                 (cons (cons _%L58090%_ (cons _%L58194%_ '()))
                                       (cons _%L58091%_ _%result57938%_)))))
                             (_%__kont8003780038%_
                              (lambda ()
                                (_%loop57933%_
                                 _%L58087%_
                                 (cons _%L58090%_
                                       (cons _%L58091%_ _%result57938%_))))))
                         (let ((_%__match8006580066%_
                                (lambda (_%__splice8003580036%_
                                         _%target5811258148%_
                                         _%tl5811458151%_
                                         _%e5811958154%_
                                         _%hd5812058158%_
                                         _%tl5812158161%_
                                         _%e5812258164%_
                                         _%hd5812358168%_
                                         _%tl5812458171%_)
                                  (letrec ((_%loop5811558174%_
                                            (lambda (_%hd5811358178%_)
                                              (if (gx#stx-pair?
                                                   _%hd5811358178%_)
                                                  (let ((_%e5811658182%_
                                                         (gx#syntax-e
                                                          _%hd5811358178%_)))
                                                    (let ((_%lp-tl5811858189%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##cdr _%e5811658182%_)))
                                                          (_%lp-hd5811758186%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##car _%e5811658182%_))))
                                                      (_%loop5811558174%_
                                                       _%lp-tl5811858189%_)))
                                                  (_%__kont8003380034%_
                                                   _%hd5812358168%_)))))
                                    (_%loop5811558174%_
                                     _%target5811258148%_)))))
                           (if (gx#stx-pair/null? _%__stx8003080031%_)
                               (if (let ((__tmp84056
                                          (gx#stx-length _%__stx8003080031%_)))
                                     (declare (not safe))
                                     (##fx>= __tmp84056 '2))
                                   (let ((_%__splice8003580036%_
                                          (gx#syntax-split-splice
                                           _%__stx8003080031%_
                                           '2)))
                                     (let ((_%tl5811458151%_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref
                                               _%__splice8003580036%_
                                               '1)))
                                           (_%target5811258148%_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref
                                               _%__splice8003580036%_
                                               '0))))
                                       (if (gx#stx-pair? _%tl5811458151%_)
                                           (let ((_%e5811958154%_
                                                  (gx#syntax-e
                                                   _%tl5811458151%_)))
                                             (let ((_%tl5812158161%_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##cdr _%e5811958154%_)))
                                                   (_%hd5812058158%_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##car _%e5811958154%_))))
                                               (if (gx#identifier?
                                                    _%hd5812058158%_)
                                                   (if (gx#free-identifier=?
                                                        |gerbil/core/contract~Interface[1]#_g84057_|
                                                        _%hd5812058158%_)
                                                       (if (gx#stx-pair?
                                                            _%tl5812158161%_)
                                                           (let ((_%e5812258164%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (gx#syntax-e _%tl5812158161%_)))
                     (let ((_%tl5812458171%_
                            (let ()
                              (declare (not safe))
                              (##cdr _%e5812258164%_)))
                           (_%hd5812358168%_
                            (let ()
                              (declare (not safe))
                              (##car _%e5812258164%_))))
                       (if (gx#stx-null? _%tl5812458171%_)
                           (_%__match8006580066%_
                            _%__splice8003580036%_
                            _%target5811258148%_
                            _%tl5811458151%_
                            _%e5811958154%_
                            _%hd5812058158%_
                            _%tl5812158161%_
                            _%e5812258164%_
                            _%hd5812358168%_
                            _%tl5812458171%_)
                           (_%__kont8003780038%_))))
                   (_%__kont8003780038%_))
               (_%__kont8003780038%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   (_%__kont8003780038%_))))
                                           (_%__kont8003780038%_))))
                                   (_%__kont8003780038%_))
                               (_%__kont8003780038%_)))))))
                  (_%__kont8012180122%_
                   (lambda (_%L58037%_)
                     (foldl cons _%L58037%_ _%result57938%_)))
                  (_%__kont8012380124%_
                   (lambda () (reverse! _%result57938%_))))
              (let* ((_%g5794558050%_
                      (lambda ()
                        (let ((_%L58037%_ _%__stx8010680107%_))
                          (if (gx#identifier? _%L58037%_)
                              (_%__kont8012180122%_ _%L58037%_)
                              (_%__kont8012380124%_)))))
                     (_%__match8021980220%_
                      (lambda (_%e5800458057%_
                               _%hd5800558061%_
                               _%tl5800658064%_
                               _%e5800758067%_
                               _%hd5800858071%_
                               _%tl5800958074%_
                               _%e5801058077%_
                               _%hd5801158081%_
                               _%tl5801258084%_)
                        (let ((_%L58087%_ _%tl5800958074%_)
                              (_%L58089%_ _%tl5801258084%_)
                              (_%L58090%_ _%hd5801158081%_)
                              (_%L58091%_ _%hd5800558061%_))
                          (if (and (gx#stx-keyword? _%L58091%_)
                                   (gx#identifier? _%L58090%_)
                                   (|gerbil/core/contract~Interface[1]#signature-contract?|
                                    _%L58089%_))
                              (_%__kont8011980120%_
                               _%L58087%_
                               _%L58089%_
                               _%L58090%_
                               _%L58091%_)
                              (let ()
                                (declare (not safe))
                                (_%g5794558050%_))))))
                     (_%__match8020180202%_
                      (lambda (_%e5798858224%_
                               _%hd5798958228%_
                               _%tl5799058231%_
                               _%e5799158234%_
                               _%hd5799258238%_
                               _%tl5799358241%_
                               _%e5799458244%_
                               _%hd5799558248%_
                               _%tl5799658251%_
                               _%e5799758254%_
                               _%hd5799858258%_
                               _%tl5799958261%_)
                        (let ((_%L58264%_ _%tl5799358241%_)
                              (_%L58266%_ _%hd5799858258%_)
                              (_%L58267%_ _%hd5799558248%_)
                              (_%L58268%_ _%hd5798958228%_))
                          (if (and (gx#stx-keyword? _%L58268%_)
                                   (gx#identifier? _%L58267%_))
                              (_%__kont8011780118%_
                               _%L58264%_
                               _%L58266%_
                               _%L58267%_
                               _%L58268%_)
                              (_%__match8021980220%_
                               _%e5798858224%_
                               _%hd5798958228%_
                               _%tl5799058231%_
                               _%e5799158234%_
                               _%hd5799258238%_
                               _%tl5799358241%_
                               _%e5799458244%_
                               _%hd5799558248%_
                               _%tl5799658251%_)))))
                     (_%__match8017580176%_
                      (lambda (_%e5797858294%_
                               _%hd5797958298%_
                               _%tl5798058301%_
                               _%e5798158304%_
                               _%hd5798258308%_
                               _%tl5798358311%_)
                        (let ((_%L58314%_ _%tl5798358311%_)
                              (_%L58316%_ _%hd5798258308%_)
                              (_%L58317%_ _%hd5797958298%_))
                          (if (and (gx#stx-keyword? _%L58317%_)
                                   (gx#identifier? _%L58316%_))
                              (_%__kont8011580116%_
                               _%L58314%_
                               _%L58316%_
                               _%L58317%_)
                              (if (gx#stx-pair? _%hd5798258308%_)
                                  (let ((_%e5799458244%_
                                         (gx#syntax-e _%hd5798258308%_)))
                                    (let ((_%tl5799658251%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5799458244%_)))
                                          (_%hd5799558248%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5799458244%_))))
                                      (if (gx#stx-pair? _%tl5799658251%_)
                                          (let ((_%e5799758254%_
                                                 (gx#syntax-e
                                                  _%tl5799658251%_)))
                                            (let ((_%tl5799958261%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5799758254%_)))
                                                  (_%hd5799858258%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5799758254%_))))
                                              (if (gx#stx-null?
                                                   _%tl5799958261%_)
                                                  (_%__match8020180202%_
                                                   _%e5797858294%_
                                                   _%hd5797958298%_
                                                   _%tl5798058301%_
                                                   _%e5798158304%_
                                                   _%hd5798258308%_
                                                   _%tl5798358311%_
                                                   _%e5799458244%_
                                                   _%hd5799558248%_
                                                   _%tl5799658251%_
                                                   _%e5799758254%_
                                                   _%hd5799858258%_
                                                   _%tl5799958261%_)
                                                  (_%__match8021980220%_
                                                   _%e5797858294%_
                                                   _%hd5797958298%_
                                                   _%tl5798058301%_
                                                   _%e5798158304%_
                                                   _%hd5798258308%_
                                                   _%tl5798358311%_
                                                   _%e5799458244%_
                                                   _%hd5799558248%_
                                                   _%tl5799658251%_))))
                                          (_%__match8021980220%_
                                           _%e5797858294%_
                                           _%hd5797958298%_
                                           _%tl5798058301%_
                                           _%e5798158304%_
                                           _%hd5798258308%_
                                           _%tl5798358311%_
                                           _%e5799458244%_
                                           _%hd5799558248%_
                                           _%tl5799658251%_))))
                                  (let ()
                                    (declare (not safe))
                                    (_%g5794558050%_)))))))
                     (_%__match8016380164%_
                      (lambda (_%e5796958338%_
                               _%hd5797058342%_
                               _%tl5797158345%_
                               _%e5797258348%_
                               _%hd5797358352%_
                               _%tl5797458355%_)
                        (let ((_%L58358%_ _%tl5797158345%_)
                              (_%L58360%_ _%tl5797458355%_)
                              (_%L58361%_ _%hd5797358352%_))
                          (if (and (gx#identifier? _%L58361%_)
                                   (|gerbil/core/contract~Interface[1]#signature-contract?|
                                    _%L58360%_))
                              (_%__kont8011380114%_
                               _%L58358%_
                               _%L58360%_
                               _%L58361%_)
                              (if (gx#stx-pair? _%tl5797158345%_)
                                  (let ((_%e5798158304%_
                                         (gx#syntax-e _%tl5797158345%_)))
                                    (let ((_%tl5798358311%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5798158304%_)))
                                          (_%hd5798258308%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5798158304%_))))
                                      (_%__match8017580176%_
                                       _%e5796958338%_
                                       _%hd5797058342%_
                                       _%tl5797158345%_
                                       _%e5798158304%_
                                       _%hd5798258308%_
                                       _%tl5798358311%_)))
                                  (let ()
                                    (declare (not safe))
                                    (_%g5794558050%_)))))))
                     (_%__match8015180152%_
                      (lambda (_%e5795758491%_
                               _%hd5795858495%_
                               _%tl5795958498%_
                               _%e5796058501%_
                               _%hd5796158505%_
                               _%tl5796258508%_
                               _%e5796358511%_
                               _%hd5796458515%_
                               _%tl5796558518%_)
                        (let ((_%L58521%_ _%tl5795958498%_)
                              (_%L58523%_ _%hd5796458515%_)
                              (_%L58524%_ _%hd5796158505%_))
                          (if (gx#identifier? _%L58524%_)
                              (_%__kont8011180112%_
                               _%L58521%_
                               _%L58523%_
                               _%L58524%_)
                              (_%__match8016380164%_
                               _%e5795758491%_
                               _%hd5795858495%_
                               _%tl5795958498%_
                               _%e5796058501%_
                               _%hd5796158505%_
                               _%tl5796258508%_)))))
                     (_%__match8013180132%_
                      (lambda (_%e5795158547%_
                               _%hd5795258551%_
                               _%tl5795358554%_)
                        (let ((_%L58557%_ _%tl5795358554%_)
                              (_%L58559%_ _%hd5795258551%_))
                          (if (gx#identifier? _%L58559%_)
                              (_%__kont8010980110%_ _%L58557%_ _%L58559%_)
                              (if (gx#stx-pair? _%hd5795258551%_)
                                  (let ((_%e5796058501%_
                                         (gx#syntax-e _%hd5795258551%_)))
                                    (let ((_%tl5796258508%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5796058501%_)))
                                          (_%hd5796158505%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5796058501%_))))
                                      (if (gx#stx-pair? _%tl5796258508%_)
                                          (let ((_%e5796358511%_
                                                 (gx#syntax-e
                                                  _%tl5796258508%_)))
                                            (let ((_%tl5796558518%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5796358511%_)))
                                                  (_%hd5796458515%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5796358511%_))))
                                              (if (gx#stx-null?
                                                   _%tl5796558518%_)
                                                  (_%__match8015180152%_
                                                   _%e5795158547%_
                                                   _%hd5795258551%_
                                                   _%tl5795358554%_
                                                   _%e5796058501%_
                                                   _%hd5796158505%_
                                                   _%tl5796258508%_
                                                   _%e5796358511%_
                                                   _%hd5796458515%_
                                                   _%tl5796558518%_)
                                                  (_%__match8016380164%_
                                                   _%e5795158547%_
                                                   _%hd5795258551%_
                                                   _%tl5795358554%_
                                                   _%e5796058501%_
                                                   _%hd5796158505%_
                                                   _%tl5796258508%_))))
                                          (_%__match8016380164%_
                                           _%e5795158547%_
                                           _%hd5795258551%_
                                           _%tl5795358554%_
                                           _%e5796058501%_
                                           _%hd5796158505%_
                                           _%tl5796258508%_))))
                                  (if (gx#stx-pair? _%tl5795358554%_)
                                      (let ((_%e5798158304%_
                                             (gx#syntax-e _%tl5795358554%_)))
                                        (let ((_%tl5798358311%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e5798158304%_)))
                                              (_%hd5798258308%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e5798158304%_))))
                                          (_%__match8017580176%_
                                           _%e5795158547%_
                                           _%hd5795258551%_
                                           _%tl5795358554%_
                                           _%e5798158304%_
                                           _%hd5798258308%_
                                           _%tl5798358311%_)))
                                      (let ()
                                        (declare (not safe))
                                        (_%g5794558050%_)))))))))
                (if (gx#stx-pair? _%__stx8010680107%_)
                    (let ((_%e5795158547%_ (gx#syntax-e _%__stx8010680107%_)))
                      (let ((_%tl5795358554%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e5795158547%_)))
                            (_%hd5795258551%_
                             (let ()
                               (declare (not safe))
                               (##car _%e5795158547%_))))
                        (_%__match8013180132%_
                         _%e5795158547%_
                         _%hd5795258551%_
                         _%tl5795358554%_)))
                    (let () (declare (not safe)) (_%g5794558050%_)))))))))
    (define |gerbil/core/contract~Interface[1]#signature-arguments-out|
      (lambda (_%signature57507%_)
        (let _%loop57510%_ ((_%rest57513%_ _%signature57507%_)
                            (_%result57515%_ '()))
          (let* ((_%__stx8022280223%_ _%rest57513%_)
                 (_%g5752457595%_
                  (lambda ()
                    (gx#raise-syntax-error
                     '#f
                     '"Bad syntax; invalid match target"
                     _%__stx8022280223%_))))
            (let ((_%__kont8022580226%_
                   (lambda (_%L57913%_ _%L57915%_)
                     (_%loop57510%_
                      _%L57913%_
                      (cons _%L57915%_ _%result57515%_))))
                  (_%__kont8022780228%_
                   (lambda (_%L57879%_ _%L57881%_)
                     (_%loop57510%_
                      _%L57879%_
                      (cons _%L57881%_ _%result57515%_))))
                  (_%__kont8022980230%_
                   (lambda (_%L57825%_ _%L57827%_ _%L57828%_)
                     (_%loop57510%_
                      _%L57825%_
                      (cons _%L57828%_ _%result57515%_))))
                  (_%__kont8023180232%_
                   (lambda (_%L57781%_ _%L57783%_ _%L57784%_)
                     (_%loop57510%_
                      _%L57781%_
                      (cons _%L57783%_ (cons _%L57784%_ _%result57515%_)))))
                  (_%__kont8023380234%_
                   (lambda (_%L57731%_ _%L57733%_ _%L57734%_ _%L57735%_)
                     (_%loop57510%_
                      _%L57731%_
                      (cons _%L57734%_ (cons _%L57735%_ _%result57515%_)))))
                  (_%__kont8023580236%_
                   (lambda (_%L57663%_ _%L57665%_ _%L57666%_ _%L57667%_)
                     (_%loop57510%_
                      _%L57663%_
                      (cons _%L57666%_ (cons _%L57667%_ _%result57515%_)))))
                  (_%__kont8023780238%_
                   (lambda (_%L57613%_)
                     (foldl cons (cons _%L57613%_ '()) _%result57515%_)))
                  (_%__kont8023980240%_
                   (lambda () (reverse! _%result57515%_))))
              (let* ((_%g5752257626%_
                      (lambda ()
                        (let ((_%L57613%_ _%__stx8022280223%_))
                          (if (gx#identifier? _%L57613%_)
                              (_%__kont8023780238%_ _%L57613%_)
                              (_%__kont8023980240%_)))))
                     (_%__match8033580336%_
                      (lambda (_%e5758057633%_
                               _%hd5758157637%_
                               _%tl5758257640%_
                               _%e5758357643%_
                               _%hd5758457647%_
                               _%tl5758557650%_
                               _%e5758657653%_
                               _%hd5758757657%_
                               _%tl5758857660%_)
                        (let ((_%L57663%_ _%tl5758557650%_)
                              (_%L57665%_ _%tl5758857660%_)
                              (_%L57666%_ _%hd5758757657%_)
                              (_%L57667%_ _%hd5758157637%_))
                          (if (and (gx#stx-keyword? _%L57667%_)
                                   (gx#identifier? _%L57666%_)
                                   (|gerbil/core/contract~Interface[1]#signature-contract?|
                                    _%L57665%_))
                              (_%__kont8023580236%_
                               _%L57663%_
                               _%L57665%_
                               _%L57666%_
                               _%L57667%_)
                              (let ()
                                (declare (not safe))
                                (_%g5752257626%_))))))
                     (_%__match8031780318%_
                      (lambda (_%e5756457691%_
                               _%hd5756557695%_
                               _%tl5756657698%_
                               _%e5756757701%_
                               _%hd5756857705%_
                               _%tl5756957708%_
                               _%e5757057711%_
                               _%hd5757157715%_
                               _%tl5757257718%_
                               _%e5757357721%_
                               _%hd5757457725%_
                               _%tl5757557728%_)
                        (let ((_%L57731%_ _%tl5756957708%_)
                              (_%L57733%_ _%hd5757457725%_)
                              (_%L57734%_ _%hd5757157715%_)
                              (_%L57735%_ _%hd5756557695%_))
                          (if (and (gx#stx-keyword? _%L57735%_)
                                   (gx#identifier? _%L57734%_))
                              (_%__kont8023380234%_
                               _%L57731%_
                               _%L57733%_
                               _%L57734%_
                               _%L57735%_)
                              (_%__match8033580336%_
                               _%e5756457691%_
                               _%hd5756557695%_
                               _%tl5756657698%_
                               _%e5756757701%_
                               _%hd5756857705%_
                               _%tl5756957708%_
                               _%e5757057711%_
                               _%hd5757157715%_
                               _%tl5757257718%_)))))
                     (_%__match8029180292%_
                      (lambda (_%e5755457761%_
                               _%hd5755557765%_
                               _%tl5755657768%_
                               _%e5755757771%_
                               _%hd5755857775%_
                               _%tl5755957778%_)
                        (let ((_%L57781%_ _%tl5755957778%_)
                              (_%L57783%_ _%hd5755857775%_)
                              (_%L57784%_ _%hd5755557765%_))
                          (if (and (gx#stx-keyword? _%L57784%_)
                                   (gx#identifier? _%L57783%_))
                              (_%__kont8023180232%_
                               _%L57781%_
                               _%L57783%_
                               _%L57784%_)
                              (if (gx#stx-pair? _%hd5755857775%_)
                                  (let ((_%e5757057711%_
                                         (gx#syntax-e _%hd5755857775%_)))
                                    (let ((_%tl5757257718%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5757057711%_)))
                                          (_%hd5757157715%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5757057711%_))))
                                      (if (gx#stx-pair? _%tl5757257718%_)
                                          (let ((_%e5757357721%_
                                                 (gx#syntax-e
                                                  _%tl5757257718%_)))
                                            (let ((_%tl5757557728%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5757357721%_)))
                                                  (_%hd5757457725%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5757357721%_))))
                                              (if (gx#stx-null?
                                                   _%tl5757557728%_)
                                                  (_%__match8031780318%_
                                                   _%e5755457761%_
                                                   _%hd5755557765%_
                                                   _%tl5755657768%_
                                                   _%e5755757771%_
                                                   _%hd5755857775%_
                                                   _%tl5755957778%_
                                                   _%e5757057711%_
                                                   _%hd5757157715%_
                                                   _%tl5757257718%_
                                                   _%e5757357721%_
                                                   _%hd5757457725%_
                                                   _%tl5757557728%_)
                                                  (_%__match8033580336%_
                                                   _%e5755457761%_
                                                   _%hd5755557765%_
                                                   _%tl5755657768%_
                                                   _%e5755757771%_
                                                   _%hd5755857775%_
                                                   _%tl5755957778%_
                                                   _%e5757057711%_
                                                   _%hd5757157715%_
                                                   _%tl5757257718%_))))
                                          (_%__match8033580336%_
                                           _%e5755457761%_
                                           _%hd5755557765%_
                                           _%tl5755657768%_
                                           _%e5755757771%_
                                           _%hd5755857775%_
                                           _%tl5755957778%_
                                           _%e5757057711%_
                                           _%hd5757157715%_
                                           _%tl5757257718%_))))
                                  (let ()
                                    (declare (not safe))
                                    (_%g5752257626%_)))))))
                     (_%__match8027980280%_
                      (lambda (_%e5754557805%_
                               _%hd5754657809%_
                               _%tl5754757812%_
                               _%e5754857815%_
                               _%hd5754957819%_
                               _%tl5755057822%_)
                        (let ((_%L57825%_ _%tl5754757812%_)
                              (_%L57827%_ _%tl5755057822%_)
                              (_%L57828%_ _%hd5754957819%_))
                          (if (and (gx#identifier? _%L57828%_)
                                   (|gerbil/core/contract~Interface[1]#signature-contract?|
                                    _%L57827%_))
                              (_%__kont8022980230%_
                               _%L57825%_
                               _%L57827%_
                               _%L57828%_)
                              (if (gx#stx-pair? _%tl5754757812%_)
                                  (let ((_%e5755757771%_
                                         (gx#syntax-e _%tl5754757812%_)))
                                    (let ((_%tl5755957778%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5755757771%_)))
                                          (_%hd5755857775%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5755757771%_))))
                                      (_%__match8029180292%_
                                       _%e5754557805%_
                                       _%hd5754657809%_
                                       _%tl5754757812%_
                                       _%e5755757771%_
                                       _%hd5755857775%_
                                       _%tl5755957778%_)))
                                  (let ()
                                    (declare (not safe))
                                    (_%g5752257626%_)))))))
                     (_%__match8026780268%_
                      (lambda (_%e5753357849%_
                               _%hd5753457853%_
                               _%tl5753557856%_
                               _%e5753657859%_
                               _%hd5753757863%_
                               _%tl5753857866%_
                               _%e5753957869%_
                               _%hd5754057873%_
                               _%tl5754157876%_)
                        (let ((_%L57879%_ _%tl5753557856%_)
                              (_%L57881%_ _%hd5753757863%_))
                          (if (gx#identifier? _%L57881%_)
                              (_%__kont8022780228%_ _%L57879%_ _%L57881%_)
                              (_%__match8027980280%_
                               _%e5753357849%_
                               _%hd5753457853%_
                               _%tl5753557856%_
                               _%e5753657859%_
                               _%hd5753757863%_
                               _%tl5753857866%_)))))
                     (_%__match8024780248%_
                      (lambda (_%e5752857903%_
                               _%hd5752957907%_
                               _%tl5753057910%_)
                        (let ((_%L57913%_ _%tl5753057910%_)
                              (_%L57915%_ _%hd5752957907%_))
                          (if (gx#identifier? _%L57915%_)
                              (_%__kont8022580226%_ _%L57913%_ _%L57915%_)
                              (if (gx#stx-pair? _%hd5752957907%_)
                                  (let ((_%e5753657859%_
                                         (gx#syntax-e _%hd5752957907%_)))
                                    (let ((_%tl5753857866%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5753657859%_)))
                                          (_%hd5753757863%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5753657859%_))))
                                      (if (gx#stx-pair? _%tl5753857866%_)
                                          (let ((_%e5753957869%_
                                                 (gx#syntax-e
                                                  _%tl5753857866%_)))
                                            (let ((_%tl5754157876%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5753957869%_)))
                                                  (_%hd5754057873%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5753957869%_))))
                                              (if (gx#stx-null?
                                                   _%tl5754157876%_)
                                                  (_%__match8026780268%_
                                                   _%e5752857903%_
                                                   _%hd5752957907%_
                                                   _%tl5753057910%_
                                                   _%e5753657859%_
                                                   _%hd5753757863%_
                                                   _%tl5753857866%_
                                                   _%e5753957869%_
                                                   _%hd5754057873%_
                                                   _%tl5754157876%_)
                                                  (_%__match8027980280%_
                                                   _%e5752857903%_
                                                   _%hd5752957907%_
                                                   _%tl5753057910%_
                                                   _%e5753657859%_
                                                   _%hd5753757863%_
                                                   _%tl5753857866%_))))
                                          (_%__match8027980280%_
                                           _%e5752857903%_
                                           _%hd5752957907%_
                                           _%tl5753057910%_
                                           _%e5753657859%_
                                           _%hd5753757863%_
                                           _%tl5753857866%_))))
                                  (if (gx#stx-pair? _%tl5753057910%_)
                                      (let ((_%e5755757771%_
                                             (gx#syntax-e _%tl5753057910%_)))
                                        (let ((_%tl5755957778%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e5755757771%_)))
                                              (_%hd5755857775%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e5755757771%_))))
                                          (_%__match8029180292%_
                                           _%e5752857903%_
                                           _%hd5752957907%_
                                           _%tl5753057910%_
                                           _%e5755757771%_
                                           _%hd5755857775%_
                                           _%tl5755957778%_)))
                                      (let ()
                                        (declare (not safe))
                                        (_%g5752257626%_)))))))))
                (if (gx#stx-pair? _%__stx8022280223%_)
                    (let ((_%e5752857903%_ (gx#syntax-e _%__stx8022280223%_)))
                      (let ((_%tl5753057910%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e5752857903%_)))
                            (_%hd5752957907%_
                             (let ()
                               (declare (not safe))
                               (##car _%e5752857903%_))))
                        (_%__match8024780248%_
                         _%e5752857903%_
                         _%hd5752957907%_
                         _%tl5753057910%_)))
                    (let () (declare (not safe)) (_%g5752257626%_)))))))))
    (define |gerbil/core/contract~Interface[1]#signature-has-keywords?|
      (lambda (_%signature57100%_)
        (let _%loop57103%_ ((_%rest57106%_ _%signature57100%_))
          (let* ((_%__stx8033880339%_ _%rest57106%_)
                 (_%g5711557186%_
                  (lambda ()
                    (gx#raise-syntax-error
                     '#f
                     '"Bad syntax; invalid match target"
                     _%__stx8033880339%_))))
            (let ((_%__kont8034180342%_
                   (lambda (_%L57490%_ _%L57492%_) (_%loop57103%_ _%L57490%_)))
                  (_%__kont8034380344%_
                   (lambda (_%L57454%_ _%L57456%_ _%L57457%_)
                     (_%loop57103%_ _%L57454%_)))
                  (_%__kont8034580346%_
                   (lambda (_%L57400%_ _%L57402%_ _%L57403%_)
                     (_%loop57103%_ _%L57400%_)))
                  (_%__kont8034780348%_
                   (lambda (_%L57356%_ _%L57358%_ _%L57359%_) '#t))
                  (_%__kont8034980350%_
                   (lambda (_%L57306%_ _%L57308%_ _%L57309%_ _%L57310%_) '#t))
                  (_%__kont8035180352%_
                   (lambda (_%L57234%_ _%L57236%_ _%L57237%_ _%L57238%_) '#t))
                  (_%__kont8035380354%_ (lambda () '#f)))
              (let* ((_%__match8044980450%_
                      (lambda (_%e5717257204%_
                               _%hd5717357208%_
                               _%tl5717457211%_
                               _%e5717557214%_
                               _%hd5717657218%_
                               _%tl5717757221%_
                               _%e5717857224%_
                               _%hd5717957228%_
                               _%tl5718057231%_)
                        (let ((_%L57234%_ _%tl5717757221%_)
                              (_%L57236%_ _%tl5718057231%_)
                              (_%L57237%_ _%hd5717957228%_)
                              (_%L57238%_ _%hd5717357208%_))
                          (if (and (gx#stx-keyword? _%L57238%_)
                                   (gx#identifier? _%L57237%_)
                                   (|gerbil/core/contract~Interface[1]#signature-contract?|
                                    _%L57236%_))
                              (_%__kont8035180352%_
                               _%L57234%_
                               _%L57236%_
                               _%L57237%_
                               _%L57238%_)
                              (_%__kont8035380354%_)))))
                     (_%__match8043180432%_
                      (lambda (_%e5715657266%_
                               _%hd5715757270%_
                               _%tl5715857273%_
                               _%e5715957276%_
                               _%hd5716057280%_
                               _%tl5716157283%_
                               _%e5716257286%_
                               _%hd5716357290%_
                               _%tl5716457293%_
                               _%e5716557296%_
                               _%hd5716657300%_
                               _%tl5716757303%_)
                        (let ((_%L57306%_ _%tl5716157283%_)
                              (_%L57308%_ _%hd5716657300%_)
                              (_%L57309%_ _%hd5716357290%_)
                              (_%L57310%_ _%hd5715757270%_))
                          (if (and (gx#stx-keyword? _%L57310%_)
                                   (gx#identifier? _%L57309%_))
                              (_%__kont8034980350%_
                               _%L57306%_
                               _%L57308%_
                               _%L57309%_
                               _%L57310%_)
                              (_%__match8044980450%_
                               _%e5715657266%_
                               _%hd5715757270%_
                               _%tl5715857273%_
                               _%e5715957276%_
                               _%hd5716057280%_
                               _%tl5716157283%_
                               _%e5716257286%_
                               _%hd5716357290%_
                               _%tl5716457293%_)))))
                     (_%__match8040580406%_
                      (lambda (_%e5714657336%_
                               _%hd5714757340%_
                               _%tl5714857343%_
                               _%e5714957346%_
                               _%hd5715057350%_
                               _%tl5715157353%_)
                        (let ((_%L57356%_ _%tl5715157353%_)
                              (_%L57358%_ _%hd5715057350%_)
                              (_%L57359%_ _%hd5714757340%_))
                          (if (and (gx#stx-keyword? _%L57359%_)
                                   (gx#identifier? _%L57358%_))
                              (_%__kont8034780348%_
                               _%L57356%_
                               _%L57358%_
                               _%L57359%_)
                              (if (gx#stx-pair? _%hd5715057350%_)
                                  (let ((_%e5716257286%_
                                         (gx#syntax-e _%hd5715057350%_)))
                                    (let ((_%tl5716457293%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5716257286%_)))
                                          (_%hd5716357290%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5716257286%_))))
                                      (if (gx#stx-pair? _%tl5716457293%_)
                                          (let ((_%e5716557296%_
                                                 (gx#syntax-e
                                                  _%tl5716457293%_)))
                                            (let ((_%tl5716757303%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5716557296%_)))
                                                  (_%hd5716657300%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5716557296%_))))
                                              (if (gx#stx-null?
                                                   _%tl5716757303%_)
                                                  (_%__match8043180432%_
                                                   _%e5714657336%_
                                                   _%hd5714757340%_
                                                   _%tl5714857343%_
                                                   _%e5714957346%_
                                                   _%hd5715057350%_
                                                   _%tl5715157353%_
                                                   _%e5716257286%_
                                                   _%hd5716357290%_
                                                   _%tl5716457293%_
                                                   _%e5716557296%_
                                                   _%hd5716657300%_
                                                   _%tl5716757303%_)
                                                  (_%__match8044980450%_
                                                   _%e5714657336%_
                                                   _%hd5714757340%_
                                                   _%tl5714857343%_
                                                   _%e5714957346%_
                                                   _%hd5715057350%_
                                                   _%tl5715157353%_
                                                   _%e5716257286%_
                                                   _%hd5716357290%_
                                                   _%tl5716457293%_))))
                                          (_%__match8044980450%_
                                           _%e5714657336%_
                                           _%hd5714757340%_
                                           _%tl5714857343%_
                                           _%e5714957346%_
                                           _%hd5715057350%_
                                           _%tl5715157353%_
                                           _%e5716257286%_
                                           _%hd5716357290%_
                                           _%tl5716457293%_))))
                                  (_%__kont8035380354%_))))))
                     (_%__match8039380394%_
                      (lambda (_%e5713757380%_
                               _%hd5713857384%_
                               _%tl5713957387%_
                               _%e5714057390%_
                               _%hd5714157394%_
                               _%tl5714257397%_)
                        (let ((_%L57400%_ _%tl5713957387%_)
                              (_%L57402%_ _%tl5714257397%_)
                              (_%L57403%_ _%hd5714157394%_))
                          (if (and (gx#identifier? _%L57403%_)
                                   (|gerbil/core/contract~Interface[1]#signature-contract?|
                                    _%L57402%_))
                              (_%__kont8034580346%_
                               _%L57400%_
                               _%L57402%_
                               _%L57403%_)
                              (if (gx#stx-pair? _%tl5713957387%_)
                                  (let ((_%e5714957346%_
                                         (gx#syntax-e _%tl5713957387%_)))
                                    (let ((_%tl5715157353%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5714957346%_)))
                                          (_%hd5715057350%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5714957346%_))))
                                      (_%__match8040580406%_
                                       _%e5713757380%_
                                       _%hd5713857384%_
                                       _%tl5713957387%_
                                       _%e5714957346%_
                                       _%hd5715057350%_
                                       _%tl5715157353%_)))
                                  (_%__kont8035380354%_))))))
                     (_%__match8038180382%_
                      (lambda (_%e5712557424%_
                               _%hd5712657428%_
                               _%tl5712757431%_
                               _%e5712857434%_
                               _%hd5712957438%_
                               _%tl5713057441%_
                               _%e5713157444%_
                               _%hd5713257448%_
                               _%tl5713357451%_)
                        (let ((_%L57454%_ _%tl5712757431%_)
                              (_%L57456%_ _%hd5713257448%_)
                              (_%L57457%_ _%hd5712957438%_))
                          (if (gx#identifier? _%L57457%_)
                              (_%__kont8034380344%_
                               _%L57454%_
                               _%L57456%_
                               _%L57457%_)
                              (_%__match8039380394%_
                               _%e5712557424%_
                               _%hd5712657428%_
                               _%tl5712757431%_
                               _%e5712857434%_
                               _%hd5712957438%_
                               _%tl5713057441%_)))))
                     (_%__match8036180362%_
                      (lambda (_%e5711957480%_
                               _%hd5712057484%_
                               _%tl5712157487%_)
                        (let ((_%L57490%_ _%tl5712157487%_)
                              (_%L57492%_ _%hd5712057484%_))
                          (if (gx#identifier? _%L57492%_)
                              (_%__kont8034180342%_ _%L57490%_ _%L57492%_)
                              (if (gx#stx-pair? _%hd5712057484%_)
                                  (let ((_%e5712857434%_
                                         (gx#syntax-e _%hd5712057484%_)))
                                    (let ((_%tl5713057441%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5712857434%_)))
                                          (_%hd5712957438%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5712857434%_))))
                                      (if (gx#stx-pair? _%tl5713057441%_)
                                          (let ((_%e5713157444%_
                                                 (gx#syntax-e
                                                  _%tl5713057441%_)))
                                            (let ((_%tl5713357451%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5713157444%_)))
                                                  (_%hd5713257448%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5713157444%_))))
                                              (if (gx#stx-null?
                                                   _%tl5713357451%_)
                                                  (_%__match8038180382%_
                                                   _%e5711957480%_
                                                   _%hd5712057484%_
                                                   _%tl5712157487%_
                                                   _%e5712857434%_
                                                   _%hd5712957438%_
                                                   _%tl5713057441%_
                                                   _%e5713157444%_
                                                   _%hd5713257448%_
                                                   _%tl5713357451%_)
                                                  (_%__match8039380394%_
                                                   _%e5711957480%_
                                                   _%hd5712057484%_
                                                   _%tl5712157487%_
                                                   _%e5712857434%_
                                                   _%hd5712957438%_
                                                   _%tl5713057441%_))))
                                          (_%__match8039380394%_
                                           _%e5711957480%_
                                           _%hd5712057484%_
                                           _%tl5712157487%_
                                           _%e5712857434%_
                                           _%hd5712957438%_
                                           _%tl5713057441%_))))
                                  (if (gx#stx-pair? _%tl5712157487%_)
                                      (let ((_%e5714957346%_
                                             (gx#syntax-e _%tl5712157487%_)))
                                        (let ((_%tl5715157353%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e5714957346%_)))
                                              (_%hd5715057350%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e5714957346%_))))
                                          (_%__match8040580406%_
                                           _%e5711957480%_
                                           _%hd5712057484%_
                                           _%tl5712157487%_
                                           _%e5714957346%_
                                           _%hd5715057350%_
                                           _%tl5715157353%_)))
                                      (_%__kont8035380354%_))))))))
                (if (gx#stx-pair? _%__stx8033880339%_)
                    (let ((_%e5711957480%_ (gx#syntax-e _%__stx8033880339%_)))
                      (let ((_%tl5712157487%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e5711957480%_)))
                            (_%hd5712057484%_
                             (let ()
                               (declare (not safe))
                               (##car _%e5711957480%_))))
                        (_%__match8036180362%_
                         _%e5711957480%_
                         _%hd5712057484%_
                         _%tl5712157487%_)))
                    (_%__kont8035380354%_))))))))
    (define |gerbil/core/contract~Interface[1]#make-interface-method-lambda-signature|
      (lambda (_%stx57089%_
               _%self57091%_
               _%Interface57092%_
               _%signature57093%_
               _%return57094%_
               _%unchecked-proc57095%_)
        (if (gx#stx-e _%unchecked-proc57095%_)
            (|gerbil/core/contract~Interface[1]#make-procedure-lambda-signature|
             _%stx57089%_
             (cons (cons _%self57091%_ (cons ': (cons _%Interface57092%_ '())))
                   _%signature57093%_)
             _%return57094%_
             _%unchecked-proc57095%_)
            (let ((_%return-type57097%_
                   (let ()
                     (declare (not safe))
                     (|gerbil/core/contract~TypeReference[1]#resolve-type->type-descriptor|
                      _%stx57089%_
                      _%return57094%_))))
              (cons 'return: (cons _%return-type57097%_ '()))))))
    (define |gerbil/core/contract~Interface[1]#make-interface-method-contract|
      (lambda (_%stx57082%_
               _%self57084%_
               _%Interface57085%_
               _%signature57086%_
               _%checked?57087%_)
        (|gerbil/core/contract~Interface[1]#make-procedure-contract|
         _%stx57082%_
         (cons (cons _%self57084%_
                     (cons (if _%checked?57087%_ ': '::-)
                           (cons _%Interface57085%_ '())))
               _%signature57086%_)
         _%checked?57087%_)))
    (define |gerbil/core/contract~Interface[1]#make-procedure-lambda-signature|
      (lambda (_%stx56321%_
               _%signature56323%_
               _%return56324%_
               _%unchecked56325%_)
        (letrec ((_%type-e56327%_
                  (lambda (_%contract56771%_)
                    (let* ((_%__stx8045280453%_ _%contract56771%_)
                           (_%g5677856833%_
                            (lambda ()
                              (gx#raise-syntax-error
                               '#f
                               '"Bad syntax; invalid match target"
                               _%__stx8045280453%_))))
                      (let ((_%__kont8045580456%_
                             (lambda (_%L57063%_ _%L57065%_)
                               (let ()
                                 (declare (not safe))
                                 (|gerbil/core/contract~TypeReference[1]#resolve-type->type-descriptor|
                                  _%stx56321%_
                                  _%L57065%_))))
                            (_%__kont8045780458%_
                             (lambda (_%L57015%_ _%L57017%_ _%L57018%_)
                               (gx#core-quote-syntax 't::t)))
                            (_%__kont8045980460%_
                             (lambda (_%L56967%_ _%L56969%_ _%L56970%_)
                               (let ()
                                 (declare (not safe))
                                 (|gerbil/core/contract~TypeReference[1]#resolve-type->type-descriptor|
                                  _%stx56321%_
                                  _%L56969%_))))
                            (_%__kont8046180462%_
                             (lambda (_%L56891%_
                                      _%L56893%_
                                      _%L56894%_
                                      _%L56895%_)
                               (gx#core-quote-syntax 't::t)))
                            (_%__kont8046380464%_ (lambda () '#f)))
                        (let* ((_%__match8055380554%_
                                (lambda (_%e5681656851%_
                                         _%hd5681756855%_
                                         _%tl5681856858%_
                                         _%e5681956861%_
                                         _%hd5682056865%_
                                         _%tl5682156868%_
                                         _%e5682256871%_
                                         _%hd5682356875%_
                                         _%tl5682456878%_
                                         _%e5682556881%_
                                         _%hd5682656885%_
                                         _%tl5682756888%_)
                                  (let ((_%L56891%_ _%tl5682756888%_)
                                        (_%L56893%_ _%hd5682656885%_)
                                        (_%L56894%_ _%hd5682356875%_)
                                        (_%L56895%_ _%hd5682056865%_))
                                    (if (and (gx#identifier? _%L56894%_)
                                             (or (gx#free-identifier=?
                                                  _%L56894%_
                                                  (gx#datum->syntax '#f ':-))
                                                 (gx#free-identifier=?
                                                  _%L56894%_
                                                  (gx#datum->syntax
                                                   '#f
                                                   '::-))))
                                        (_%__kont8046180462%_
                                         _%L56891%_
                                         _%L56893%_
                                         _%L56894%_
                                         _%L56895%_)
                                        (_%__kont8046380464%_)))))
                               (_%__match8049380494%_
                                (lambda (_%e5679156995%_
                                         _%hd5679256999%_
                                         _%tl5679357002%_
                                         _%e5679457005%_
                                         _%hd5679557009%_
                                         _%tl5679657012%_)
                                  (let ((_%L57015%_ _%tl5679657012%_)
                                        (_%L57017%_ _%hd5679557009%_)
                                        (_%L57018%_ _%hd5679256999%_))
                                    (if (and (gx#identifier? _%L57018%_)
                                             (or (gx#free-identifier=?
                                                  _%L57018%_
                                                  (gx#datum->syntax '#f ':-))
                                                 (gx#free-identifier=?
                                                  _%L57018%_
                                                  (gx#datum->syntax
                                                   '#f
                                                   '::-))))
                                        (_%__kont8045780458%_
                                         _%L57015%_
                                         _%L57017%_
                                         _%L57018%_)
                                        (if (gx#identifier? _%hd5679256999%_)
                                            (if (gx#free-identifier=?
                                                 |gerbil/core/contract~Interface[1]#_g84058_|
                                                 _%hd5679256999%_)
                                                (if (gx#stx-pair?
                                                     _%tl5679657012%_)
                                                    (let ((_%e5680656947%_
                                                           (gx#syntax-e
                                                            _%tl5679657012%_)))
                                                      (let ((_%tl5680856954%_
                                                             (let ()
                                                               (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (not safe))
                       (##cdr _%e5680656947%_)))
                    (_%hd5680756951%_
                     (let () (declare (not safe)) (##car _%e5680656947%_))))
                (if (gx#identifier? _%hd5680756951%_)
                    (if (gx#free-identifier=?
                         |gerbil/core/contract~Interface[1]#_g84059_|
                         _%hd5680756951%_)
                        (if (gx#stx-pair? _%tl5680856954%_)
                            (let ((_%e5680956957%_
                                   (gx#syntax-e _%tl5680856954%_)))
                              (let ((_%tl5681156964%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%e5680956957%_)))
                                    (_%hd5681056961%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%e5680956957%_))))
                                (_%__kont8045980460%_
                                 _%tl5681156964%_
                                 _%hd5681056961%_
                                 _%hd5679557009%_)))
                            (_%__kont8046380464%_))
                        (if (gx#stx-pair? _%tl5680856954%_)
                            (let ((_%e5682556881%_
                                   (gx#syntax-e _%tl5680856954%_)))
                              (let ((_%tl5682756888%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%e5682556881%_)))
                                    (_%hd5682656885%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%e5682556881%_))))
                                (_%__match8055380554%_
                                 _%e5679156995%_
                                 _%hd5679256999%_
                                 _%tl5679357002%_
                                 _%e5679457005%_
                                 _%hd5679557009%_
                                 _%tl5679657012%_
                                 _%e5680656947%_
                                 _%hd5680756951%_
                                 _%tl5680856954%_
                                 _%e5682556881%_
                                 _%hd5682656885%_
                                 _%tl5682756888%_)))
                            (_%__kont8046380464%_)))
                    (if (gx#stx-pair? _%tl5680856954%_)
                        (let ((_%e5682556881%_ (gx#syntax-e _%tl5680856954%_)))
                          (let ((_%tl5682756888%_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _%e5682556881%_)))
                                (_%hd5682656885%_
                                 (let ()
                                   (declare (not safe))
                                   (##car _%e5682556881%_))))
                            (_%__match8055380554%_
                             _%e5679156995%_
                             _%hd5679256999%_
                             _%tl5679357002%_
                             _%e5679457005%_
                             _%hd5679557009%_
                             _%tl5679657012%_
                             _%e5680656947%_
                             _%hd5680756951%_
                             _%tl5680856954%_
                             _%e5682556881%_
                             _%hd5682656885%_
                             _%tl5682756888%_)))
                        (_%__kont8046380464%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (_%__kont8046380464%_))
                                                (_%__kont8046380464%_))
                                            (_%__kont8046380464%_)))))))
                          (if (gx#stx-pair? _%__stx8045280453%_)
                              (let ((_%e5678257043%_
                                     (gx#syntax-e _%__stx8045280453%_)))
                                (let ((_%tl5678457050%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e5678257043%_)))
                                      (_%hd5678357047%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e5678257043%_))))
                                  (if (gx#identifier? _%hd5678357047%_)
                                      (if (gx#free-identifier=?
                                           |gerbil/core/contract~Interface[1]#_g84060_|
                                           _%hd5678357047%_)
                                          (if (gx#stx-pair? _%tl5678457050%_)
                                              (let ((_%e5678557053%_
                                                     (gx#syntax-e
                                                      _%tl5678457050%_)))
                                                (let ((_%tl5678757060%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e5678557053%_)))
                                                      (_%hd5678657057%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e5678557053%_))))
                                                  (_%__kont8045580456%_
                                                   _%tl5678757060%_
                                                   _%hd5678657057%_)))
                                              (_%__kont8046380464%_))
                                          (if (gx#stx-pair? _%tl5678457050%_)
                                              (let ((_%e5679457005%_
                                                     (gx#syntax-e
                                                      _%tl5678457050%_)))
                                                (let ((_%tl5679657012%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e5679457005%_)))
                                                      (_%hd5679557009%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e5679457005%_))))
                                                  (_%__match8049380494%_
                                                   _%e5678257043%_
                                                   _%hd5678357047%_
                                                   _%tl5678457050%_
                                                   _%e5679457005%_
                                                   _%hd5679557009%_
                                                   _%tl5679657012%_)))
                                              (_%__kont8046380464%_)))
                                      (if (gx#stx-pair? _%tl5678457050%_)
                                          (let ((_%e5679457005%_
                                                 (gx#syntax-e
                                                  _%tl5678457050%_)))
                                            (let ((_%tl5679657012%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5679457005%_)))
                                                  (_%hd5679557009%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5679457005%_))))
                                              (_%__match8049380494%_
                                               _%e5678257043%_
                                               _%hd5678357047%_
                                               _%tl5678457050%_
                                               _%e5679457005%_
                                               _%hd5679557009%_
                                               _%tl5679657012%_)))
                                          (_%__kont8046380464%_)))))
                              (_%__kont8046380464%_))))))))
          (let _%loop56330%_ ((_%rest56333%_ _%signature56323%_)
                              (_%has-keywords?56335%_ '#f)
                              (_%result56336%_ '()))
            (let* ((_%__stx8055680557%_ _%rest56333%_)
                   (_%g5634556415%_
                    (lambda ()
                      (gx#raise-syntax-error
                       '#f
                       '"Bad syntax; invalid match target"
                       _%__stx8055680557%_))))
              (let ((_%__kont8055980560%_
                     (lambda (_%L56754%_ _%L56756%_)
                       (_%loop56330%_
                        _%L56754%_
                        '#f
                        (cons (gx#core-quote-syntax 't::t) _%result56336%_))))
                    (_%__kont8056180562%_
                     (lambda (_%L56720%_ _%L56722%_)
                       (_%loop56330%_
                        _%L56720%_
                        '#f
                        (cons (gx#core-quote-syntax 't::t) _%result56336%_))))
                    (_%__kont8056380564%_
                     (lambda (_%L56666%_ _%L56668%_ _%L56669%_)
                       (_%loop56330%_
                        _%L56666%_
                        '#f
                        (cons (_%type-e56327%_ _%L56668%_) _%result56336%_))))
                    (_%__kont8056580566%_
                     (lambda (_%L56622%_ _%L56624%_ _%L56625%_)
                       (_%loop56330%_
                        _%L56622%_
                        '#t
                        (cons (gx#core-quote-syntax 't::t) _%result56336%_))))
                    (_%__kont8056780568%_
                     (lambda (_%L56574%_ _%L56576%_ _%L56577%_)
                       (_%loop56330%_
                        _%L56574%_
                        '#t
                        (cons (gx#core-quote-syntax 't::t) _%result56336%_))))
                    (_%__kont8056980570%_
                     (lambda (_%L56506%_ _%L56508%_ _%L56509%_ _%L56510%_)
                       (_%loop56330%_
                        _%L56506%_
                        '#t
                        (cons (_%type-e56327%_ _%L56508%_) _%result56336%_))))
                    (_%__kont8057180572%_
                     (lambda (_%L56444%_)
                       (let* ((_%arguments56458%_
                               (if _%has-keywords?56335%_
                                   (gx#core-quote-syntax 't::t)
                                   (foldl cons
                                          (gx#core-quote-syntax 't::t)
                                          _%result56336%_)))
                              (_%return-type56461%_
                               (let ()
                                 (declare (not safe))
                                 (|gerbil/core/contract~TypeReference[1]#resolve-type->type-descriptor|
                                  _%stx56321%_
                                  _%return56324%_)))
                              (_%unchecked56464%_
                               (if (not _%has-keywords?56335%_)
                                   (if (gx#stx-e _%unchecked56325%_)
                                       (gx#core-quote-syntax
                                        _%unchecked56325%_)
                                       '#f)
                                   '#f)))
                         (cons 'arguments:
                               (cons _%arguments56458%_
                                     (cons 'return:
                                           (cons _%return-type56461%_
                                                 (cons 'unchecked:
                                                       (cons _%unchecked56464%_
                                                             '())))))))))
                    (_%__kont8057380574%_
                     (lambda ()
                       (let* ((_%arguments56426%_
                               (if _%has-keywords?56335%_
                                   (gx#core-quote-syntax 't::t)
                                   (reverse! _%result56336%_)))
                              (_%return-type56429%_
                               (let ()
                                 (declare (not safe))
                                 (|gerbil/core/contract~TypeReference[1]#resolve-type->type-descriptor|
                                  _%stx56321%_
                                  _%return56324%_)))
                              (_%unchecked56432%_
                               (if (not _%has-keywords?56335%_)
                                   (if (gx#stx-e _%unchecked56325%_)
                                       (gx#core-quote-syntax
                                        _%unchecked56325%_)
                                       '#f)
                                   '#f)))
                         (cons 'arguments:
                               (cons _%arguments56426%_
                                     (cons 'return:
                                           (cons _%return-type56429%_
                                                 (cons 'unchecked:
                                                       (cons _%unchecked56432%_
                                                             '()))))))))))
                (let* ((_%g5634456437%_
                        (lambda ()
                          (if (gx#stx-null? _%__stx8055680557%_)
                              (_%__kont8057380574%_)
                              (let ()
                                (declare (not safe))
                                (_%g5634556415%_)))))
                       (_%g5634356469%_
                        (lambda ()
                          (let ((_%L56444%_ _%__stx8055680557%_))
                            (if (gx#identifier? _%L56444%_)
                                (_%__kont8057180572%_ _%L56444%_)
                                (let ()
                                  (declare (not safe))
                                  (_%g5634456437%_))))))
                       (_%__match8066980670%_
                        (lambda (_%e5640056476%_
                                 _%hd5640156480%_
                                 _%tl5640256483%_
                                 _%e5640356486%_
                                 _%hd5640456490%_
                                 _%tl5640556493%_
                                 _%e5640656496%_
                                 _%hd5640756500%_
                                 _%tl5640856503%_)
                          (let ((_%L56506%_ _%tl5640556493%_)
                                (_%L56508%_ _%tl5640856503%_)
                                (_%L56509%_ _%hd5640756500%_)
                                (_%L56510%_ _%hd5640156480%_))
                            (if (and (gx#stx-keyword? _%L56510%_)
                                     (gx#identifier? _%L56509%_)
                                     (|gerbil/core/contract~Interface[1]#signature-contract?|
                                      _%L56508%_))
                                (_%__kont8056980570%_
                                 _%L56506%_
                                 _%L56508%_
                                 _%L56509%_
                                 _%L56510%_)
                                (let ()
                                  (declare (not safe))
                                  (_%g5634356469%_))))))
                       (_%__match8065180652%_
                        (lambda (_%e5638456534%_
                                 _%hd5638556538%_
                                 _%tl5638656541%_
                                 _%e5638756544%_
                                 _%hd5638856548%_
                                 _%tl5638956551%_
                                 _%e5639056554%_
                                 _%hd5639156558%_
                                 _%tl5639256561%_
                                 _%e5639356564%_
                                 _%hd5639456568%_
                                 _%tl5639556571%_)
                          (let ((_%L56574%_ _%tl5638956551%_)
                                (_%L56576%_ _%hd5639156558%_)
                                (_%L56577%_ _%hd5638556538%_))
                            (if (and (gx#stx-keyword? _%L56577%_)
                                     (gx#identifier? _%L56576%_))
                                (_%__kont8056780568%_
                                 _%L56574%_
                                 _%L56576%_
                                 _%L56577%_)
                                (_%__match8066980670%_
                                 _%e5638456534%_
                                 _%hd5638556538%_
                                 _%tl5638656541%_
                                 _%e5638756544%_
                                 _%hd5638856548%_
                                 _%tl5638956551%_
                                 _%e5639056554%_
                                 _%hd5639156558%_
                                 _%tl5639256561%_)))))
                       (_%__match8062580626%_
                        (lambda (_%e5637556602%_
                                 _%hd5637656606%_
                                 _%tl5637756609%_
                                 _%e5637856612%_
                                 _%hd5637956616%_
                                 _%tl5638056619%_)
                          (let ((_%L56622%_ _%tl5638056619%_)
                                (_%L56624%_ _%hd5637956616%_)
                                (_%L56625%_ _%hd5637656606%_))
                            (if (and (gx#stx-keyword? _%L56625%_)
                                     (gx#identifier? _%L56624%_))
                                (_%__kont8056580566%_
                                 _%L56622%_
                                 _%L56624%_
                                 _%L56625%_)
                                (if (gx#stx-pair? _%hd5637956616%_)
                                    (let ((_%e5639056554%_
                                           (gx#syntax-e _%hd5637956616%_)))
                                      (let ((_%tl5639256561%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5639056554%_)))
                                            (_%hd5639156558%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5639056554%_))))
                                        (if (gx#stx-pair? _%tl5639256561%_)
                                            (let ((_%e5639356564%_
                                                   (gx#syntax-e
                                                    _%tl5639256561%_)))
                                              (let ((_%tl5639556571%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##cdr _%e5639356564%_)))
                                                    (_%hd5639456568%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##car _%e5639356564%_))))
                                                (if (gx#stx-null?
                                                     _%tl5639556571%_)
                                                    (_%__match8065180652%_
                                                     _%e5637556602%_
                                                     _%hd5637656606%_
                                                     _%tl5637756609%_
                                                     _%e5637856612%_
                                                     _%hd5637956616%_
                                                     _%tl5638056619%_
                                                     _%e5639056554%_
                                                     _%hd5639156558%_
                                                     _%tl5639256561%_
                                                     _%e5639356564%_
                                                     _%hd5639456568%_
                                                     _%tl5639556571%_)
                                                    (_%__match8066980670%_
                                                     _%e5637556602%_
                                                     _%hd5637656606%_
                                                     _%tl5637756609%_
                                                     _%e5637856612%_
                                                     _%hd5637956616%_
                                                     _%tl5638056619%_
                                                     _%e5639056554%_
                                                     _%hd5639156558%_
                                                     _%tl5639256561%_))))
                                            (_%__match8066980670%_
                                             _%e5637556602%_
                                             _%hd5637656606%_
                                             _%tl5637756609%_
                                             _%e5637856612%_
                                             _%hd5637956616%_
                                             _%tl5638056619%_
                                             _%e5639056554%_
                                             _%hd5639156558%_
                                             _%tl5639256561%_))))
                                    (let ()
                                      (declare (not safe))
                                      (_%g5634356469%_)))))))
                       (_%__match8061380614%_
                        (lambda (_%e5636656646%_
                                 _%hd5636756650%_
                                 _%tl5636856653%_
                                 _%e5636956656%_
                                 _%hd5637056660%_
                                 _%tl5637156663%_)
                          (let ((_%L56666%_ _%tl5636856653%_)
                                (_%L56668%_ _%tl5637156663%_)
                                (_%L56669%_ _%hd5637056660%_))
                            (if (and (gx#identifier? _%L56669%_)
                                     (|gerbil/core/contract~Interface[1]#signature-contract?|
                                      _%L56668%_))
                                (_%__kont8056380564%_
                                 _%L56666%_
                                 _%L56668%_
                                 _%L56669%_)
                                (if (gx#stx-pair? _%tl5636856653%_)
                                    (let ((_%e5637856612%_
                                           (gx#syntax-e _%tl5636856653%_)))
                                      (let ((_%tl5638056619%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5637856612%_)))
                                            (_%hd5637956616%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5637856612%_))))
                                        (_%__match8062580626%_
                                         _%e5636656646%_
                                         _%hd5636756650%_
                                         _%tl5636856653%_
                                         _%e5637856612%_
                                         _%hd5637956616%_
                                         _%tl5638056619%_)))
                                    (let ()
                                      (declare (not safe))
                                      (_%g5634356469%_)))))))
                       (_%__match8060180602%_
                        (lambda (_%e5635456690%_
                                 _%hd5635556694%_
                                 _%tl5635656697%_
                                 _%e5635756700%_
                                 _%hd5635856704%_
                                 _%tl5635956707%_
                                 _%e5636056710%_
                                 _%hd5636156714%_
                                 _%tl5636256717%_)
                          (let ((_%L56720%_ _%tl5635656697%_)
                                (_%L56722%_ _%hd5635856704%_))
                            (if (gx#identifier? _%L56722%_)
                                (_%__kont8056180562%_ _%L56720%_ _%L56722%_)
                                (_%__match8061380614%_
                                 _%e5635456690%_
                                 _%hd5635556694%_
                                 _%tl5635656697%_
                                 _%e5635756700%_
                                 _%hd5635856704%_
                                 _%tl5635956707%_)))))
                       (_%__match8058180582%_
                        (lambda (_%e5634956744%_
                                 _%hd5635056748%_
                                 _%tl5635156751%_)
                          (let ((_%L56754%_ _%tl5635156751%_)
                                (_%L56756%_ _%hd5635056748%_))
                            (if (gx#identifier? _%L56756%_)
                                (_%__kont8055980560%_ _%L56754%_ _%L56756%_)
                                (if (gx#stx-pair? _%hd5635056748%_)
                                    (let ((_%e5635756700%_
                                           (gx#syntax-e _%hd5635056748%_)))
                                      (let ((_%tl5635956707%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5635756700%_)))
                                            (_%hd5635856704%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5635756700%_))))
                                        (if (gx#stx-pair? _%tl5635956707%_)
                                            (let ((_%e5636056710%_
                                                   (gx#syntax-e
                                                    _%tl5635956707%_)))
                                              (let ((_%tl5636256717%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##cdr _%e5636056710%_)))
                                                    (_%hd5636156714%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##car _%e5636056710%_))))
                                                (if (gx#stx-null?
                                                     _%tl5636256717%_)
                                                    (_%__match8060180602%_
                                                     _%e5634956744%_
                                                     _%hd5635056748%_
                                                     _%tl5635156751%_
                                                     _%e5635756700%_
                                                     _%hd5635856704%_
                                                     _%tl5635956707%_
                                                     _%e5636056710%_
                                                     _%hd5636156714%_
                                                     _%tl5636256717%_)
                                                    (_%__match8061380614%_
                                                     _%e5634956744%_
                                                     _%hd5635056748%_
                                                     _%tl5635156751%_
                                                     _%e5635756700%_
                                                     _%hd5635856704%_
                                                     _%tl5635956707%_))))
                                            (_%__match8061380614%_
                                             _%e5634956744%_
                                             _%hd5635056748%_
                                             _%tl5635156751%_
                                             _%e5635756700%_
                                             _%hd5635856704%_
                                             _%tl5635956707%_))))
                                    (if (gx#stx-pair? _%tl5635156751%_)
                                        (let ((_%e5637856612%_
                                               (gx#syntax-e _%tl5635156751%_)))
                                          (let ((_%tl5638056619%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##cdr _%e5637856612%_)))
                                                (_%hd5637956616%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##car _%e5637856612%_))))
                                            (_%__match8062580626%_
                                             _%e5634956744%_
                                             _%hd5635056748%_
                                             _%tl5635156751%_
                                             _%e5637856612%_
                                             _%hd5637956616%_
                                             _%tl5638056619%_)))
                                        (let ()
                                          (declare (not safe))
                                          (_%g5634356469%_)))))))))
                  (if (gx#stx-pair? _%__stx8055680557%_)
                      (let ((_%e5634956744%_
                             (gx#syntax-e _%__stx8055680557%_)))
                        (let ((_%tl5635156751%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e5634956744%_)))
                              (_%hd5635056748%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e5634956744%_))))
                          (_%__match8058180582%_
                           _%e5634956744%_
                           _%hd5635056748%_
                           _%tl5635156751%_)))
                      (let () (declare (not safe)) (_%g5634356469%_))))))))))
    (define |gerbil/core/contract~Interface[1]#make-procedure-contract|
      (lambda (_%stx55428%_ _%signature55430%_ _%checked?55431%_)
        (letrec ((_%contract-e55433%_
                  (lambda (_%id55836%_ _%contract55838%_)
                    (let* ((_%g5584055848%_
                            (lambda (_%g5584155844%_)
                              (gx#raise-syntax-error
                               '#f
                               '"Bad syntax; invalid match target"
                               _%g5584155844%_)))
                           (_%g5583956317%_
                            (lambda (_%g5584155852%_)
                              ((lambda (_%L55855%_)
                                 (let* ((_%__stx8067480675%_ _%contract55838%_)
                                        (_%g5587255951%_
                                         (lambda ()
                                           (gx#raise-syntax-error
                                            '#f
                                            '"Bad syntax; invalid match target"
                                            _%__stx8067480675%_))))
                                   (let ((_%__kont8067780678%_
                                          (lambda (_%L56288%_
                                                   _%L56290%_
                                                   _%L56291%_)
                                            (if _%checked?55431%_
                                                (cons _%L55855%_
                                                      (cons _%L56291%_
                                                            (cons _%L56290%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             '::-)
                                                            (cons _%L56290%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                         (_%__kont8067980680%_
                                          (lambda (_%L56246%_ _%L56248%_)
                                            (cons _%L55855%_
                                                  (cons (gx#datum->syntax
                                                         '#f
                                                         ':-)
                                                        (cons _%L56248%_
                                                              '())))))
                                         (_%__kont8068180682%_
                                          (lambda (_%L56188%_
                                                   _%L56190%_
                                                   _%L56191%_
                                                   _%L56192%_)
                                            (if _%checked?55431%_
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             ':~)
                                                            (cons _%L56192%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons _%L56191%_ (cons _%L56190%_ '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             '::-)
                                                            (cons _%L56190%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                         (_%__kont8068380684%_
                                          (lambda (_%L56110%_
                                                   _%L56112%_
                                                   _%L56113%_
                                                   _%L56114%_)
                                            (if _%checked?55431%_
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             ':~)
                                                            (cons _%L56114%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons _%L56113%_ (cons _%L56112%_ '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             '::-)
                                                            (cons _%L56112%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                         (_%__kont8068580686%_
                                          (lambda (_%L56042%_
                                                   _%L56044%_
                                                   _%L56045%_)
                                            (if _%checked?55431%_
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             ':~)
                                                            (cons _%L56045%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons (gx#datum->syntax '#f ':-)
                                (cons _%L56044%_ '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             ':-)
                                                            (cons _%L56044%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                         (_%__kont8068780688%_
                                          (lambda (_%L55978%_ _%L55980%_)
                                            (if _%checked?55431%_
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             ':~)
                                                            (cons _%L55980%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (cons _%L55855%_
                                                      (cons (gx#datum->syntax
                                                             '#f
                                                             ':-)
                                                            (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           '#f
                           ':t)
                          '())))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                     (let* ((_%__match8077380774%_
                                             (lambda (_%e5591156070%_
                                                      _%hd5591256074%_
                                                      _%tl5591356077%_
                                                      _%e5591456080%_
                                                      _%hd5591556084%_
                                                      _%tl5591656087%_
                                                      _%e5591756090%_
                                                      _%hd5591856094%_
                                                      _%tl5591956097%_
                                                      _%e5592056100%_
                                                      _%hd5592156104%_
                                                      _%tl5592256107%_)
                                               (let ((_%L56110%_
                                                      _%tl5592256107%_)
                                                     (_%L56112%_
                                                      _%hd5592156104%_)
                                                     (_%L56113%_
                                                      _%hd5591856094%_)
                                                     (_%L56114%_
                                                      _%hd5591556084%_))
                                                 (if (or (gx#free-identifier=?
                                                          _%L56113%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           '::-))
                                                         (gx#free-identifier=?
                                                          _%L56113%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           ':))
                                                         (gx#free-identifier=?
                                                          _%L56113%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           ':?)))
                                                     (_%__kont8068380684%_
                                                      _%L56110%_
                                                      _%L56112%_
                                                      _%L56113%_
                                                      _%L56114%_)
                                                     (if (gx#identifier?
                                                          _%hd5591856094%_)
                                                         (if (gx#free-identifier=?
                                                              |gerbil/core/contract~Interface[1]#_g84061_|
                                                              _%hd5591856094%_)
                                                             (_%__kont8068580686%_
                                                              _%tl5592256107%_
                                                              _%hd5592156104%_
                                                              _%hd5591556084%_)
                                                             (_%__kont8068780688%_
                                                              _%tl5591656087%_
                                                              _%hd5591556084%_))
                                                         (_%__kont8068780688%_
                                                          _%tl5591656087%_
                                                          _%hd5591556084%_))))))
                                            (_%__match8074580746%_
                                             (lambda (_%e5589556148%_
                                                      _%hd5589656152%_
                                                      _%tl5589756155%_
                                                      _%e5589856158%_
                                                      _%hd5589956162%_
                                                      _%tl5590056165%_
                                                      _%e5590156168%_
                                                      _%hd5590256172%_
                                                      _%tl5590356175%_
                                                      _%e5590456178%_
                                                      _%hd5590556182%_
                                                      _%tl5590656185%_)
                                               (let ((_%L56188%_
                                                      _%tl5590656185%_)
                                                     (_%L56190%_
                                                      _%hd5590556182%_)
                                                     (_%L56191%_
                                                      _%hd5590256172%_)
                                                     (_%L56192%_
                                                      _%hd5589956162%_))
                                                 (if (or (gx#free-identifier=?
                                                          _%L56191%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           '::-))
                                                         (gx#free-identifier=?
                                                          _%L56191%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           ':))
                                                         (gx#free-identifier=?
                                                          _%L56191%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           ':?)))
                                                     (_%__kont8068180682%_
                                                      _%L56188%_
                                                      _%L56190%_
                                                      _%L56191%_
                                                      _%L56192%_)
                                                     (_%__match8077380774%_
                                                      _%e5589556148%_
                                                      _%hd5589656152%_
                                                      _%tl5589756155%_
                                                      _%e5589856158%_
                                                      _%hd5589956162%_
                                                      _%tl5590056165%_
                                                      _%e5590156168%_
                                                      _%hd5590256172%_
                                                      _%tl5590356175%_
                                                      _%e5590456178%_
                                                      _%hd5590556182%_
                                                      _%tl5590656185%_)))))
                                            (_%__match8070180702%_
                                             (lambda (_%e5587756268%_
                                                      _%hd5587856272%_
                                                      _%tl5587956275%_
                                                      _%e5588056278%_
                                                      _%hd5588156282%_
                                                      _%tl5588256285%_)
                                               (let ((_%L56288%_
                                                      _%tl5588256285%_)
                                                     (_%L56290%_
                                                      _%hd5588156282%_)
                                                     (_%L56291%_
                                                      _%hd5587856272%_))
                                                 (if (or (gx#free-identifier=?
                                                          _%L56291%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           '::-))
                                                         (gx#free-identifier=?
                                                          _%L56291%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           ':))
                                                         (gx#free-identifier=?
                                                          _%L56291%_
                                                          (gx#datum->syntax
                                                           '#f
                                                           ':?)))
                                                     (_%__kont8067780678%_
                                                      _%L56288%_
                                                      _%L56290%_
                                                      _%L56291%_)
                                                     (if (gx#identifier?
                                                          _%hd5587856272%_)
                                                         (if (gx#free-identifier=?
                                                              |gerbil/core/contract~Interface[1]#_g84062_|
                                                              _%hd5587856272%_)
                                                             (_%__kont8067980680%_
                                                              _%tl5588256285%_
                                                              _%hd5588156282%_)
                                                             (if (gx#free-identifier=?
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          |gerbil/core/contract~Interface[1]#_g84063_|
                          _%hd5587856272%_)
                         (if (gx#stx-pair? _%tl5588256285%_)
                             (let ((_%e5590156168%_
                                    (gx#syntax-e _%tl5588256285%_)))
                               (let ((_%tl5590356175%_
                                      (let ()
                                        (declare (not safe))
                                        (##cdr _%e5590156168%_)))
                                     (_%hd5590256172%_
                                      (let ()
                                        (declare (not safe))
                                        (##car _%e5590156168%_))))
                                 (if (gx#stx-pair? _%tl5590356175%_)
                                     (let ((_%e5590456178%_
                                            (gx#syntax-e _%tl5590356175%_)))
                                       (let ((_%tl5590656185%_
                                              (let ()
                                                (declare (not safe))
                                                (##cdr _%e5590456178%_)))
                                             (_%hd5590556182%_
                                              (let ()
                                                (declare (not safe))
                                                (##car _%e5590456178%_))))
                                         (_%__match8074580746%_
                                          _%e5587756268%_
                                          _%hd5587856272%_
                                          _%tl5587956275%_
                                          _%e5588056278%_
                                          _%hd5588156282%_
                                          _%tl5588256285%_
                                          _%e5590156168%_
                                          _%hd5590256172%_
                                          _%tl5590356175%_
                                          _%e5590456178%_
                                          _%hd5590556182%_
                                          _%tl5590656185%_)))
                                     (_%__kont8068780688%_
                                      _%tl5588256285%_
                                      _%hd5588156282%_))))
                             (_%__kont8068780688%_
                              _%tl5588256285%_
                              _%hd5588156282%_))
                         (let () (declare (not safe)) (_%g5587255951%_))))
                 (let () (declare (not safe)) (_%g5587255951%_))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                       (if (gx#stx-pair? _%__stx8067480675%_)
                                           (let ((_%e5587756268%_
                                                  (gx#syntax-e
                                                   _%__stx8067480675%_)))
                                             (let ((_%tl5587956275%_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##cdr _%e5587756268%_)))
                                                   (_%hd5587856272%_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##car _%e5587756268%_))))
                                               (if (gx#stx-pair?
                                                    _%tl5587956275%_)
                                                   (let ((_%e5588056278%_
                                                          (gx#syntax-e
                                                           _%tl5587956275%_)))
                                                     (let ((_%tl5588256285%_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##cdr _%e5588056278%_)))
                                                           (_%hd5588156282%_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##car _%e5588056278%_))))
                                                       (_%__match8070180702%_
                                                        _%e5587756268%_
                                                        _%hd5587856272%_
                                                        _%tl5587956275%_
                                                        _%e5588056278%_
                                                        _%hd5588156282%_
                                                        _%tl5588256285%_)))
                                                   (let ()
                                                     (declare (not safe))
                                                     (_%g5587255951%_)))))
                                           (let ()
                                             (declare (not safe))
                                             (_%g5587255951%_)))))))
                               _%g5584155852%_))))
                      (_%g5583956317%_ _%id55836%_)))))
          (let _%loop55436%_ ((_%rest55439%_ _%signature55430%_)
                              (_%result55441%_ '()))
            (let* ((_%__stx8082480825%_ _%rest55439%_)
                   (_%g5544955518%_
                    (lambda ()
                      (gx#raise-syntax-error
                       '#f
                       '"Bad syntax; invalid match target"
                       _%__stx8082480825%_))))
              (let ((_%__kont8082780828%_
                     (lambda (_%L55819%_ _%L55821%_)
                       (_%loop55436%_ _%L55819%_ _%result55441%_)))
                    (_%__kont8082980830%_
                     (lambda (_%L55785%_ _%L55787%_)
                       (_%loop55436%_ _%L55785%_ _%result55441%_)))
                    (_%__kont8083180832%_
                     (lambda (_%L55731%_ _%L55733%_ _%L55734%_)
                       (_%loop55436%_
                        _%L55731%_
                        (cons (_%contract-e55433%_ _%L55734%_ _%L55733%_)
                              _%result55441%_))))
                    (_%__kont8083380834%_
                     (lambda (_%L55687%_ _%L55689%_ _%L55690%_)
                       (_%loop55436%_ _%L55687%_ _%result55441%_)))
                    (_%__kont8083580836%_
                     (lambda (_%L55639%_ _%L55641%_ _%L55642%_)
                       (_%loop55436%_ _%L55639%_ _%result55441%_)))
                    (_%__kont8083780838%_
                     (lambda (_%L55566%_ _%L55568%_ _%L55569%_ _%L55570%_)
                       (_%loop55436%_
                        _%L55566%_
                        (cons (_%contract-e55433%_ _%L55569%_ _%L55568%_)
                              _%result55441%_))))
                    (_%__kont8083980840%_
                     (lambda () (reverse! (filter identity _%result55441%_)))))
                (let* ((_%__match8093580936%_
                        (lambda (_%e5550455536%_
                                 _%hd5550555540%_
                                 _%tl5550655543%_
                                 _%e5550755546%_
                                 _%hd5550855550%_
                                 _%tl5550955553%_
                                 _%e5551055556%_
                                 _%hd5551155560%_
                                 _%tl5551255563%_)
                          (let ((_%L55566%_ _%tl5550955553%_)
                                (_%L55568%_ _%tl5551255563%_)
                                (_%L55569%_ _%hd5551155560%_)
                                (_%L55570%_ _%hd5550555540%_))
                            (if (and (gx#stx-keyword? _%L55570%_)
                                     (gx#identifier? _%L55569%_)
                                     (|gerbil/core/contract~Interface[1]#signature-contract?|
                                      _%L55568%_))
                                (_%__kont8083780838%_
                                 _%L55566%_
                                 _%L55568%_
                                 _%L55569%_
                                 _%L55570%_)
                                (_%__kont8083980840%_)))))
                       (_%__match8091780918%_
                        (lambda (_%e5548855599%_
                                 _%hd5548955603%_
                                 _%tl5549055606%_
                                 _%e5549155609%_
                                 _%hd5549255613%_
                                 _%tl5549355616%_
                                 _%e5549455619%_
                                 _%hd5549555623%_
                                 _%tl5549655626%_
                                 _%e5549755629%_
                                 _%hd5549855633%_
                                 _%tl5549955636%_)
                          (let ((_%L55639%_ _%tl5549355616%_)
                                (_%L55641%_ _%hd5549555623%_)
                                (_%L55642%_ _%hd5548955603%_))
                            (if (and (gx#stx-keyword? _%L55642%_)
                                     (gx#identifier? _%L55641%_))
                                (_%__kont8083580836%_
                                 _%L55639%_
                                 _%L55641%_
                                 _%L55642%_)
                                (_%__match8093580936%_
                                 _%e5548855599%_
                                 _%hd5548955603%_
                                 _%tl5549055606%_
                                 _%e5549155609%_
                                 _%hd5549255613%_
                                 _%tl5549355616%_
                                 _%e5549455619%_
                                 _%hd5549555623%_
                                 _%tl5549655626%_)))))
                       (_%__match8089180892%_
                        (lambda (_%e5547955667%_
                                 _%hd5548055671%_
                                 _%tl5548155674%_
                                 _%e5548255677%_
                                 _%hd5548355681%_
                                 _%tl5548455684%_)
                          (let ((_%L55687%_ _%tl5548455684%_)
                                (_%L55689%_ _%hd5548355681%_)
                                (_%L55690%_ _%hd5548055671%_))
                            (if (and (gx#stx-keyword? _%L55690%_)
                                     (gx#identifier? _%L55689%_))
                                (_%__kont8083380834%_
                                 _%L55687%_
                                 _%L55689%_
                                 _%L55690%_)
                                (if (gx#stx-pair? _%hd5548355681%_)
                                    (let ((_%e5549455619%_
                                           (gx#syntax-e _%hd5548355681%_)))
                                      (let ((_%tl5549655626%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5549455619%_)))
                                            (_%hd5549555623%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5549455619%_))))
                                        (if (gx#stx-pair? _%tl5549655626%_)
                                            (let ((_%e5549755629%_
                                                   (gx#syntax-e
                                                    _%tl5549655626%_)))
                                              (let ((_%tl5549955636%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##cdr _%e5549755629%_)))
                                                    (_%hd5549855633%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##car _%e5549755629%_))))
                                                (if (gx#stx-null?
                                                     _%tl5549955636%_)
                                                    (_%__match8091780918%_
                                                     _%e5547955667%_
                                                     _%hd5548055671%_
                                                     _%tl5548155674%_
                                                     _%e5548255677%_
                                                     _%hd5548355681%_
                                                     _%tl5548455684%_
                                                     _%e5549455619%_
                                                     _%hd5549555623%_
                                                     _%tl5549655626%_
                                                     _%e5549755629%_
                                                     _%hd5549855633%_
                                                     _%tl5549955636%_)
                                                    (_%__match8093580936%_
                                                     _%e5547955667%_
                                                     _%hd5548055671%_
                                                     _%tl5548155674%_
                                                     _%e5548255677%_
                                                     _%hd5548355681%_
                                                     _%tl5548455684%_
                                                     _%e5549455619%_
                                                     _%hd5549555623%_
                                                     _%tl5549655626%_))))
                                            (_%__match8093580936%_
                                             _%e5547955667%_
                                             _%hd5548055671%_
                                             _%tl5548155674%_
                                             _%e5548255677%_
                                             _%hd5548355681%_
                                             _%tl5548455684%_
                                             _%e5549455619%_
                                             _%hd5549555623%_
                                             _%tl5549655626%_))))
                                    (_%__kont8083980840%_))))))
                       (_%__match8087980880%_
                        (lambda (_%e5547055711%_
                                 _%hd5547155715%_
                                 _%tl5547255718%_
                                 _%e5547355721%_
                                 _%hd5547455725%_
                                 _%tl5547555728%_)
                          (let ((_%L55731%_ _%tl5547255718%_)
                                (_%L55733%_ _%tl5547555728%_)
                                (_%L55734%_ _%hd5547455725%_))
                            (if (and (gx#identifier? _%L55734%_)
                                     (|gerbil/core/contract~Interface[1]#signature-contract?|
                                      _%L55733%_))
                                (_%__kont8083180832%_
                                 _%L55731%_
                                 _%L55733%_
                                 _%L55734%_)
                                (if (gx#stx-pair? _%tl5547255718%_)
                                    (let ((_%e5548255677%_
                                           (gx#syntax-e _%tl5547255718%_)))
                                      (let ((_%tl5548455684%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5548255677%_)))
                                            (_%hd5548355681%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5548255677%_))))
                                        (_%__match8089180892%_
                                         _%e5547055711%_
                                         _%hd5547155715%_
                                         _%tl5547255718%_
                                         _%e5548255677%_
                                         _%hd5548355681%_
                                         _%tl5548455684%_)))
                                    (_%__kont8083980840%_))))))
                       (_%__match8086780868%_
                        (lambda (_%e5545855755%_
                                 _%hd5545955759%_
                                 _%tl5546055762%_
                                 _%e5546155765%_
                                 _%hd5546255769%_
                                 _%tl5546355772%_
                                 _%e5546455775%_
                                 _%hd5546555779%_
                                 _%tl5546655782%_)
                          (let ((_%L55785%_ _%tl5546055762%_)
                                (_%L55787%_ _%hd5546255769%_))
                            (if (gx#identifier? _%L55787%_)
                                (_%__kont8082980830%_ _%L55785%_ _%L55787%_)
                                (_%__match8087980880%_
                                 _%e5545855755%_
                                 _%hd5545955759%_
                                 _%tl5546055762%_
                                 _%e5546155765%_
                                 _%hd5546255769%_
                                 _%tl5546355772%_)))))
                       (_%__match8084780848%_
                        (lambda (_%e5545355809%_
                                 _%hd5545455813%_
                                 _%tl5545555816%_)
                          (let ((_%L55819%_ _%tl5545555816%_)
                                (_%L55821%_ _%hd5545455813%_))
                            (if (gx#identifier? _%L55821%_)
                                (_%__kont8082780828%_ _%L55819%_ _%L55821%_)
                                (if (gx#stx-pair? _%hd5545455813%_)
                                    (let ((_%e5546155765%_
                                           (gx#syntax-e _%hd5545455813%_)))
                                      (let ((_%tl5546355772%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5546155765%_)))
                                            (_%hd5546255769%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5546155765%_))))
                                        (if (gx#stx-pair? _%tl5546355772%_)
                                            (let ((_%e5546455775%_
                                                   (gx#syntax-e
                                                    _%tl5546355772%_)))
                                              (let ((_%tl5546655782%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##cdr _%e5546455775%_)))
                                                    (_%hd5546555779%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##car _%e5546455775%_))))
                                                (if (gx#stx-null?
                                                     _%tl5546655782%_)
                                                    (_%__match8086780868%_
                                                     _%e5545355809%_
                                                     _%hd5545455813%_
                                                     _%tl5545555816%_
                                                     _%e5546155765%_
                                                     _%hd5546255769%_
                                                     _%tl5546355772%_
                                                     _%e5546455775%_
                                                     _%hd5546555779%_
                                                     _%tl5546655782%_)
                                                    (_%__match8087980880%_
                                                     _%e5545355809%_
                                                     _%hd5545455813%_
                                                     _%tl5545555816%_
                                                     _%e5546155765%_
                                                     _%hd5546255769%_
                                                     _%tl5546355772%_))))
                                            (_%__match8087980880%_
                                             _%e5545355809%_
                                             _%hd5545455813%_
                                             _%tl5545555816%_
                                             _%e5546155765%_
                                             _%hd5546255769%_
                                             _%tl5546355772%_))))
                                    (if (gx#stx-pair? _%tl5545555816%_)
                                        (let ((_%e5548255677%_
                                               (gx#syntax-e _%tl5545555816%_)))
                                          (let ((_%tl5548455684%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##cdr _%e5548255677%_)))
                                                (_%hd5548355681%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##car _%e5548255677%_))))
                                            (_%__match8089180892%_
                                             _%e5545355809%_
                                             _%hd5545455813%_
                                             _%tl5545555816%_
                                             _%e5548255677%_
                                             _%hd5548355681%_
                                             _%tl5548455684%_)))
                                        (_%__kont8083980840%_))))))))
                  (if (gx#stx-pair? _%__stx8082480825%_)
                      (let ((_%e5545355809%_
                             (gx#syntax-e _%__stx8082480825%_)))
                        (let ((_%tl5545555816%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e5545355809%_)))
                              (_%hd5545455813%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e5545355809%_))))
                          (_%__match8084780848%_
                           _%e5545355809%_
                           _%hd5545455813%_
                           _%tl5545555816%_)))
                      (_%__kont8083980840%_)))))))))
    (define |gerbil/core/contract~Interface[1]#compatible-signatures?|
      (lambda (_%left55395%_ _%right55397%_)
        (let ((__tmp84064
               (lambda (_%return55399%_)
                 (let ((_%left-arity55402%_
                        (|gerbil/core/contract~Interface[1]#signature-arity|
                         _%left55395%_))
                       (_%right-arity55404%_
                        (|gerbil/core/contract~Interface[1]#signature-arity|
                         _%right55397%_)))
                   (if (equal? _%left-arity55402%_ _%right-arity55404%_)
                       '#!void
                       (_%return55399%_ '#f)))
                 (let ((_%left-kws55406%_
                        (|gerbil/core/contract~Interface[1]#signature-keywords|
                         _%left55395%_))
                       (_%right-kws55408%_
                        (|gerbil/core/contract~Interface[1]#signature-keywords|
                         _%right55397%_)))
                   (if (equal? _%left-kws55406%_ _%right-kws55408%_)
                       '#!void
                       (_%return55399%_ '#f)))
                 (let ((_g84065_
                        (|gerbil/core/contract~Interface[1]#signature-type-contract|
                         _%left55395%_))
                       (_g84067_
                        (|gerbil/core/contract~Interface[1]#signature-type-contract|
                         _%right55397%_)))
                   (begin
                     (let ((_g84066_
                            (let ()
                              (declare (not safe))
                              (if (##values? _g84065_)
                                  (##vector-length _g84065_)
                                  1))))
                       (if (not (let ()
                                  (declare (not safe))
                                  (##fx= _g84066_ 2)))
                           (error "Context expects 2 values" _g84066_)))
                     (let ((_g84068_
                            (let ()
                              (declare (not safe))
                              (if (##values? _g84067_)
                                  (##vector-length _g84067_)
                                  1))))
                       (if (not (let ()
                                  (declare (not safe))
                                  (##fx= _g84068_ 2)))
                           (error "Context expects 2 values" _g84068_)))
                     (let ((_%left-positional-contract55410%_
                            (let ()
                              (declare (not safe))
                              (##vector-ref _g84065_ 0)))
                           (_%left-kw-contract55412%_
                            (let ()
                              (declare (not safe))
                              (##vector-ref _g84065_ 1))))
                       (let ((_%right-positional-contract55413%_
                              (let ()
                                (declare (not safe))
                                (##vector-ref _g84067_ 0)))
                             (_%right-kw-contract55414%_
                              (let ()
                                (declare (not safe))
                                (##vector-ref _g84067_ 1))))
                         (let ((_%left-contract55424%_
                                (append _%left-positional-contract55410%_
                                        (foldr (lambda (_%kwc55416%_
                                                        _%r55418%_)
                                                 (cons (cdr _%kwc55416%_)
                                                       _%r55418%_))
                                               '()
                                               _%left-kw-contract55412%_)))
                               (_%right-contract55426%_
                                (append _%right-positional-contract55413%_
                                        (foldr (lambda (_%kwc55420%_
                                                        _%r55422%_)
                                                 (cons (cdr _%kwc55420%_)
                                                       _%r55422%_))
                                               '()
                                               _%right-kw-contract55414%_))))
                           (if (|gerbil/core/contract~Interface[1]#compatible-signature-type-contract?|
                                _%left-contract55424%_
                                _%right-contract55426%_)
                               '#!void
                               (_%return55399%_ '#f)))))))
                 '#t)))
          (declare (not safe))
          (##call-with-current-continuation __tmp84064))))
    (define |gerbil/core/contract~Interface[1]#compatible-signature-type-contract?|
      (lambda (_%left55298%_ _%right55300%_)
        (let _%loop55302%_ ((_%left-rest55305%_ _%left55298%_)
                            (_%right-rest55307%_ _%right55300%_))
          (let* ((_%left-rest5530855316%_ _%left-rest55305%_)
                 (_%else5531055328%_ (lambda () (null? _%right-rest55307%_)))
                 (_%K5531255379%_
                  (lambda (_%left-rest55332%_ _%left55334%_)
                    (let* ((_%right-rest5533555343%_ _%right-rest55307%_)
                           (_%else5533755355%_ (lambda () '#f))
                           (_%K5533955363%_
                            (lambda (_%right-rest55359%_ _%right55361%_)
                              (if (|gerbil/core/contract~Interface[1]#compatible-type-contract?|
                                   _%left55334%_
                                   _%right55361%_)
                                  (_%loop55302%_
                                   _%left-rest55332%_
                                   _%right-rest55359%_)
                                  '#f))))
                      (if (pair? _%right-rest5533555343%_)
                          (let ((_%hd5534055367%_
                                 (let ()
                                   (declare (not safe))
                                   (##car _%right-rest5533555343%_)))
                                (_%tl5534155370%_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _%right-rest5533555343%_))))
                            (let* ((_%right55373%_ _%hd5534055367%_)
                                   (_%right-rest55376%_ _%tl5534155370%_))
                              (_%K5533955363%_
                               _%right-rest55376%_
                               _%right55373%_)))
                          (_%else5533755355%_))))))
            (if (pair? _%left-rest5530855316%_)
                (let ((_%hd5531355383%_
                       (let ()
                         (declare (not safe))
                         (##car _%left-rest5530855316%_)))
                      (_%tl5531455386%_
                       (let ()
                         (declare (not safe))
                         (##cdr _%left-rest5530855316%_))))
                  (let* ((_%left55389%_ _%hd5531355383%_)
                         (_%left-rest55392%_ _%tl5531455386%_))
                    (_%K5531255379%_ _%left-rest55392%_ _%left55389%_)))
                (_%else5531055328%_))))))
    (define |gerbil/core/contract~Interface[1]#compatible-type-contract?|
      (lambda (_%left53427%_ _%right53429%_)
        (andmap (lambda (_%a53431%_ _%b53433%_)
                  (let* ((_%__stx8143081431%_ _%a53431%_)
                         (_%g5344153519%_
                          (lambda ()
                            (gx#raise-syntax-error
                             '#f
                             '"Bad syntax; invalid match target"
                             _%__stx8143081431%_))))
                    (let ((_%__kont8143381434%_
                           (lambda (_%L55032%_ _%L55034%_)
                             (let* ((_%__stx8134881349%_ _%b53433%_)
                                    (_%g5505355097%_
                                     (lambda ()
                                       (gx#raise-syntax-error
                                        '#f
                                        '"Bad syntax; invalid match target"
                                        _%__stx8134881349%_))))
                               (let ((_%__kont8135181352%_
                                      (lambda (_%L55267%_ _%L55269%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L55032%_
                                         _%L55267%_)))
                                     (_%__kont8135381354%_
                                      (lambda (_%L55211%_
                                               _%L55213%_
                                               _%L55214%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L55032%_
                                         _%L55211%_)))
                                     (_%__kont8135581356%_
                                      (lambda (_%L55144%_ _%L55146%_) '#t)))
                                 (let* ((_%__match8139781398%_
                                         (lambda (_%e5506655171%_
                                                  _%hd5506755175%_
                                                  _%tl5506855178%_
                                                  _%e5506955181%_
                                                  _%hd5507055185%_
                                                  _%tl5507155188%_
                                                  _%e5507255191%_
                                                  _%hd5507355195%_
                                                  _%tl5507455198%_
                                                  _%e5507555201%_
                                                  _%hd5507655205%_
                                                  _%tl5507755208%_)
                                           (let ((_%L55211%_ _%hd5507655205%_)
                                                 (_%L55213%_ _%hd5507355195%_)
                                                 (_%L55214%_ _%hd5507055185%_))
                                             (if (or (gx#free-identifier=?
                                                      _%L55213%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':))
                                                     (gx#free-identifier=?
                                                      _%L55213%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':?))
                                                     (gx#free-identifier=?
                                                      _%L55213%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':-)))
                                                 (_%__kont8135381354%_
                                                  _%L55211%_
                                                  _%L55213%_
                                                  _%L55214%_)
                                                 (if (gx#stx-null?
                                                      _%tl5507755208%_)
                                                     (_%__kont8135581356%_
                                                      _%hd5507355195%_
                                                      _%hd5507055185%_)
                                                     (let ()
                                                       (declare (not safe))
                                                       (_%g5505355097%_)))))))
                                        (_%__match8136981370%_
                                         (lambda (_%e5505755247%_
                                                  _%hd5505855251%_
                                                  _%tl5505955254%_
                                                  _%e5506055257%_
                                                  _%hd5506155261%_
                                                  _%tl5506255264%_)
                                           (let ((_%L55267%_ _%hd5506155261%_)
                                                 (_%L55269%_ _%hd5505855251%_))
                                             (if (or (gx#free-identifier=?
                                                      _%L55269%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':))
                                                     (gx#free-identifier=?
                                                      _%L55269%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':?))
                                                     (gx#free-identifier=?
                                                      _%L55269%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':-)))
                                                 (_%__kont8135181352%_
                                                  _%L55267%_
                                                  _%L55269%_)
                                                 (if (gx#identifier?
                                                      _%hd5505855251%_)
                                                     (if (gx#free-identifier=?
                                                          |gerbil/core/contract~Interface[1]#_g84069_|
                                                          _%hd5505855251%_)
                                                         (if (gx#stx-pair?
                                                              _%tl5506255264%_)
                                                             (let ((_%e5507255191%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (gx#syntax-e _%tl5506255264%_)))
                       (let ((_%tl5507455198%_
                              (let ()
                                (declare (not safe))
                                (##cdr _%e5507255191%_)))
                             (_%hd5507355195%_
                              (let ()
                                (declare (not safe))
                                (##car _%e5507255191%_))))
                         (if (gx#stx-pair? _%tl5507455198%_)
                             (let ((_%e5507555201%_
                                    (gx#syntax-e _%tl5507455198%_)))
                               (let ((_%tl5507755208%_
                                      (let ()
                                        (declare (not safe))
                                        (##cdr _%e5507555201%_)))
                                     (_%hd5507655205%_
                                      (let ()
                                        (declare (not safe))
                                        (##car _%e5507555201%_))))
                                 (_%__match8139781398%_
                                  _%e5505755247%_
                                  _%hd5505855251%_
                                  _%tl5505955254%_
                                  _%e5506055257%_
                                  _%hd5506155261%_
                                  _%tl5506255264%_
                                  _%e5507255191%_
                                  _%hd5507355195%_
                                  _%tl5507455198%_
                                  _%e5507555201%_
                                  _%hd5507655205%_
                                  _%tl5507755208%_)))
                             (let () (declare (not safe)) (_%g5505355097%_)))))
                     (let () (declare (not safe)) (_%g5505355097%_)))
                 (let () (declare (not safe)) (_%g5505355097%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (let ()
                                                       (declare (not safe))
                                                       (_%g5505355097%_))))))))
                                   (if (gx#stx-pair? _%__stx8134881349%_)
                                       (let ((_%e5505755247%_
                                              (gx#syntax-e
                                               _%__stx8134881349%_)))
                                         (let ((_%tl5505955254%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##cdr _%e5505755247%_)))
                                               (_%hd5505855251%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##car _%e5505755247%_))))
                                           (if (gx#stx-pair? _%tl5505955254%_)
                                               (let ((_%e5506055257%_
                                                      (gx#syntax-e
                                                       _%tl5505955254%_)))
                                                 (let ((_%tl5506255264%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _%e5506055257%_)))
                                                       (_%hd5506155261%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _%e5506055257%_))))
                                                   (_%__match8136981370%_
                                                    _%e5505755247%_
                                                    _%hd5505855251%_
                                                    _%tl5505955254%_
                                                    _%e5506055257%_
                                                    _%hd5506155261%_
                                                    _%tl5506255264%_)))
                                               (let ()
                                                 (declare (not safe))
                                                 (_%g5505355097%_)))))
                                       (let ()
                                         (declare (not safe))
                                         (_%g5505355097%_))))))))
                          (_%__kont8143581436%_
                           (lambda (_%L54839%_)
                             (let* ((_%__stx8128881289%_ _%b53433%_)
                                    (_%g5485454882%_
                                     (lambda ()
                                       (gx#raise-syntax-error
                                        '#f
                                        '"Bad syntax; invalid match target"
                                        _%__stx8128881289%_))))
                               (let ((_%__kont8129181292%_
                                      (lambda (_%L54988%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L54839%_
                                         _%L54988%_)))
                                     (_%__kont8129381294%_
                                      (lambda (_%L54940%_ _%L54942%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L54839%_
                                         _%L54940%_)))
                                     (_%__kont8129581296%_ (lambda () '#f)))
                                 (if (gx#stx-pair? _%__stx8128881289%_)
                                     (let ((_%e5485754968%_
                                            (gx#syntax-e _%__stx8128881289%_)))
                                       (let ((_%tl5485954975%_
                                              (let ()
                                                (declare (not safe))
                                                (##cdr _%e5485754968%_)))
                                             (_%hd5485854972%_
                                              (let ()
                                                (declare (not safe))
                                                (##car _%e5485754968%_))))
                                         (if (gx#identifier? _%hd5485854972%_)
                                             (if (gx#free-identifier=?
                                                  |gerbil/core/contract~Interface[1]#_g84070_|
                                                  _%hd5485854972%_)
                                                 (if (gx#stx-pair?
                                                      _%tl5485954975%_)
                                                     (let ((_%e5486054978%_
                                                            (gx#syntax-e
                                                             _%tl5485954975%_)))
                                                       (let ((_%tl5486254985%_
                                                              (let ()
                                                                (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (not safe))
                        (##cdr _%e5486054978%_)))
                     (_%hd5486154982%_
                      (let () (declare (not safe)) (##car _%e5486054978%_))))
                 (_%__kont8129181292%_ _%hd5486154982%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_%__kont8129581296%_))
                                                 (if (gx#free-identifier=?
                                                      |gerbil/core/contract~Interface[1]#_g84071_|
                                                      _%hd5485854972%_)
                                                     (if (gx#stx-pair?
                                                          _%tl5485954975%_)
                                                         (let ((_%e5486854910%_
                                                                (gx#syntax-e
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%tl5485954975%_)))
                   (let ((_%tl5487054917%_
                          (let ()
                            (declare (not safe))
                            (##cdr _%e5486854910%_)))
                         (_%hd5486954914%_
                          (let ()
                            (declare (not safe))
                            (##car _%e5486854910%_))))
                     (if (gx#stx-pair? _%tl5487054917%_)
                         (let ((_%e5487154920%_
                                (gx#syntax-e _%tl5487054917%_)))
                           (let ((_%tl5487354927%_
                                  (let ()
                                    (declare (not safe))
                                    (##cdr _%e5487154920%_)))
                                 (_%hd5487254924%_
                                  (let ()
                                    (declare (not safe))
                                    (##car _%e5487154920%_))))
                             (if (gx#identifier? _%hd5487254924%_)
                                 (if (gx#free-identifier=?
                                      |gerbil/core/contract~Interface[1]#_g84072_|
                                      _%hd5487254924%_)
                                     (if (gx#stx-pair? _%tl5487354927%_)
                                         (let ((_%e5487454930%_
                                                (gx#syntax-e
                                                 _%tl5487354927%_)))
                                           (let ((_%tl5487654937%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##cdr _%e5487454930%_)))
                                                 (_%hd5487554934%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##car _%e5487454930%_))))
                                             (_%__kont8129381294%_
                                              _%hd5487554934%_
                                              _%hd5486954914%_)))
                                         (_%__kont8129581296%_))
                                     (_%__kont8129581296%_))
                                 (_%__kont8129581296%_))))
                         (_%__kont8129581296%_))))
                 (_%__kont8129581296%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_%__kont8129581296%_)))
                                             (_%__kont8129581296%_))))
                                     (_%__kont8129581296%_))))))
                          (_%__kont8143781438%_
                           (lambda (_%L54556%_)
                             (let* ((_%__stx8120281203%_ _%b53433%_)
                                    (_%g5457154615%_
                                     (lambda ()
                                       (gx#raise-syntax-error
                                        '#f
                                        '"Bad syntax; invalid match target"
                                        _%__stx8120281203%_))))
                               (let ((_%__kont8120581206%_
                                      (lambda (_%L54785%_ _%L54787%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L54556%_
                                         _%L54785%_)))
                                     (_%__kont8120781208%_
                                      (lambda (_%L54727%_
                                               _%L54729%_
                                               _%L54730%_
                                               _%L54731%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L54556%_
                                         _%L54729%_)))
                                     (_%__kont8120981210%_
                                      (lambda (_%L54662%_) '#t)))
                                 (let* ((_%__match8125181252%_
                                         (lambda (_%e5458554687%_
                                                  _%hd5458654691%_
                                                  _%tl5458754694%_
                                                  _%e5458854697%_
                                                  _%hd5458954701%_
                                                  _%tl5459054704%_
                                                  _%e5459154707%_
                                                  _%hd5459254711%_
                                                  _%tl5459354714%_
                                                  _%e5459454717%_
                                                  _%hd5459554721%_
                                                  _%tl5459654724%_)
                                           (let ((_%L54727%_ _%tl5459654724%_)
                                                 (_%L54729%_ _%hd5459554721%_)
                                                 (_%L54730%_ _%hd5459254711%_)
                                                 (_%L54731%_ _%hd5458954701%_))
                                             (if (or (gx#free-identifier=?
                                                      _%L54730%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':))
                                                     (gx#free-identifier=?
                                                      _%L54730%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':?))
                                                     (gx#free-identifier=?
                                                      _%L54730%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':-)))
                                                 (_%__kont8120781208%_
                                                  _%L54727%_
                                                  _%L54729%_
                                                  _%L54730%_
                                                  _%L54731%_)
                                                 (if (gx#identifier?
                                                      _%hd5459254711%_)
                                                     (if (gx#free-identifier=?
                                                          |gerbil/core/contract~Interface[1]#_g84073_|
                                                          _%hd5459254711%_)
                                                         (if (gx#stx-null?
                                                              _%tl5459654724%_)
                                                             (_%__kont8120981210%_
                                                              _%hd5458954701%_)
                                                             (let ()
                                                               (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (not safe))
                       (_%g5457154615%_)))
                 (let () (declare (not safe)) (_%g5457154615%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (let ()
                                                       (declare (not safe))
                                                       (_%g5457154615%_)))))))
                                        (_%__match8122381224%_
                                         (lambda (_%e5457554765%_
                                                  _%hd5457654769%_
                                                  _%tl5457754772%_
                                                  _%e5457854775%_
                                                  _%hd5457954779%_
                                                  _%tl5458054782%_)
                                           (let ((_%L54785%_ _%hd5457954779%_)
                                                 (_%L54787%_ _%hd5457654769%_))
                                             (if (or (gx#free-identifier=?
                                                      _%L54787%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':))
                                                     (gx#free-identifier=?
                                                      _%L54787%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':?))
                                                     (gx#free-identifier=?
                                                      _%L54787%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':-)))
                                                 (_%__kont8120581206%_
                                                  _%L54785%_
                                                  _%L54787%_)
                                                 (if (gx#identifier?
                                                      _%hd5457654769%_)
                                                     (if (gx#free-identifier=?
                                                          |gerbil/core/contract~Interface[1]#_g84074_|
                                                          _%hd5457654769%_)
                                                         (if (gx#stx-pair?
                                                              _%tl5458054782%_)
                                                             (let ((_%e5459154707%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (gx#syntax-e _%tl5458054782%_)))
                       (let ((_%tl5459354714%_
                              (let ()
                                (declare (not safe))
                                (##cdr _%e5459154707%_)))
                             (_%hd5459254711%_
                              (let ()
                                (declare (not safe))
                                (##car _%e5459154707%_))))
                         (if (gx#stx-pair? _%tl5459354714%_)
                             (let ((_%e5459454717%_
                                    (gx#syntax-e _%tl5459354714%_)))
                               (let ((_%tl5459654724%_
                                      (let ()
                                        (declare (not safe))
                                        (##cdr _%e5459454717%_)))
                                     (_%hd5459554721%_
                                      (let ()
                                        (declare (not safe))
                                        (##car _%e5459454717%_))))
                                 (_%__match8125181252%_
                                  _%e5457554765%_
                                  _%hd5457654769%_
                                  _%tl5457754772%_
                                  _%e5457854775%_
                                  _%hd5457954779%_
                                  _%tl5458054782%_
                                  _%e5459154707%_
                                  _%hd5459254711%_
                                  _%tl5459354714%_
                                  _%e5459454717%_
                                  _%hd5459554721%_
                                  _%tl5459654724%_)))
                             (let () (declare (not safe)) (_%g5457154615%_)))))
                     (let () (declare (not safe)) (_%g5457154615%_)))
                 (let () (declare (not safe)) (_%g5457154615%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (let ()
                                                       (declare (not safe))
                                                       (_%g5457154615%_))))))))
                                   (if (gx#stx-pair? _%__stx8120281203%_)
                                       (let ((_%e5457554765%_
                                              (gx#syntax-e
                                               _%__stx8120281203%_)))
                                         (let ((_%tl5457754772%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##cdr _%e5457554765%_)))
                                               (_%hd5457654769%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##car _%e5457554765%_))))
                                           (if (gx#stx-pair? _%tl5457754772%_)
                                               (let ((_%e5457854775%_
                                                      (gx#syntax-e
                                                       _%tl5457754772%_)))
                                                 (let ((_%tl5458054782%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _%e5457854775%_)))
                                                       (_%hd5457954779%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _%e5457854775%_))))
                                                   (_%__match8122381224%_
                                                    _%e5457554765%_
                                                    _%hd5457654769%_
                                                    _%tl5457754772%_
                                                    _%e5457854775%_
                                                    _%hd5457954779%_
                                                    _%tl5458054782%_)))
                                               (let ()
                                                 (declare (not safe))
                                                 (_%g5457154615%_)))))
                                       (let ()
                                         (declare (not safe))
                                         (_%g5457154615%_))))))))
                          (_%__kont8143981440%_
                           (lambda (_%L54275%_ _%L54277%_)
                             (let* ((_%__stx8112081121%_ _%b53433%_)
                                    (_%g5429654340%_
                                     (lambda ()
                                       (gx#raise-syntax-error
                                        '#f
                                        '"Bad syntax; invalid match target"
                                        _%__stx8112081121%_))))
                               (let ((_%__kont8112381124%_
                                      (lambda (_%L54502%_ _%L54504%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L54275%_
                                         _%L54502%_)))
                                     (_%__kont8112581126%_
                                      (lambda (_%L54454%_
                                               _%L54456%_
                                               _%L54457%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L54275%_
                                         _%L54454%_)))
                                     (_%__kont8112781128%_
                                      (lambda (_%L54387%_ _%L54389%_) '#t)))
                                 (let ((_%__match8114181142%_
                                        (lambda (_%e5430054482%_
                                                 _%hd5430154486%_
                                                 _%tl5430254489%_
                                                 _%e5430354492%_
                                                 _%hd5430454496%_
                                                 _%tl5430554499%_)
                                          (let ((_%L54502%_ _%hd5430454496%_)
                                                (_%L54504%_ _%hd5430154486%_))
                                            (if (or (gx#free-identifier=?
                                                     _%L54504%_
                                                     (gx#datum->syntax '#f ':))
                                                    (gx#free-identifier=?
                                                     _%L54504%_
                                                     (gx#datum->syntax
                                                      '#f
                                                      ':?))
                                                    (gx#free-identifier=?
                                                     _%L54504%_
                                                     (gx#datum->syntax
                                                      '#f
                                                      ':-)))
                                                (_%__kont8112381124%_
                                                 _%L54502%_
                                                 _%L54504%_)
                                                (if (gx#identifier?
                                                     _%hd5430154486%_)
                                                    (if (gx#free-identifier=?
                                                         |gerbil/core/contract~Interface[1]#_g84075_|
                                                         _%hd5430154486%_)
                                                        (if (gx#stx-pair?
                                                             _%tl5430554499%_)
                                                            (let ((_%e5431554434%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           (gx#syntax-e _%tl5430554499%_)))
                      (let ((_%tl5431754441%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e5431554434%_)))
                            (_%hd5431654438%_
                             (let ()
                               (declare (not safe))
                               (##car _%e5431554434%_))))
                        (if (gx#stx-pair? _%tl5431754441%_)
                            (let ((_%e5431854444%_
                                   (gx#syntax-e _%tl5431754441%_)))
                              (let ((_%tl5432054451%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%e5431854444%_)))
                                    (_%hd5431954448%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%e5431854444%_))))
                                (_%__kont8112581126%_
                                 _%hd5431954448%_
                                 _%hd5431654438%_
                                 _%hd5430454496%_)))
                            (let () (declare (not safe)) (_%g5429654340%_)))))
                    (let () (declare (not safe)) (_%g5429654340%_)))
                (let () (declare (not safe)) (_%g5429654340%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (let ()
                                                      (declare (not safe))
                                                      (_%g5429654340%_))))))))
                                   (if (gx#stx-pair? _%__stx8112081121%_)
                                       (let ((_%e5430054482%_
                                              (gx#syntax-e
                                               _%__stx8112081121%_)))
                                         (let ((_%tl5430254489%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##cdr _%e5430054482%_)))
                                               (_%hd5430154486%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##car _%e5430054482%_))))
                                           (if (gx#stx-pair? _%tl5430254489%_)
                                               (let ((_%e5430354492%_
                                                      (gx#syntax-e
                                                       _%tl5430254489%_)))
                                                 (let ((_%tl5430554499%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _%e5430354492%_)))
                                                       (_%hd5430454496%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _%e5430354492%_))))
                                                   (_%__match8114181142%_
                                                    _%e5430054482%_
                                                    _%hd5430154486%_
                                                    _%tl5430254489%_
                                                    _%e5430354492%_
                                                    _%hd5430454496%_
                                                    _%tl5430554499%_)))
                                               (let ()
                                                 (declare (not safe))
                                                 (_%g5429654340%_)))))
                                       (let ()
                                         (declare (not safe))
                                         (_%g5429654340%_))))))))
                          (_%__kont8144181442%_
                           (lambda (_%L54056%_ _%L54058%_)
                             (let* ((_%__stx8106081061%_ _%b53433%_)
                                    (_%g5407754105%_
                                     (lambda ()
                                       (gx#raise-syntax-error
                                        '#f
                                        '"Bad syntax; invalid match target"
                                        _%__stx8106081061%_))))
                               (let ((_%__kont8106381064%_
                                      (lambda (_%L54211%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L54056%_
                                         _%L54211%_)))
                                     (_%__kont8106581066%_
                                      (lambda (_%L54163%_ _%L54165%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L54056%_
                                         _%L54163%_)))
                                     (_%__kont8106781068%_ (lambda () '#f)))
                                 (if (gx#stx-pair? _%__stx8106081061%_)
                                     (let ((_%e5408054191%_
                                            (gx#syntax-e _%__stx8106081061%_)))
                                       (let ((_%tl5408254198%_
                                              (let ()
                                                (declare (not safe))
                                                (##cdr _%e5408054191%_)))
                                             (_%hd5408154195%_
                                              (let ()
                                                (declare (not safe))
                                                (##car _%e5408054191%_))))
                                         (if (gx#identifier? _%hd5408154195%_)
                                             (if (gx#free-identifier=?
                                                  |gerbil/core/contract~Interface[1]#_g84076_|
                                                  _%hd5408154195%_)
                                                 (if (gx#stx-pair?
                                                      _%tl5408254198%_)
                                                     (let ((_%e5408354201%_
                                                            (gx#syntax-e
                                                             _%tl5408254198%_)))
                                                       (let ((_%tl5408554208%_
                                                              (let ()
                                                                (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (not safe))
                        (##cdr _%e5408354201%_)))
                     (_%hd5408454205%_
                      (let () (declare (not safe)) (##car _%e5408354201%_))))
                 (_%__kont8106381064%_ _%hd5408454205%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_%__kont8106781068%_))
                                                 (if (gx#free-identifier=?
                                                      |gerbil/core/contract~Interface[1]#_g84077_|
                                                      _%hd5408154195%_)
                                                     (if (gx#stx-pair?
                                                          _%tl5408254198%_)
                                                         (let ((_%e5409154133%_
                                                                (gx#syntax-e
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%tl5408254198%_)))
                   (let ((_%tl5409354140%_
                          (let ()
                            (declare (not safe))
                            (##cdr _%e5409154133%_)))
                         (_%hd5409254137%_
                          (let ()
                            (declare (not safe))
                            (##car _%e5409154133%_))))
                     (if (gx#stx-pair? _%tl5409354140%_)
                         (let ((_%e5409454143%_
                                (gx#syntax-e _%tl5409354140%_)))
                           (let ((_%tl5409654150%_
                                  (let ()
                                    (declare (not safe))
                                    (##cdr _%e5409454143%_)))
                                 (_%hd5409554147%_
                                  (let ()
                                    (declare (not safe))
                                    (##car _%e5409454143%_))))
                             (if (gx#identifier? _%hd5409554147%_)
                                 (if (gx#free-identifier=?
                                      |gerbil/core/contract~Interface[1]#_g84078_|
                                      _%hd5409554147%_)
                                     (if (gx#stx-pair? _%tl5409654150%_)
                                         (let ((_%e5409754153%_
                                                (gx#syntax-e
                                                 _%tl5409654150%_)))
                                           (let ((_%tl5409954160%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##cdr _%e5409754153%_)))
                                                 (_%hd5409854157%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##car _%e5409754153%_))))
                                             (_%__kont8106581066%_
                                              _%hd5409854157%_
                                              _%hd5409254137%_)))
                                         (_%__kont8106781068%_))
                                     (_%__kont8106781068%_))
                                 (_%__kont8106781068%_))))
                         (_%__kont8106781068%_))))
                 (_%__kont8106781068%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_%__kont8106781068%_)))
                                             (_%__kont8106781068%_))))
                                     (_%__kont8106781068%_))))))
                          (_%__kont8144381444%_
                           (lambda (_%L53747%_ _%L53749%_)
                             (let* ((_%__stx8097880979%_ _%b53433%_)
                                    (_%g5376853812%_
                                     (lambda ()
                                       (gx#raise-syntax-error
                                        '#f
                                        '"Bad syntax; invalid match target"
                                        _%__stx8097880979%_))))
                               (let ((_%__kont8098180982%_
                                      (lambda (_%L53982%_ _%L53984%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L53747%_
                                         _%L53982%_)))
                                     (_%__kont8098380984%_
                                      (lambda (_%L53926%_
                                               _%L53928%_
                                               _%L53929%_)
                                        (|gerbil/core/contract~Interface[1]#contract-type-subtype?|
                                         _%L53747%_
                                         _%L53926%_)))
                                     (_%__kont8098580986%_
                                      (lambda (_%L53859%_ _%L53861%_) '#t)))
                                 (let* ((_%__match8102781028%_
                                         (lambda (_%e5378153886%_
                                                  _%hd5378253890%_
                                                  _%tl5378353893%_
                                                  _%e5378453896%_
                                                  _%hd5378553900%_
                                                  _%tl5378653903%_
                                                  _%e5378753906%_
                                                  _%hd5378853910%_
                                                  _%tl5378953913%_
                                                  _%e5379053916%_
                                                  _%hd5379153920%_
                                                  _%tl5379253923%_)
                                           (let ((_%L53926%_ _%hd5379153920%_)
                                                 (_%L53928%_ _%hd5378853910%_)
                                                 (_%L53929%_ _%hd5378553900%_))
                                             (if (or (gx#free-identifier=?
                                                      _%L53928%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':))
                                                     (gx#free-identifier=?
                                                      _%L53928%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':?))
                                                     (gx#free-identifier=?
                                                      _%L53928%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':-)))
                                                 (_%__kont8098380984%_
                                                  _%L53926%_
                                                  _%L53928%_
                                                  _%L53929%_)
                                                 (if (gx#stx-null?
                                                      _%tl5379253923%_)
                                                     (_%__kont8098580986%_
                                                      _%hd5378853910%_
                                                      _%hd5378553900%_)
                                                     (let ()
                                                       (declare (not safe))
                                                       (_%g5376853812%_)))))))
                                        (_%__match8099981000%_
                                         (lambda (_%e5377253962%_
                                                  _%hd5377353966%_
                                                  _%tl5377453969%_
                                                  _%e5377553972%_
                                                  _%hd5377653976%_
                                                  _%tl5377753979%_)
                                           (let ((_%L53982%_ _%hd5377653976%_)
                                                 (_%L53984%_ _%hd5377353966%_))
                                             (if (or (gx#free-identifier=?
                                                      _%L53984%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':))
                                                     (gx#free-identifier=?
                                                      _%L53984%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':?))
                                                     (gx#free-identifier=?
                                                      _%L53984%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':-)))
                                                 (_%__kont8098180982%_
                                                  _%L53982%_
                                                  _%L53984%_)
                                                 (if (gx#identifier?
                                                      _%hd5377353966%_)
                                                     (if (gx#free-identifier=?
                                                          |gerbil/core/contract~Interface[1]#_g84079_|
                                                          _%hd5377353966%_)
                                                         (if (gx#stx-pair?
                                                              _%tl5377753979%_)
                                                             (let ((_%e5378753906%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (gx#syntax-e _%tl5377753979%_)))
                       (let ((_%tl5378953913%_
                              (let ()
                                (declare (not safe))
                                (##cdr _%e5378753906%_)))
                             (_%hd5378853910%_
                              (let ()
                                (declare (not safe))
                                (##car _%e5378753906%_))))
                         (if (gx#stx-pair? _%tl5378953913%_)
                             (let ((_%e5379053916%_
                                    (gx#syntax-e _%tl5378953913%_)))
                               (let ((_%tl5379253923%_
                                      (let ()
                                        (declare (not safe))
                                        (##cdr _%e5379053916%_)))
                                     (_%hd5379153920%_
                                      (let ()
                                        (declare (not safe))
                                        (##car _%e5379053916%_))))
                                 (_%__match8102781028%_
                                  _%e5377253962%_
                                  _%hd5377353966%_
                                  _%tl5377453969%_
                                  _%e5377553972%_
                                  _%hd5377653976%_
                                  _%tl5377753979%_
                                  _%e5378753906%_
                                  _%hd5378853910%_
                                  _%tl5378953913%_
                                  _%e5379053916%_
                                  _%hd5379153920%_
                                  _%tl5379253923%_)))
                             (let () (declare (not safe)) (_%g5376853812%_)))))
                     (let () (declare (not safe)) (_%g5376853812%_)))
                 (let () (declare (not safe)) (_%g5376853812%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (let ()
                                                       (declare (not safe))
                                                       (_%g5376853812%_))))))))
                                   (if (gx#stx-pair? _%__stx8097880979%_)
                                       (let ((_%e5377253962%_
                                              (gx#syntax-e
                                               _%__stx8097880979%_)))
                                         (let ((_%tl5377453969%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##cdr _%e5377253962%_)))
                                               (_%hd5377353966%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##car _%e5377253962%_))))
                                           (if (gx#stx-pair? _%tl5377453969%_)
                                               (let ((_%e5377553972%_
                                                      (gx#syntax-e
                                                       _%tl5377453969%_)))
                                                 (let ((_%tl5377753979%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _%e5377553972%_)))
                                                       (_%hd5377653976%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _%e5377553972%_))))
                                                   (_%__match8099981000%_
                                                    _%e5377253962%_
                                                    _%hd5377353966%_
                                                    _%tl5377453969%_
                                                    _%e5377553972%_
                                                    _%hd5377653976%_
                                                    _%tl5377753979%_)))
                                               (let ()
                                                 (declare (not safe))
                                                 (_%g5376853812%_)))))
                                       (let ()
                                         (declare (not safe))
                                         (_%g5376853812%_))))))))
                          (_%__kont8144581446%_
                           (lambda (_%L53546%_)
                             (let* ((_%__stx8093880939%_ _%b53433%_)
                                    (_%g5356353585%_
                                     (lambda ()
                                       (gx#raise-syntax-error
                                        '#f
                                        '"Bad syntax; invalid match target"
                                        _%__stx8093880939%_))))
                               (let ((_%__kont8094180942%_
                                      (lambda (_%L53677%_) '#f))
                                     (_%__kont8094380944%_
                                      (lambda (_%L53633%_ _%L53635%_) '#f))
                                     (_%__kont8094580946%_ (lambda () '#t)))
                                 (let* ((_%__match8097580976%_
                                         (lambda (_%e5357153603%_
                                                  _%hd5357253607%_
                                                  _%tl5357353610%_
                                                  _%e5357453613%_
                                                  _%hd5357553617%_
                                                  _%tl5357653620%_
                                                  _%e5357753623%_
                                                  _%hd5357853627%_
                                                  _%tl5357953630%_)
                                           (let ((_%L53633%_ _%hd5357853627%_)
                                                 (_%L53635%_ _%hd5357553617%_))
                                             (if (or (gx#free-identifier=?
                                                      _%L53633%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':))
                                                     (gx#free-identifier=?
                                                      _%L53633%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':?))
                                                     (gx#free-identifier=?
                                                      _%L53633%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':-)))
                                                 (_%__kont8094380944%_
                                                  _%L53633%_
                                                  _%L53635%_)
                                                 (_%__kont8094580946%_)))))
                                        (_%__match8095380954%_
                                         (lambda (_%e5356653667%_
                                                  _%hd5356753671%_
                                                  _%tl5356853674%_)
                                           (let ((_%L53677%_ _%hd5356753671%_))
                                             (if (or (gx#free-identifier=?
                                                      _%L53677%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':))
                                                     (gx#free-identifier=?
                                                      _%L53677%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':?))
                                                     (gx#free-identifier=?
                                                      _%L53677%_
                                                      (gx#datum->syntax
                                                       '#f
                                                       ':-)))
                                                 (_%__kont8094180942%_
                                                  _%L53677%_)
                                                 (if (gx#identifier?
                                                      _%hd5356753671%_)
                                                     (if (gx#free-identifier=?
                                                          |gerbil/core/contract~Interface[1]#_g84080_|
                                                          _%hd5356753671%_)
                                                         (if (gx#stx-pair?
                                                              _%tl5356853674%_)
                                                             (let ((_%e5357453613%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (gx#syntax-e _%tl5356853674%_)))
                       (let ((_%tl5357653620%_
                              (let ()
                                (declare (not safe))
                                (##cdr _%e5357453613%_)))
                             (_%hd5357553617%_
                              (let ()
                                (declare (not safe))
                                (##car _%e5357453613%_))))
                         (if (gx#stx-pair? _%tl5357653620%_)
                             (let ((_%e5357753623%_
                                    (gx#syntax-e _%tl5357653620%_)))
                               (let ((_%tl5357953630%_
                                      (let ()
                                        (declare (not safe))
                                        (##cdr _%e5357753623%_)))
                                     (_%hd5357853627%_
                                      (let ()
                                        (declare (not safe))
                                        (##car _%e5357753623%_))))
                                 (_%__match8097580976%_
                                  _%e5356653667%_
                                  _%hd5356753671%_
                                  _%tl5356853674%_
                                  _%e5357453613%_
                                  _%hd5357553617%_
                                  _%tl5357653620%_
                                  _%e5357753623%_
                                  _%hd5357853627%_
                                  _%tl5357953630%_)))
                             (_%__kont8094580946%_))))
                     (_%__kont8094580946%_))
                 (_%__kont8094580946%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_%__kont8094580946%_)))))))
                                   (if (gx#stx-pair? _%__stx8093880939%_)
                                       (let ((_%e5356653667%_
                                              (gx#syntax-e
                                               _%__stx8093880939%_)))
                                         (let ((_%tl5356853674%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##cdr _%e5356653667%_)))
                                               (_%hd5356753671%_
                                                (let ()
                                                  (declare (not safe))
                                                  (##car _%e5356653667%_))))
                                           (_%__match8095380954%_
                                            _%e5356653667%_
                                            _%hd5356753671%_
                                            _%tl5356853674%_)))
                                       (_%__kont8094580946%_))))))))
                      (let ((_%__match8145981460%_
                             (lambda (_%e5344555012%_
                                      _%hd5344655016%_
                                      _%tl5344755019%_
                                      _%e5344855022%_
                                      _%hd5344955026%_
                                      _%tl5345055029%_)
                               (let ((_%L55032%_ _%hd5344955026%_)
                                     (_%L55034%_ _%hd5344655016%_))
                                 (if (or (gx#free-identifier=?
                                          _%L55034%_
                                          (gx#datum->syntax '#f ':))
                                         (gx#free-identifier=?
                                          _%L55034%_
                                          (gx#datum->syntax '#f ':-)))
                                     (_%__kont8143381434%_
                                      _%L55032%_
                                      _%L55034%_)
                                     (if (gx#identifier? _%hd5344655016%_)
                                         (if (gx#free-identifier=?
                                              |gerbil/core/contract~Interface[1]#_g84081_|
                                              _%hd5344655016%_)
                                             (_%__kont8143581436%_
                                              _%hd5344955026%_)
                                             (if (gx#free-identifier=?
                                                  |gerbil/core/contract~Interface[1]#_g84082_|
                                                  _%hd5344655016%_)
                                                 (_%__kont8143781438%_
                                                  _%hd5344955026%_)
                                                 (if (gx#free-identifier=?
                                                      |gerbil/core/contract~Interface[1]#_g84083_|
                                                      _%hd5344655016%_)
                                                     (if (gx#stx-pair?
                                                          _%tl5345055029%_)
                                                         (let ((_%e5347354255%_
                                                                (gx#syntax-e
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%tl5345055029%_)))
                   (let ((_%tl5347554262%_
                          (let ()
                            (declare (not safe))
                            (##cdr _%e5347354255%_)))
                         (_%hd5347454259%_
                          (let ()
                            (declare (not safe))
                            (##car _%e5347354255%_))))
                     (if (gx#identifier? _%hd5347454259%_)
                         (if (gx#free-identifier=?
                              |gerbil/core/contract~Interface[1]#_g84084_|
                              _%hd5347454259%_)
                             (if (gx#stx-pair? _%tl5347554262%_)
                                 (let ((_%e5347654265%_
                                        (gx#syntax-e _%tl5347554262%_)))
                                   (let ((_%tl5347854272%_
                                          (let ()
                                            (declare (not safe))
                                            (##cdr _%e5347654265%_)))
                                         (_%hd5347754269%_
                                          (let ()
                                            (declare (not safe))
                                            (##car _%e5347654265%_))))
                                     (_%__kont8143981440%_
                                      _%hd5347754269%_
                                      _%hd5344955026%_)))
                                 (_%__kont8144581446%_ _%hd5344955026%_))
                             (if (gx#free-identifier=?
                                  |gerbil/core/contract~Interface[1]#_g84085_|
                                  _%hd5347454259%_)
                                 (if (gx#stx-pair? _%tl5347554262%_)
                                     (let ((_%e5349054046%_
                                            (gx#syntax-e _%tl5347554262%_)))
                                       (let ((_%tl5349254053%_
                                              (let ()
                                                (declare (not safe))
                                                (##cdr _%e5349054046%_)))
                                             (_%hd5349154050%_
                                              (let ()
                                                (declare (not safe))
                                                (##car _%e5349054046%_))))
                                         (_%__kont8144181442%_
                                          _%hd5349154050%_
                                          _%hd5344955026%_)))
                                     (_%__kont8144581446%_ _%hd5344955026%_))
                                 (if (gx#free-identifier=?
                                      |gerbil/core/contract~Interface[1]#_g84086_|
                                      _%hd5347454259%_)
                                     (if (gx#stx-pair? _%tl5347554262%_)
                                         (let ((_%e5350453737%_
                                                (gx#syntax-e
                                                 _%tl5347554262%_)))
                                           (let ((_%tl5350653744%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##cdr _%e5350453737%_)))
                                                 (_%hd5350553741%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##car _%e5350453737%_))))
                                             (_%__kont8144381444%_
                                              _%hd5350553741%_
                                              _%hd5344955026%_)))
                                         (_%__kont8144581446%_
                                          _%hd5344955026%_))
                                     (_%__kont8144581446%_ _%hd5344955026%_))))
                         (_%__kont8144581446%_ _%hd5344955026%_))))
                 (_%__kont8144581446%_ _%hd5344955026%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (let ()
                                                       (declare (not safe))
                                                       (_%g5344153519%_)))))
                                         (let ()
                                           (declare (not safe))
                                           (_%g5344153519%_))))))))
                        (if (gx#stx-pair? _%__stx8143081431%_)
                            (let ((_%e5344555012%_
                                   (gx#syntax-e _%__stx8143081431%_)))
                              (let ((_%tl5344755019%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%e5344555012%_)))
                                    (_%hd5344655016%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%e5344555012%_))))
                                (if (gx#stx-pair? _%tl5344755019%_)
                                    (let ((_%e5344855022%_
                                           (gx#syntax-e _%tl5344755019%_)))
                                      (let ((_%tl5345055029%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e5344855022%_)))
                                            (_%hd5344955026%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e5344855022%_))))
                                        (_%__match8145981460%_
                                         _%e5344555012%_
                                         _%hd5344655016%_
                                         _%tl5344755019%_
                                         _%e5344855022%_
                                         _%hd5344955026%_
                                         _%tl5345055029%_)))
                                    (let ()
                                      (declare (not safe))
                                      (_%g5344153519%_)))))
                            (let ()
                              (declare (not safe))
                              (_%g5344153519%_)))))))
                _%left53427%_
                _%right53429%_)))
    (define |gerbil/core/contract~Interface[1]#contract-type-subtype?|
      (lambda (_%type-a53330%_ _%type-b53332%_)
        (if (not _%type-a53330%_)
            (not _%type-b53332%_)
            (if (not _%type-b53332%_)
                '#f
                (if (gx#free-identifier=? _%type-a53330%_ _%type-b53332%_)
                    '#t
                    (let _%again53342%_ ((_%klass-a53345%_
                                          (gx#syntax-local-value
                                           _%type-a53330%_))
                                         (_%klass-b53347%_
                                          (gx#syntax-local-value
                                           _%type-b53332%_)))
                      (if (eq? _%klass-a53345%_ _%klass-b53347%_)
                          '#t
                          (if (let ()
                                (declare (not safe))
                                (class-instance?
                                 gerbil/core/mop~MOP-2#class-type-info::t
                                 _%klass-a53345%_))
                              (if (let ()
                                    (declare (not safe))
                                    (class-instance?
                                     gerbil/core/mop~MOP-2#class-type-info::t
                                     _%klass-b53347%_))
                                  (if (eq? (let ((__obj83885 _%klass-a53345%_))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (##structure-direct-instance-of?
                                                    __obj83885
                                                    'gerbil.core#class-type-info::t))
                                                 (let ()
                                                   (declare (not safe))
                                                   (##unchecked-structure-ref
                                                    __obj83885
                                                    '1
                                                    '#f
                                                    '#f))
                                                 (unchecked-slot-ref
                                                  __obj83885
                                                  'id)))
                                           (let ((__obj83886 _%klass-b53347%_))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (##structure-direct-instance-of?
                                                    __obj83886
                                                    'gerbil.core#class-type-info::t))
                                                 (let ()
                                                   (declare (not safe))
                                                   (##unchecked-structure-ref
                                                    __obj83886
                                                    '1
                                                    '#f
                                                    '#f))
                                                 (unchecked-slot-ref
                                                  __obj83886
                                                  'id))))
                                      '#t
                                      (if (member _%type-b53332%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (gerbil/core/contract~ClassMeta#!class-precedence-list
                                                     _%klass-a53345%_))
                                                  gx#free-identifier=?)
                                          '#t
                                          '#f))
                                  (if (let ()
                                        (declare (not safe))
                                        (class-instance?
                                         |gerbil/core/contract~TypeReference[1]#type-reference::t|
                                         _%klass-b53347%_))
                                      (let ((_%$e53363%_
                                             (gx#syntax-local-value
                                              (let ((__obj83883
                                                     _%klass-b53347%_))
                                                (if (let ()
                                                      (declare (not safe))
                                                      (##structure-direct-instance-of?
                                                       __obj83883
                                                       'gerbil/core/contract~TypeReference#type-reference::t))
                                                    (let ()
                                                      (declare (not safe))
                                                      (##unchecked-structure-ref
                                                       __obj83883
                                                       '1
                                                       '#f
                                                       '#f))
                                                    (unchecked-slot-ref
                                                     __obj83883
                                                     'identifier)))
                                              false)))
                                        (if _%$e53363%_
                                            ((lambda (_%klass-b53367%_)
                                               (_%again53342%_
                                                _%klass-a53345%_
                                                _%klass-b53367%_))
                                             _%$e53363%_)
                                            (if (gx#free-identifier=?
                                                 _%type-a53330%_
                                                 (let ((__obj83884
                                                        _%klass-b53347%_))
                                                   (if (let ()
                                                         (declare (not safe))
                                                         (##structure-direct-instance-of?
                                                          __obj83884
                                                          'gerbil/core/contract~TypeReference#type-reference::t))
                                                       (let ()
                                                         (declare (not safe))
                                                         (##unchecked-structure-ref
                                                          __obj83884
                                                          '1
                                                          '#f
                                                          '#f))
                                                       (unchecked-slot-ref
                                                        __obj83884
                                                        'identifier))))
                                                '#t
                                                '#f)))
                                      '#f))
                              (if (let ()
                                    (declare (not safe))
                                    (class-instance?
                                     gerbil/core/contract~InterfaceInfo#interface-info::t
                                     _%klass-a53345%_))
                                  (if (let ()
                                        (declare (not safe))
                                        (class-instance?
                                         gerbil/core/contract~InterfaceInfo#interface-info::t
                                         _%klass-b53347%_))
                                      (if (member _%type-b53332%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (gerbil/core/contract~InterfaceInfo#interface-info-flatten-mixin
                                                     _%klass-a53345%_)))
                                          '#t
                                          '#f)
                                      (if (let ()
                                            (declare (not safe))
                                            (class-instance?
                                             |gerbil/core/contract~TypeReference[1]#type-reference::t|
                                             _%klass-b53347%_))
                                          (let ((_%$e53386%_
                                                 (gx#syntax-local-value
                                                  (let ((__obj83881
                                                         _%klass-b53347%_))
                                                    (if (let ()
                                                          (declare (not safe))
                                                          (##structure-direct-instance-of?
                                                           __obj83881
                                                           'gerbil/core/contract~TypeReference#type-reference::t))
                                                        (let ()
                                                          (declare (not safe))
                                                          (##unchecked-structure-ref
                                                           __obj83881
                                                           '1
                                                           '#f
                                                           '#f))
                                                        (unchecked-slot-ref
                                                         __obj83881
                                                         'identifier)))
                                                  false)))
                                            (if _%$e53386%_
                                                ((lambda (_%klass-b53390%_)
                                                   (_%again53342%_
                                                    _%klass-a53345%_
                                                    _%klass-b53390%_))
                                                 _%$e53386%_)
                                                (if (gx#free-identifier=?
                                                     _%type-a53330%_
                                                     (let ((__obj83882
                                                            _%klass-b53347%_))
                                                       (if (let ()
                                                             (declare
                                                               (not safe))
                                                             (##structure-direct-instance-of?
                                                              __obj83882
                                                              'gerbil/core/contract~TypeReference#type-reference::t))
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##unchecked-structure-ref
                                                              __obj83882
                                                              '1
                                                              '#f
                                                              '#f))
                                                           (unchecked-slot-ref
                                                            __obj83882
                                                            'identifier))))
                                                    '#t
                                                    '#f)))
                                          '#f))
                                  (if (let ()
                                        (declare (not safe))
                                        (class-instance?
                                         |gerbil/core/contract~TypeReference[1]#type-reference::t|
                                         _%klass-a53345%_))
                                      (let ((_%$e53401%_
                                             (gx#syntax-local-value
                                              (let ((__obj83876
                                                     _%klass-a53345%_))
                                                (if (let ()
                                                      (declare (not safe))
                                                      (##structure-direct-instance-of?
                                                       __obj83876
                                                       'gerbil/core/contract~TypeReference#type-reference::t))
                                                    (let ()
                                                      (declare (not safe))
                                                      (##unchecked-structure-ref
                                                       __obj83876
                                                       '1
                                                       '#f
                                                       '#f))
                                                    (unchecked-slot-ref
                                                     __obj83876
                                                     'identifier)))
                                              false)))
                                        (if _%$e53401%_
                                            ((lambda (_%klass-a53405%_)
                                               (_%again53342%_
                                                _%klass-a53405%_
                                                _%klass-b53347%_))
                                             _%$e53401%_)
                                            (if (let ()
                                                  (declare (not safe))
                                                  (class-instance?
                                                   |gerbil/core/contract~TypeReference[1]#type-reference::t|
                                                   _%klass-b53347%_))
                                                (let ((_%$e53410%_
                                                       (gx#syntax-local-value
                                                        (let ((__obj83878
                                                               _%klass-b53347%_))
                                                          (if (let ()
                                                                (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (not safe))
                        (##structure-direct-instance-of?
                         __obj83878
                         'gerbil/core/contract~TypeReference#type-reference::t))
                      (let ()
                        (declare (not safe))
                        (##unchecked-structure-ref __obj83878 '1 '#f '#f))
                      (unchecked-slot-ref __obj83878 'identifier)))
                false)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (if _%$e53410%_
                                                      ((lambda (_%klass-b53414%_)
                                                         (_%again53342%_
                                                          _%klass-a53345%_
                                                          _%klass-b53414%_))
                                                       _%$e53410%_)
                                                      (if (gx#free-identifier=?
                                                           (let ((__obj83879
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _%klass-a53345%_))
                     (if (let ()
                           (declare (not safe))
                           (##structure-direct-instance-of?
                            __obj83879
                            'gerbil/core/contract~TypeReference#type-reference::t))
                         (let ()
                           (declare (not safe))
                           (##unchecked-structure-ref __obj83879 '1 '#f '#f))
                         (unchecked-slot-ref __obj83879 'identifier)))
                   (let ((__obj83880 _%klass-b53347%_))
                     (if (let ()
                           (declare (not safe))
                           (##structure-direct-instance-of?
                            __obj83880
                            'gerbil/core/contract~TypeReference#type-reference::t))
                         (let ()
                           (declare (not safe))
                           (##unchecked-structure-ref __obj83880 '1 '#f '#f))
                         (unchecked-slot-ref __obj83880 'identifier))))
                  '#t
                  '#f)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (if (gx#free-identifier=?
                                                     _%type-b53332%_
                                                     (let ((__obj83877
                                                            _%klass-a53345%_))
                                                       (if (let ()
                                                             (declare
                                                               (not safe))
                                                             (##structure-direct-instance-of?
                                                              __obj83877
                                                              'gerbil/core/contract~TypeReference#type-reference::t))
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##unchecked-structure-ref
                                                              __obj83877
                                                              '1
                                                              '#f
                                                              '#f))
                                                           (unchecked-slot-ref
                                                            __obj83877
                                                            'identifier))))
                                                    '#t
                                                    '#f))))
                                      '#f))))))))))
    (define |gerbil/core/contract~Interface[1]#signature-type-contract|
      (lambda (_%signature52935%_)
        (let _%loop52938%_ ((_%rest52941%_ _%signature52935%_)
                            (_%positionals52943%_ '())
                            (_%keywords52944%_ '()))
          (let* ((_%__stx8160681607%_ (gx#datum->syntax '#f 'rest))
                 (_%g5295253019%_
                  (lambda ()
                    (gx#raise-syntax-error
                     '#f
                     '"Bad syntax; invalid match target"
                     _%__stx8160681607%_))))
            (let ((_%__kont8160981610%_
                   (lambda (_%L53313%_ _%L53315%_)
                     (_%loop52938%_
                      _%L53313%_
                      (cons (cons (gx#datum->syntax '#f ':-)
                                  (cons (gx#datum->syntax '#f ':t) '()))
                            _%positionals52943%_)
                      _%keywords52944%_)))
                  (_%__kont8161181612%_
                   (lambda (_%L53277%_ _%L53279%_ _%L53280%_)
                     (_%loop52938%_
                      _%L53277%_
                      (cons (cons (gx#datum->syntax '#f ':-)
                                  (cons (gx#datum->syntax '#f ':t) '()))
                            _%positionals52943%_)
                      _%keywords52944%_)))
                  (_%__kont8161381614%_
                   (lambda (_%L53227%_ _%L53229%_)
                     (_%loop52938%_
                      (gx#datum->syntax '#f 'rest)
                      (cons _%L53227%_ _%positionals52943%_)
                      _%keywords52944%_)))
                  (_%__kont8161581616%_
                   (lambda (_%L53193%_ _%L53195%_ _%L53196%_)
                     (_%loop52938%_
                      _%L53193%_
                      _%positionals52943%_
                      (cons (cons (gx#stx-e _%L53196%_)
                                  (cons _%L53195%_
                                        (cons (gx#datum->syntax '#f ':-)
                                              (cons (gx#datum->syntax '#f ':t)
                                                    '()))))
                            _%keywords52944%_))))
                  (_%__kont8161781618%_
                   (lambda (_%L53143%_ _%L53145%_ _%L53146%_ _%L53147%_)
                     (_%loop52938%_
                      _%L53143%_
                      _%positionals52943%_
                      (cons (cons (gx#stx-e _%L53147%_)
                                  (cons _%L53146%_
                                        (cons (gx#datum->syntax '#f ':-)
                                              (cons (gx#datum->syntax '#f ':t)
                                                    '()))))
                            _%keywords52944%_))))
                  (_%__kont8161981620%_
                   (lambda (_%L53071%_ _%L53073%_ _%L53074%_ _%L53075%_)
                     (_%loop52938%_
                      _%L53071%_
                      _%positionals52943%_
                      (cons (cons (gx#stx-e _%L53075%_)
                                  (cons _%L53074%_ _%L53073%_))
                            _%keywords52944%_))))
                  (_%__kont8162181622%_
                   (lambda ()
                     (values (reverse! _%positionals52943%_)
                             (list-sort
                              (lambda (_%a53030%_ _%b53032%_)
                                (|gerbil/core/contract~Interface[1]#keyword<?|
                                 (gx#stx-car _%a53030%_)
                                 (gx#stx-car _%b53032%_)))
                              _%keywords52944%_)))))
              (let* ((_%__match8169381694%_
                      (lambda (_%e5298953103%_
                               _%hd5299053107%_
                               _%tl5299153110%_
                               _%e5299253113%_
                               _%hd5299353117%_
                               _%tl5299453120%_
                               _%e5299553123%_
                               _%hd5299653127%_
                               _%tl5299753130%_
                               _%e5299853133%_
                               _%hd5299953137%_
                               _%tl5300053140%_)
                        (let ((_%L53143%_ _%tl5299453120%_)
                              (_%L53145%_ _%hd5299953137%_)
                              (_%L53146%_ _%hd5299653127%_)
                              (_%L53147%_ _%hd5299053107%_))
                          (if (and (gx#stx-keyword? _%L53147%_)
                                   (gx#identifier? _%L53146%_))
                              (_%__kont8161781618%_
                               _%L53143%_
                               _%L53145%_
                               _%L53146%_
                               _%L53147%_)
                              (_%__kont8161981620%_
                               _%tl5299453120%_
                               _%tl5299753130%_
                               _%hd5299653127%_
                               _%hd5299053107%_)))))
                     (_%__match8166781668%_
                      (lambda (_%e5297953173%_
                               _%hd5298053177%_
                               _%tl5298153180%_
                               _%e5298253183%_
                               _%hd5298353187%_
                               _%tl5298453190%_)
                        (let ((_%L53193%_ _%tl5298453190%_)
                              (_%L53195%_ _%hd5298353187%_)
                              (_%L53196%_ _%hd5298053177%_))
                          (if (and (gx#stx-keyword? _%L53196%_)
                                   (gx#identifier? _%L53195%_))
                              (_%__kont8161581616%_
                               _%L53193%_
                               _%L53195%_
                               _%L53196%_)
                              (if (gx#stx-pair? _%hd5298353187%_)
                                  (let ((_%e5299553123%_
                                         (gx#syntax-e _%hd5298353187%_)))
                                    (let ((_%tl5299753130%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5299553123%_)))
                                          (_%hd5299653127%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5299553123%_))))
                                      (if (gx#stx-pair? _%tl5299753130%_)
                                          (let ((_%e5299853133%_
                                                 (gx#syntax-e
                                                  _%tl5299753130%_)))
                                            (let ((_%tl5300053140%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5299853133%_)))
                                                  (_%hd5299953137%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5299853133%_))))
                                              (if (gx#stx-null?
                                                   _%tl5300053140%_)
                                                  (_%__match8169381694%_
                                                   _%e5297953173%_
                                                   _%hd5298053177%_
                                                   _%tl5298153180%_
                                                   _%e5298253183%_
                                                   _%hd5298353187%_
                                                   _%tl5298453190%_
                                                   _%e5299553123%_
                                                   _%hd5299653127%_
                                                   _%tl5299753130%_
                                                   _%e5299853133%_
                                                   _%hd5299953137%_
                                                   _%tl5300053140%_)
                                                  (_%__kont8161981620%_
                                                   _%tl5298453190%_
                                                   _%tl5299753130%_
                                                   _%hd5299653127%_
                                                   _%hd5298053177%_))))
                                          (_%__kont8161981620%_
                                           _%tl5298453190%_
                                           _%tl5299753130%_
                                           _%hd5299653127%_
                                           _%hd5298053177%_))))
                                  (_%__kont8162181622%_))))))
                     (_%__match8165581656%_
                      (lambda (_%e5297353217%_
                               _%hd5297453221%_
                               _%tl5297553224%_)
                        (let ((_%L53227%_ _%tl5297553224%_)
                              (_%L53229%_ _%hd5297453221%_))
                          (if (gx#identifier? _%L53229%_)
                              (_%__kont8161381614%_ _%L53227%_ _%L53229%_)
                              (if (gx#stx-pair? _%tl5297553224%_)
                                  (let ((_%e5298253183%_
                                         (gx#syntax-e _%tl5297553224%_)))
                                    (let ((_%tl5298453190%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5298253183%_)))
                                          (_%hd5298353187%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5298253183%_))))
                                      (_%__match8166781668%_
                                       _%e5297353217%_
                                       _%hd5297453221%_
                                       _%tl5297553224%_
                                       _%e5298253183%_
                                       _%hd5298353187%_
                                       _%tl5298453190%_)))
                                  (_%__kont8162181622%_))))))
                     (_%__match8164981650%_
                      (lambda (_%e5296253247%_
                               _%hd5296353251%_
                               _%tl5296453254%_
                               _%e5296553257%_
                               _%hd5296653261%_
                               _%tl5296753264%_
                               _%e5296853267%_
                               _%hd5296953271%_
                               _%tl5297053274%_)
                        (let ((_%L53277%_ _%tl5296453254%_)
                              (_%L53279%_ _%hd5296953271%_)
                              (_%L53280%_ _%hd5296653261%_))
                          (if (gx#identifier? _%L53280%_)
                              (_%__kont8161181612%_
                               _%L53277%_
                               _%L53279%_
                               _%L53280%_)
                              (_%__match8165581656%_
                               _%e5296253247%_
                               _%hd5296353251%_
                               _%tl5296453254%_)))))
                     (_%__match8162981630%_
                      (lambda (_%e5295653303%_
                               _%hd5295753307%_
                               _%tl5295853310%_)
                        (let ((_%L53313%_ _%tl5295853310%_)
                              (_%L53315%_ _%hd5295753307%_))
                          (if (gx#identifier? _%L53315%_)
                              (_%__kont8160981610%_ _%L53313%_ _%L53315%_)
                              (if (gx#stx-pair? _%hd5295753307%_)
                                  (let ((_%e5296553257%_
                                         (gx#syntax-e _%hd5295753307%_)))
                                    (let ((_%tl5296753264%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5296553257%_)))
                                          (_%hd5296653261%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5296553257%_))))
                                      (if (gx#stx-pair? _%tl5296753264%_)
                                          (let ((_%e5296853267%_
                                                 (gx#syntax-e
                                                  _%tl5296753264%_)))
                                            (let ((_%tl5297053274%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5296853267%_)))
                                                  (_%hd5296953271%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5296853267%_))))
                                              (if (gx#stx-null?
                                                   _%tl5297053274%_)
                                                  (_%__match8164981650%_
                                                   _%e5295653303%_
                                                   _%hd5295753307%_
                                                   _%tl5295853310%_
                                                   _%e5296553257%_
                                                   _%hd5296653261%_
                                                   _%tl5296753264%_
                                                   _%e5296853267%_
                                                   _%hd5296953271%_
                                                   _%tl5297053274%_)
                                                  (_%__match8165581656%_
                                                   _%e5295653303%_
                                                   _%hd5295753307%_
                                                   _%tl5295853310%_))))
                                          (_%__match8165581656%_
                                           _%e5295653303%_
                                           _%hd5295753307%_
                                           _%tl5295853310%_))))
                                  (_%__match8165581656%_
                                   _%e5295653303%_
                                   _%hd5295753307%_
                                   _%tl5295853310%_)))))))
                (if (gx#stx-pair? _%__stx8160681607%_)
                    (let ((_%e5295653303%_ (gx#syntax-e _%__stx8160681607%_)))
                      (let ((_%tl5295853310%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e5295653303%_)))
                            (_%hd5295753307%_
                             (let ()
                               (declare (not safe))
                               (##car _%e5295653303%_))))
                        (_%__match8162981630%_
                         _%e5295653303%_
                         _%hd5295753307%_
                         _%tl5295853310%_)))
                    (_%__kont8162181622%_))))))))
    (define |gerbil/core/contract~Interface[1]#signature-arity|
      (lambda (_%spec52570%_)
        (let _%lp52573%_ ((_%rest52576%_ (gx#stx-cdr _%spec52570%_))
                          (_%required52578%_ '0)
                          (_%optional52579%_ '0))
          (let* ((_%__stx8171481715%_ _%rest52576%_)
                 (_%g5258752646%_
                  (lambda ()
                    (gx#raise-syntax-error
                     '#f
                     '"Bad syntax; invalid match target"
                     _%__stx8171481715%_))))
            (let ((_%__kont8171781718%_
                   (lambda (_%L52918%_ _%L52920%_)
                     (_%lp52573%_
                      _%L52918%_
                      (1+ _%required52578%_)
                      _%optional52579%_)))
                  (_%__kont8171981720%_
                   (lambda (_%L52882%_ _%L52884%_ _%L52885%_)
                     (_%lp52573%_
                      _%L52882%_
                      _%required52578%_
                      (1+ _%optional52579%_))))
                  (_%__kont8172181722%_
                   (lambda (_%L52824%_ _%L52826%_)
                     (_%lp52573%_
                      _%L52824%_
                      _%required52578%_
                      (1+ _%optional52579%_))))
                  (_%__kont8172581726%_
                   (lambda (_%L52746%_ _%L52748%_)
                     (_%lp52573%_
                      _%L52746%_
                      (1+ _%required52578%_)
                      _%optional52579%_)))
                  (_%__kont8172781728%_
                   (lambda (_%L52704%_ _%L52706%_)
                     (_%lp52573%_
                      _%L52704%_
                      _%required52578%_
                      _%optional52579%_)))
                  (_%__kont8172981730%_
                   (lambda (_%L52664%_)
                     (cons _%required52578%_
                           (cons _%optional52579%_ (cons '... '())))))
                  (_%__kont8173181732%_
                   (lambda ()
                     (cons _%required52578%_ (cons _%optional52579%_ '())))))
              (let* ((_%g5258652657%_
                      (lambda ()
                        (if (gx#stx-null? _%__stx8171481715%_)
                            (_%__kont8173181732%_)
                            (let () (declare (not safe)) (_%g5258752646%_)))))
                     (_%g5258552677%_
                      (lambda ()
                        (let ((_%L52664%_ _%__stx8171481715%_))
                          (if (gx#identifier? _%L52664%_)
                              (_%__kont8172981730%_ _%L52664%_)
                              (let ()
                                (declare (not safe))
                                (_%g5258652657%_))))))
                     (_%__match8181581816%_
                      (lambda (_%e5263452684%_
                               _%hd5263552688%_
                               _%tl5263652691%_
                               _%e5263752694%_
                               _%hd5263852698%_
                               _%tl5263952701%_)
                        (let ((_%L52704%_ _%tl5263952701%_)
                              (_%L52706%_ _%hd5263552688%_))
                          (if (gx#stx-keyword? _%L52706%_)
                              (_%__kont8172781728%_ _%L52704%_ _%L52706%_)
                              (let ()
                                (declare (not safe))
                                (_%g5258552677%_))))))
                     (_%__match8180381804%_
                      (lambda (_%e5262652726%_
                               _%hd5262752730%_
                               _%tl5262852733%_
                               _%e5262952736%_
                               _%hd5263052740%_
                               _%tl5263152743%_)
                        (let ((_%L52746%_ _%tl5262852733%_)
                              (_%L52748%_ _%hd5263052740%_))
                          (if (gx#identifier? _%L52748%_)
                              (_%__kont8172581726%_ _%L52746%_ _%L52748%_)
                              (if (gx#stx-pair? _%tl5262852733%_)
                                  (let ((_%e5263752694%_
                                         (gx#syntax-e _%tl5262852733%_)))
                                    (let ((_%tl5263952701%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5263752694%_)))
                                          (_%hd5263852698%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5263752694%_))))
                                      (_%__match8181581816%_
                                       _%e5262652726%_
                                       _%hd5262752730%_
                                       _%tl5262852733%_
                                       _%e5263752694%_
                                       _%hd5263852698%_
                                       _%tl5263952701%_)))
                                  (let ()
                                    (declare (not safe))
                                    (_%g5258552677%_)))))))
                     (_%__match8179181792%_
                      (lambda (_%e5260852768%_
                               _%hd5260952772%_
                               _%tl5261052775%_
                               _%__splice8172381724%_
                               _%target5261152778%_
                               _%tl5261352781%_
                               _%e5261852784%_
                               _%hd5261952788%_
                               _%tl5262052791%_
                               _%e5262152794%_
                               _%hd5262252798%_
                               _%tl5262352801%_)
                        (letrec ((_%loop5261452804%_
                                  (lambda (_%hd5261252808%_)
                                    (if (gx#stx-pair? _%hd5261252808%_)
                                        (let ((_%e5261552812%_
                                               (gx#syntax-e _%hd5261252808%_)))
                                          (let ((_%lp-tl5261752819%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##cdr _%e5261552812%_)))
                                                (_%lp-hd5261652816%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##car _%e5261552812%_))))
                                            (_%loop5261452804%_
                                             _%lp-tl5261752819%_)))
                                        (_%__kont8172181722%_
                                         _%tl5261052775%_
                                         _%hd5262252798%_)))))
                          (_%loop5261452804%_ _%target5261152778%_))))
                     (_%__match8175981760%_
                      (lambda (_%e5259752852%_
                               _%hd5259852856%_
                               _%tl5259952859%_
                               _%e5260052862%_
                               _%hd5260152866%_
                               _%tl5260252869%_
                               _%e5260352872%_
                               _%hd5260452876%_
                               _%tl5260552879%_)
                        (let ((_%L52882%_ _%tl5259952859%_)
                              (_%L52884%_ _%hd5260452876%_)
                              (_%L52885%_ _%hd5260152866%_))
                          (if (gx#identifier? _%L52885%_)
                              (_%__kont8171981720%_
                               _%L52882%_
                               _%L52884%_
                               _%L52885%_)
                              (if (gx#stx-pair/null? _%hd5259852856%_)
                                  (if (let ((__tmp84087
                                             (gx#stx-length _%hd5259852856%_)))
                                        (declare (not safe))
                                        (##fx>= __tmp84087 '2))
                                      (let ((_%__splice8172381724%_
                                             (gx#syntax-split-splice
                                              _%hd5259852856%_
                                              '2)))
                                        (let ((_%tl5261352781%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##vector-ref
                                                  _%__splice8172381724%_
                                                  '1)))
                                              (_%target5261152778%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##vector-ref
                                                  _%__splice8172381724%_
                                                  '0))))
                                          (if (gx#stx-pair? _%tl5261352781%_)
                                              (let ((_%e5261852784%_
                                                     (gx#syntax-e
                                                      _%tl5261352781%_)))
                                                (let ((_%tl5262052791%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e5261852784%_)))
                                                      (_%hd5261952788%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e5261852784%_))))
                                                  (if (gx#identifier?
                                                       _%hd5261952788%_)
                                                      (if (gx#free-identifier=?
                                                           |gerbil/core/contract~Interface[1]#_g84088_|
                                                           _%hd5261952788%_)
                                                          (if (gx#stx-pair?
                                                               _%tl5262052791%_)
                                                              (let ((_%e5262152794%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             (gx#syntax-e _%tl5262052791%_)))
                        (let ((_%tl5262352801%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e5262152794%_)))
                              (_%hd5262252798%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e5262152794%_))))
                          (if (gx#stx-null? _%tl5262352801%_)
                              (_%__match8179181792%_
                               _%e5259752852%_
                               _%hd5259852856%_
                               _%tl5259952859%_
                               _%__splice8172381724%_
                               _%target5261152778%_
                               _%tl5261352781%_
                               _%e5261852784%_
                               _%hd5261952788%_
                               _%tl5262052791%_
                               _%e5262152794%_
                               _%hd5262252798%_
                               _%tl5262352801%_)
                              (_%__match8180381804%_
                               _%e5259752852%_
                               _%hd5259852856%_
                               _%tl5259952859%_
                               _%e5260052862%_
                               _%hd5260152866%_
                               _%tl5260252869%_))))
                      (_%__match8180381804%_
                       _%e5259752852%_
                       _%hd5259852856%_
                       _%tl5259952859%_
                       _%e5260052862%_
                       _%hd5260152866%_
                       _%tl5260252869%_))
                  (_%__match8180381804%_
                   _%e5259752852%_
                   _%hd5259852856%_
                   _%tl5259952859%_
                   _%e5260052862%_
                   _%hd5260152866%_
                   _%tl5260252869%_))
              (_%__match8180381804%_
               _%e5259752852%_
               _%hd5259852856%_
               _%tl5259952859%_
               _%e5260052862%_
               _%hd5260152866%_
               _%tl5260252869%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%__match8180381804%_
                                               _%e5259752852%_
                                               _%hd5259852856%_
                                               _%tl5259952859%_
                                               _%e5260052862%_
                                               _%hd5260152866%_
                                               _%tl5260252869%_))))
                                      (_%__match8180381804%_
                                       _%e5259752852%_
                                       _%hd5259852856%_
                                       _%tl5259952859%_
                                       _%e5260052862%_
                                       _%hd5260152866%_
                                       _%tl5260252869%_))
                                  (_%__match8180381804%_
                                   _%e5259752852%_
                                   _%hd5259852856%_
                                   _%tl5259952859%_
                                   _%e5260052862%_
                                   _%hd5260152866%_
                                   _%tl5260252869%_))))))
                     (_%__match8173981740%_
                      (lambda (_%e5259152908%_
                               _%hd5259252912%_
                               _%tl5259352915%_)
                        (let ((_%L52918%_ _%tl5259352915%_)
                              (_%L52920%_ _%hd5259252912%_))
                          (if (gx#identifier? _%L52920%_)
                              (_%__kont8171781718%_ _%L52918%_ _%L52920%_)
                              (if (gx#stx-pair? _%hd5259252912%_)
                                  (let ((_%e5260052862%_
                                         (gx#syntax-e _%hd5259252912%_)))
                                    (let ((_%tl5260252869%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5260052862%_)))
                                          (_%hd5260152866%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5260052862%_))))
                                      (if (gx#stx-pair? _%tl5260252869%_)
                                          (let ((_%e5260352872%_
                                                 (gx#syntax-e
                                                  _%tl5260252869%_)))
                                            (let ((_%tl5260552879%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5260352872%_)))
                                                  (_%hd5260452876%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5260352872%_))))
                                              (if (gx#stx-null?
                                                   _%tl5260552879%_)
                                                  (_%__match8175981760%_
                                                   _%e5259152908%_
                                                   _%hd5259252912%_
                                                   _%tl5259352915%_
                                                   _%e5260052862%_
                                                   _%hd5260152866%_
                                                   _%tl5260252869%_
                                                   _%e5260352872%_
                                                   _%hd5260452876%_
                                                   _%tl5260552879%_)
                                                  (if (gx#stx-pair/null?
                                                       _%hd5259252912%_)
                                                      (if (let ((__tmp84089
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (gx#stx-length _%hd5259252912%_)))
                    (declare (not safe))
                    (##fx>= __tmp84089 '2))
                  (let ((_%__splice8172381724%_
                         (gx#syntax-split-splice _%hd5259252912%_ '2)))
                    (let ((_%tl5261352781%_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _%__splice8172381724%_ '1)))
                          (_%target5261152778%_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _%__splice8172381724%_ '0))))
                      (if (gx#stx-pair? _%tl5261352781%_)
                          (let ((_%e5261852784%_
                                 (gx#syntax-e _%tl5261352781%_)))
                            (let ((_%tl5262052791%_
                                   (let ()
                                     (declare (not safe))
                                     (##cdr _%e5261852784%_)))
                                  (_%hd5261952788%_
                                   (let ()
                                     (declare (not safe))
                                     (##car _%e5261852784%_))))
                              (if (gx#identifier? _%hd5261952788%_)
                                  (if (gx#free-identifier=?
                                       |gerbil/core/contract~Interface[1]#_g84088_|
                                       _%hd5261952788%_)
                                      (if (gx#stx-pair? _%tl5262052791%_)
                                          (let ((_%e5262152794%_
                                                 (gx#syntax-e
                                                  _%tl5262052791%_)))
                                            (let ((_%tl5262352801%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5262152794%_)))
                                                  (_%hd5262252798%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5262152794%_))))
                                              (if (gx#stx-null?
                                                   _%tl5262352801%_)
                                                  (_%__match8179181792%_
                                                   _%e5259152908%_
                                                   _%hd5259252912%_
                                                   _%tl5259352915%_
                                                   _%__splice8172381724%_
                                                   _%target5261152778%_
                                                   _%tl5261352781%_
                                                   _%e5261852784%_
                                                   _%hd5261952788%_
                                                   _%tl5262052791%_
                                                   _%e5262152794%_
                                                   _%hd5262252798%_
                                                   _%tl5262352801%_)
                                                  (_%__match8180381804%_
                                                   _%e5259152908%_
                                                   _%hd5259252912%_
                                                   _%tl5259352915%_
                                                   _%e5260052862%_
                                                   _%hd5260152866%_
                                                   _%tl5260252869%_))))
                                          (_%__match8180381804%_
                                           _%e5259152908%_
                                           _%hd5259252912%_
                                           _%tl5259352915%_
                                           _%e5260052862%_
                                           _%hd5260152866%_
                                           _%tl5260252869%_))
                                      (_%__match8180381804%_
                                       _%e5259152908%_
                                       _%hd5259252912%_
                                       _%tl5259352915%_
                                       _%e5260052862%_
                                       _%hd5260152866%_
                                       _%tl5260252869%_))
                                  (_%__match8180381804%_
                                   _%e5259152908%_
                                   _%hd5259252912%_
                                   _%tl5259352915%_
                                   _%e5260052862%_
                                   _%hd5260152866%_
                                   _%tl5260252869%_))))
                          (_%__match8180381804%_
                           _%e5259152908%_
                           _%hd5259252912%_
                           _%tl5259352915%_
                           _%e5260052862%_
                           _%hd5260152866%_
                           _%tl5260252869%_))))
                  (_%__match8180381804%_
                   _%e5259152908%_
                   _%hd5259252912%_
                   _%tl5259352915%_
                   _%e5260052862%_
                   _%hd5260152866%_
                   _%tl5260252869%_))
              (_%__match8180381804%_
               _%e5259152908%_
               _%hd5259252912%_
               _%tl5259352915%_
               _%e5260052862%_
               _%hd5260152866%_
               _%tl5260252869%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                          (if (gx#stx-pair/null?
                                               _%hd5259252912%_)
                                              (if (let ((__tmp84090
                                                         (gx#stx-length
                                                          _%hd5259252912%_)))
                                                    (declare (not safe))
                                                    (##fx>= __tmp84090 '2))
                                                  (let ((_%__splice8172381724%_
                                                         (gx#syntax-split-splice
                                                          _%hd5259252912%_
                                                          '2)))
                                                    (let ((_%tl5261352781%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##vector-ref
                                                              _%__splice8172381724%_
                                                              '1)))
                                                          (_%target5261152778%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##vector-ref
                                                              _%__splice8172381724%_
                                                              '0))))
                                                      (if (gx#stx-pair?
                                                           _%tl5261352781%_)
                                                          (let ((_%e5261852784%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (gx#syntax-e _%tl5261352781%_)))
                    (let ((_%tl5262052791%_
                           (let ()
                             (declare (not safe))
                             (##cdr _%e5261852784%_)))
                          (_%hd5261952788%_
                           (let ()
                             (declare (not safe))
                             (##car _%e5261852784%_))))
                      (if (gx#identifier? _%hd5261952788%_)
                          (if (gx#free-identifier=?
                               |gerbil/core/contract~Interface[1]#_g84088_|
                               _%hd5261952788%_)
                              (if (gx#stx-pair? _%tl5262052791%_)
                                  (let ((_%e5262152794%_
                                         (gx#syntax-e _%tl5262052791%_)))
                                    (let ((_%tl5262352801%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5262152794%_)))
                                          (_%hd5262252798%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5262152794%_))))
                                      (if (gx#stx-null? _%tl5262352801%_)
                                          (_%__match8179181792%_
                                           _%e5259152908%_
                                           _%hd5259252912%_
                                           _%tl5259352915%_
                                           _%__splice8172381724%_
                                           _%target5261152778%_
                                           _%tl5261352781%_
                                           _%e5261852784%_
                                           _%hd5261952788%_
                                           _%tl5262052791%_
                                           _%e5262152794%_
                                           _%hd5262252798%_
                                           _%tl5262352801%_)
                                          (_%__match8180381804%_
                                           _%e5259152908%_
                                           _%hd5259252912%_
                                           _%tl5259352915%_
                                           _%e5260052862%_
                                           _%hd5260152866%_
                                           _%tl5260252869%_))))
                                  (_%__match8180381804%_
                                   _%e5259152908%_
                                   _%hd5259252912%_
                                   _%tl5259352915%_
                                   _%e5260052862%_
                                   _%hd5260152866%_
                                   _%tl5260252869%_))
                              (_%__match8180381804%_
                               _%e5259152908%_
                               _%hd5259252912%_
                               _%tl5259352915%_
                               _%e5260052862%_
                               _%hd5260152866%_
                               _%tl5260252869%_))
                          (_%__match8180381804%_
                           _%e5259152908%_
                           _%hd5259252912%_
                           _%tl5259352915%_
                           _%e5260052862%_
                           _%hd5260152866%_
                           _%tl5260252869%_))))
                  (_%__match8180381804%_
                   _%e5259152908%_
                   _%hd5259252912%_
                   _%tl5259352915%_
                   _%e5260052862%_
                   _%hd5260152866%_
                   _%tl5260252869%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (_%__match8180381804%_
                                                   _%e5259152908%_
                                                   _%hd5259252912%_
                                                   _%tl5259352915%_
                                                   _%e5260052862%_
                                                   _%hd5260152866%_
                                                   _%tl5260252869%_))
                                              (_%__match8180381804%_
                                               _%e5259152908%_
                                               _%hd5259252912%_
                                               _%tl5259352915%_
                                               _%e5260052862%_
                                               _%hd5260152866%_
                                               _%tl5260252869%_)))))
                                  (if (gx#stx-pair/null? _%hd5259252912%_)
                                      (if (let ((__tmp84091
                                                 (gx#stx-length
                                                  _%hd5259252912%_)))
                                            (declare (not safe))
                                            (##fx>= __tmp84091 '2))
                                          (let ((_%__splice8172381724%_
                                                 (gx#syntax-split-splice
                                                  _%hd5259252912%_
                                                  '2)))
                                            (let ((_%tl5261352781%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##vector-ref
                                                      _%__splice8172381724%_
                                                      '1)))
                                                  (_%target5261152778%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##vector-ref
                                                      _%__splice8172381724%_
                                                      '0))))
                                              (if (gx#stx-pair?
                                                   _%tl5261352781%_)
                                                  (let ((_%e5261852784%_
                                                         (gx#syntax-e
                                                          _%tl5261352781%_)))
                                                    (let ((_%tl5262052791%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##cdr _%e5261852784%_)))
                                                          (_%hd5261952788%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##car _%e5261852784%_))))
                                                      (if (gx#identifier?
                                                           _%hd5261952788%_)
                                                          (if (gx#free-identifier=?
                                                               |gerbil/core/contract~Interface[1]#_g84088_|
                                                               _%hd5261952788%_)
                                                              (if (gx#stx-pair?
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           _%tl5262052791%_)
                          (let ((_%e5262152794%_
                                 (gx#syntax-e _%tl5262052791%_)))
                            (let ((_%tl5262352801%_
                                   (let ()
                                     (declare (not safe))
                                     (##cdr _%e5262152794%_)))
                                  (_%hd5262252798%_
                                   (let ()
                                     (declare (not safe))
                                     (##car _%e5262152794%_))))
                              (if (gx#stx-null? _%tl5262352801%_)
                                  (_%__match8179181792%_
                                   _%e5259152908%_
                                   _%hd5259252912%_
                                   _%tl5259352915%_
                                   _%__splice8172381724%_
                                   _%target5261152778%_
                                   _%tl5261352781%_
                                   _%e5261852784%_
                                   _%hd5261952788%_
                                   _%tl5262052791%_
                                   _%e5262152794%_
                                   _%hd5262252798%_
                                   _%tl5262352801%_)
                                  (if (gx#stx-pair? _%tl5259352915%_)
                                      (let ((_%e5263752694%_
                                             (gx#syntax-e _%tl5259352915%_)))
                                        (let ((_%tl5263952701%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e5263752694%_)))
                                              (_%hd5263852698%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e5263752694%_))))
                                          (_%__match8181581816%_
                                           _%e5259152908%_
                                           _%hd5259252912%_
                                           _%tl5259352915%_
                                           _%e5263752694%_
                                           _%hd5263852698%_
                                           _%tl5263952701%_)))
                                      (let ()
                                        (declare (not safe))
                                        (_%g5258552677%_))))))
                          (if (gx#stx-pair? _%tl5259352915%_)
                              (let ((_%e5263752694%_
                                     (gx#syntax-e _%tl5259352915%_)))
                                (let ((_%tl5263952701%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e5263752694%_)))
                                      (_%hd5263852698%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e5263752694%_))))
                                  (_%__match8181581816%_
                                   _%e5259152908%_
                                   _%hd5259252912%_
                                   _%tl5259352915%_
                                   _%e5263752694%_
                                   _%hd5263852698%_
                                   _%tl5263952701%_)))
                              (let () (declare (not safe)) (_%g5258552677%_))))
                      (if (gx#stx-pair? _%tl5259352915%_)
                          (let ((_%e5263752694%_
                                 (gx#syntax-e _%tl5259352915%_)))
                            (let ((_%tl5263952701%_
                                   (let ()
                                     (declare (not safe))
                                     (##cdr _%e5263752694%_)))
                                  (_%hd5263852698%_
                                   (let ()
                                     (declare (not safe))
                                     (##car _%e5263752694%_))))
                              (_%__match8181581816%_
                               _%e5259152908%_
                               _%hd5259252912%_
                               _%tl5259352915%_
                               _%e5263752694%_
                               _%hd5263852698%_
                               _%tl5263952701%_)))
                          (let () (declare (not safe)) (_%g5258552677%_))))
                  (if (gx#stx-pair? _%tl5259352915%_)
                      (let ((_%e5263752694%_ (gx#syntax-e _%tl5259352915%_)))
                        (let ((_%tl5263952701%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e5263752694%_)))
                              (_%hd5263852698%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e5263752694%_))))
                          (_%__match8181581816%_
                           _%e5259152908%_
                           _%hd5259252912%_
                           _%tl5259352915%_
                           _%e5263752694%_
                           _%hd5263852698%_
                           _%tl5263952701%_)))
                      (let () (declare (not safe)) (_%g5258552677%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (if (gx#stx-pair?
                                                       _%tl5259352915%_)
                                                      (let ((_%e5263752694%_
                                                             (gx#syntax-e
                                                              _%tl5259352915%_)))
                                                        (let ((_%tl5263952701%_
                                                               (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (declare (not safe))
                         (##cdr _%e5263752694%_)))
                      (_%hd5263852698%_
                       (let () (declare (not safe)) (##car _%e5263752694%_))))
                  (_%__match8181581816%_
                   _%e5259152908%_
                   _%hd5259252912%_
                   _%tl5259352915%_
                   _%e5263752694%_
                   _%hd5263852698%_
                   _%tl5263952701%_)))
              (let () (declare (not safe)) (_%g5258552677%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                          (if (gx#stx-pair? _%tl5259352915%_)
                                              (let ((_%e5263752694%_
                                                     (gx#syntax-e
                                                      _%tl5259352915%_)))
                                                (let ((_%tl5263952701%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e5263752694%_)))
                                                      (_%hd5263852698%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e5263752694%_))))
                                                  (_%__match8181581816%_
                                                   _%e5259152908%_
                                                   _%hd5259252912%_
                                                   _%tl5259352915%_
                                                   _%e5263752694%_
                                                   _%hd5263852698%_
                                                   _%tl5263952701%_)))
                                              (let ()
                                                (declare (not safe))
                                                (_%g5258552677%_))))
                                      (if (gx#stx-pair? _%tl5259352915%_)
                                          (let ((_%e5263752694%_
                                                 (gx#syntax-e
                                                  _%tl5259352915%_)))
                                            (let ((_%tl5263952701%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e5263752694%_)))
                                                  (_%hd5263852698%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e5263752694%_))))
                                              (_%__match8181581816%_
                                               _%e5259152908%_
                                               _%hd5259252912%_
                                               _%tl5259352915%_
                                               _%e5263752694%_
                                               _%hd5263852698%_
                                               _%tl5263952701%_)))
                                          (let ()
                                            (declare (not safe))
                                            (_%g5258552677%_))))))))))
                (if (gx#stx-pair? _%__stx8171481715%_)
                    (let ((_%e5259152908%_ (gx#syntax-e _%__stx8171481715%_)))
                      (let ((_%tl5259352915%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e5259152908%_)))
                            (_%hd5259252912%_
                             (let ()
                               (declare (not safe))
                               (##car _%e5259152908%_))))
                        (_%__match8173981740%_
                         _%e5259152908%_
                         _%hd5259252912%_
                         _%tl5259352915%_)))
                    (let () (declare (not safe)) (_%g5258552677%_)))))))))
    (define |gerbil/core/contract~Interface[1]#signature-keywords|
      (lambda (_%spec52395%_)
        (let _%lp52398%_ ((_%rest52401%_ _%spec52395%_)
                          (_%keywords52403%_ '()))
          (let* ((_%__stx8182081821%_ _%rest52401%_)
                 (_%g5240852436%_
                  (lambda ()
                    (gx#raise-syntax-error
                     '#f
                     '"Bad syntax; invalid match target"
                     _%__stx8182081821%_))))
            (let ((_%__kont8182381824%_
                   (lambda (_%L52553%_ _%L52555%_)
                     (_%lp52398%_ _%L52553%_ _%keywords52403%_)))
                  (_%__kont8182581826%_
                   (lambda (_%L52521%_ _%L52523%_)
                     (_%lp52398%_ _%L52521%_ _%keywords52403%_)))
                  (_%__kont8182781828%_
                   (lambda (_%L52474%_ _%L52476%_)
                     (_%lp52398%_
                      _%L52474%_
                      (cons (gx#stx-e _%L52476%_) _%keywords52403%_))))
                  (_%__kont8182981830%_
                   (lambda ()
                     (list-sort
                      |gerbil/core/contract~Interface[1]#keyword<?|
                      _%keywords52403%_))))
              (let* ((_%__match8186181862%_
                      (lambda (_%e5242552454%_
                               _%hd5242652458%_
                               _%tl5242752461%_
                               _%e5242852464%_
                               _%hd5242952468%_
                               _%tl5243052471%_)
                        (let ((_%L52474%_ _%tl5243052471%_)
                              (_%L52476%_ _%hd5242652458%_))
                          (if (gx#stx-keyword? _%L52476%_)
                              (_%__kont8182781828%_ _%L52474%_ _%L52476%_)
                              (_%__kont8182981830%_)))))
                     (_%__match8184981850%_
                      (lambda (_%e5241752501%_
                               _%hd5241852505%_
                               _%tl5241952508%_
                               _%e5242052511%_
                               _%hd5242152515%_
                               _%tl5242252518%_)
                        (let ((_%L52521%_ _%tl5241952508%_)
                              (_%L52523%_ _%hd5242152515%_))
                          (if (gx#identifier? _%L52523%_)
                              (_%__kont8182581826%_ _%L52521%_ _%L52523%_)
                              (if (gx#stx-pair? _%tl5241952508%_)
                                  (let ((_%e5242852464%_
                                         (gx#syntax-e _%tl5241952508%_)))
                                    (let ((_%tl5243052471%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5242852464%_)))
                                          (_%hd5242952468%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5242852464%_))))
                                      (_%__match8186181862%_
                                       _%e5241752501%_
                                       _%hd5241852505%_
                                       _%tl5241952508%_
                                       _%e5242852464%_
                                       _%hd5242952468%_
                                       _%tl5243052471%_)))
                                  (_%__kont8182981830%_))))))
                     (_%__match8183781838%_
                      (lambda (_%e5241252543%_
                               _%hd5241352547%_
                               _%tl5241452550%_)
                        (let ((_%L52553%_ _%tl5241452550%_)
                              (_%L52555%_ _%hd5241352547%_))
                          (if (gx#identifier? _%L52555%_)
                              (_%__kont8182381824%_ _%L52553%_ _%L52555%_)
                              (if (gx#stx-pair? _%hd5241352547%_)
                                  (let ((_%e5242052511%_
                                         (gx#syntax-e _%hd5241352547%_)))
                                    (let ((_%tl5242252518%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e5242052511%_)))
                                          (_%hd5242152515%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e5242052511%_))))
                                      (_%__match8184981850%_
                                       _%e5241252543%_
                                       _%hd5241352547%_
                                       _%tl5241452550%_
                                       _%e5242052511%_
                                       _%hd5242152515%_
                                       _%tl5242252518%_)))
                                  (if (gx#stx-pair? _%tl5241452550%_)
                                      (let ((_%e5242852464%_
                                             (gx#syntax-e _%tl5241452550%_)))
                                        (let ((_%tl5243052471%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e5242852464%_)))
                                              (_%hd5242952468%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e5242852464%_))))
                                          (_%__match8186181862%_
                                           _%e5241252543%_
                                           _%hd5241352547%_
                                           _%tl5241452550%_
                                           _%e5242852464%_
                                           _%hd5242952468%_
                                           _%tl5243052471%_)))
                                      (_%__kont8182981830%_))))))))
                (if (gx#stx-pair? _%__stx8182081821%_)
                    (let ((_%e5241252543%_ (gx#syntax-e _%__stx8182081821%_)))
                      (let ((_%tl5241452550%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e5241252543%_)))
                            (_%hd5241352547%_
                             (let ()
                               (declare (not safe))
                               (##car _%e5241252543%_))))
                        (_%__match8183781838%_
                         _%e5241252543%_
                         _%hd5241352547%_
                         _%tl5241452550%_)))
                    (_%__kont8182981830%_))))))))
    (define |gerbil/core/contract~Interface[1]#symbol<?|
      (lambda (_%x52391%_ _%y52393%_)
        (let ((__tmp84093 (symbol->string (gx#stx-e _%x52391%_)))
              (__tmp84092 (symbol->string (gx#stx-e _%y52393%_))))
          (declare (not safe))
          (##string<? __tmp84093 __tmp84092))))
    (define |gerbil/core/contract~Interface[1]#keyword<?|
      (lambda (_%x52387%_ _%y52389%_)
        (let ((__tmp84095 (keyword->string (gx#stx-e _%x52387%_)))
              (__tmp84094 (keyword->string (gx#stx-e _%y52389%_))))
          (declare (not safe))
          (##string<? __tmp84095 __tmp84094))))
    (define |gerbil/core/contract~Interface[:0:]#interface|
      (lambda (_%stx60145%_)
        (letrec ((_%fold-methods60148%_
                  (lambda (_%mixin61863%_ _%specs61865%_)
                    (let* ((_%methods61867%_
                            (_%fold-specs60151%_ _%specs61865%_))
                           (_%methods61870%_
                            (_%fold-mixins60150%_
                             _%mixin61863%_
                             _%methods61867%_)))
                      (let _%lp61875%_ ((_%rest61878%_ _%methods61870%_)
                                        (_%methods61880%_ '()))
                        (let* ((_%rest6188161889%_ _%rest61878%_)
                               (_%else6188361905%_
                                (lambda ()
                                  (list-sort
                                   (lambda (_%x61901%_ _%y61903%_)
                                     (|gerbil/core/contract~Interface[1]#symbol<?|
                                      (gx#stx-car _%x61901%_)
                                      (gx#stx-car _%y61903%_)))
                                   _%methods61880%_)))
                               (_%K6188561925%_
                                (lambda (_%rest61909%_ _%method61911%_)
                                  (let ((_%$e61916%_
                                         (find (lambda (_%other61913%_)
                                                 (gx#stx-eq?
                                                  (gx#stx-car _%method61911%_)
                                                  (gx#stx-car _%other61913%_)))
                                               _%rest61909%_)))
                                    (if _%$e61916%_
                                        ((lambda (_%duplicate61920%_)
                                           (if (|gerbil/core/contract~Interface[1]#compatible-signatures?|
                                                _%duplicate61920%_
                                                _%method61911%_)
                                               (_%lp61875%_
                                                _%rest61909%_
                                                _%methods61880%_)
                                               (gx#raise-syntax-error
                                                '#f
                                                '"invalid interface specification; incompatible method signatures"
                                                _%stx60145%_
                                                _%method61911%_
                                                _%duplicate61920%_)))
                                         _%$e61916%_)
                                        (_%lp61875%_
                                         _%rest61909%_
                                         (cons _%method61911%_
                                               _%methods61880%_)))))))
                          (if (pair? _%rest6188161889%_)
                              (let ((_%hd6188661929%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%rest6188161889%_)))
                                    (_%tl6188761932%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%rest6188161889%_))))
                                (let* ((_%method61935%_ _%hd6188661929%_)
                                       (_%rest61938%_ _%tl6188761932%_))
                                  (_%K6188561925%_
                                   _%rest61938%_
                                   _%method61935%_)))
                              (_%else6188361905%_)))))))
                 (_%fold-mixins60150%_
                  (lambda (_%mixin61846%_ _%methods61848%_)
                    (foldl (lambda (_%mixin61850%_ _%methods61852%_)
                             (let ((_%$e61854%_
                                    (gx#syntax-local-value
                                     _%mixin61850%_
                                     false)))
                               (if _%$e61854%_
                                   ((lambda (_%info61858%_)
                                      (if (let ()
                                            (declare (not safe))
                                            (class-instance?
                                             gerbil/core/contract~InterfaceInfo#interface-info::t
                                             _%info61858%_))
                                          (foldl cons
                                                 _%methods61852%_
                                                 (map gx#syntax-local-introduce
                                                      (let ((__obj83887
                                                             _%info61858%_))
                                                        (if (let ()
                                                              (declare
                                                                (not safe))
                                                              (##structure-direct-instance-of?
                                                               __obj83887
                                                               'gerbil/core/contract~InterfaceInfo#interface-info::t))
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##unchecked-structure-ref
                                                               __obj83887
                                                               '3
                                                               '#f
                                                               '#f))
                                                            (unchecked-slot-ref
                                                             __obj83887
                                                             'interface-methods)))))
                                          (gx#raise-syntax-error
                                           '#f
                                           '"invalid mixin; not an interface type"
                                           _%stx60145%_
                                           _%mixin61850%_
                                           _%info61858%_)))
                                    _%$e61854%_)
                                   (gx#raise-syntax-error
                                    '#f
                                    '"invalid mixin; unknown type"
                                    _%stx60145%_
                                    _%mixin61850%_))))
                           _%methods61848%_
                           _%mixin61846%_)))
                 (_%fold-specs60151%_
                  (lambda (_%specs61651%_)
                    (let _%loop61654%_ ((_%rest61657%_ _%specs61651%_)
                                        (_%methods61659%_ '()))
                      (let* ((_%__stx8186481865%_ _%rest61657%_)
                             (_%g6166461697%_
                              (lambda ()
                                (gx#raise-syntax-error
                                 '#f
                                 '"Bad syntax; invalid match target"
                                 _%__stx8186481865%_))))
                        (let ((_%__kont8186781868%_
                               (lambda (_%L61819%_
                                        _%L61821%_
                                        _%L61822%_
                                        _%L61823%_)
                                 (|gerbil/core/contract~Interface[1]#check-signature!__%|
                                  '#f
                                  absent-value
                                  absent-value
                                  _%stx60145%_
                                  _%L61822%_
                                  _%L61821%_)
                                 (_%loop61654%_
                                  _%L61819%_
                                  (cons (cons _%L61823%_
                                              (cons _%L61822%_
                                                    (cons _%L61821%_ '())))
                                        _%methods61659%_))))
                              (_%__kont8186981870%_
                               (lambda (_%L61754%_ _%L61756%_ _%L61757%_)
                                 (|gerbil/core/contract~Interface[1]#check-signature!__%|
                                  '#f
                                  absent-value
                                  absent-value
                                  _%stx60145%_
                                  _%L61756%_
                                  '#f)
                                 (_%loop61654%_
                                  _%L61754%_
                                  (cons (cons _%L61757%_
                                              (cons _%L61756%_
                                                    (cons (gx#core-quote-syntax
                                                           ':t)
                                                          '())))
                                        _%methods61659%_))))
                              (_%__kont8187181872%_
                               (lambda () _%methods61659%_))
                              (_%__kont8187381874%_
                               (lambda (_%L61704%_)
                                 (gx#raise-syntax-error
                                  '#f
                                  '"invalid interface specification"
                                  _%stx60145%_
                                  _%L61704%_))))
                          (let* ((_%g6166261727%_
                                  (lambda ()
                                    (if (gx#stx-null? _%__stx8186481865%_)
                                        (_%__kont8187181872%_)
                                        (_%__kont8187381874%_
                                         _%__stx8186481865%_))))
                                 (_%__match8191581916%_
                                  (lambda (_%e6168561734%_
                                           _%hd6168661738%_
                                           _%tl6168761741%_
                                           _%e6168861744%_
                                           _%hd6168961748%_
                                           _%tl6169061751%_)
                                    (let ((_%L61754%_ _%tl6168761741%_)
                                          (_%L61756%_ _%tl6169061751%_)
                                          (_%L61757%_ _%hd6168961748%_))
                                      (if (gx#identifier? _%L61757%_)
                                          (_%__kont8186981870%_
                                           _%L61754%_
                                           _%L61756%_
                                           _%L61757%_)
                                          (_%__kont8187381874%_
                                           _%__stx8186481865%_)))))
                                 (_%__match8190381904%_
                                  (lambda (_%e6167061779%_
                                           _%hd6167161783%_
                                           _%tl6167261786%_
                                           _%e6167361789%_
                                           _%hd6167461793%_
                                           _%tl6167561796%_
                                           _%e6167661799%_
                                           _%hd6167761803%_
                                           _%tl6167861806%_
                                           _%e6167961809%_
                                           _%hd6168061813%_
                                           _%tl6168161816%_)
                                    (let ((_%L61819%_ _%tl6168161816%_)
                                          (_%L61821%_ _%hd6168061813%_)
                                          (_%L61822%_ _%tl6167561796%_)
                                          (_%L61823%_ _%hd6167461793%_))
                                      (if (and (gx#identifier? _%L61823%_)
                                               (gx#identifier? _%L61821%_))
                                          (_%__kont8186781868%_
                                           _%L61819%_
                                           _%L61821%_
                                           _%L61822%_
                                           _%L61823%_)
                                          (_%__match8191581916%_
                                           _%e6167061779%_
                                           _%hd6167161783%_
                                           _%tl6167261786%_
                                           _%e6167361789%_
                                           _%hd6167461793%_
                                           _%tl6167561796%_))))))
                            (if (gx#stx-pair? _%__stx8186481865%_)
                                (let ((_%e6167061779%_
                                       (gx#syntax-e _%__stx8186481865%_)))
                                  (let ((_%tl6167261786%_
                                         (let ()
                                           (declare (not safe))
                                           (##cdr _%e6167061779%_)))
                                        (_%hd6167161783%_
                                         (let ()
                                           (declare (not safe))
                                           (##car _%e6167061779%_))))
                                    (if (gx#stx-pair? _%hd6167161783%_)
                                        (let ((_%e6167361789%_
                                               (gx#syntax-e _%hd6167161783%_)))
                                          (let ((_%tl6167561796%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##cdr _%e6167361789%_)))
                                                (_%hd6167461793%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##car _%e6167361789%_))))
                                            (if (gx#stx-pair? _%tl6167261786%_)
                                                (let ((_%e6167661799%_
                                                       (gx#syntax-e
                                                        _%tl6167261786%_)))
                                                  (let ((_%tl6167861806%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##cdr _%e6167661799%_)))
                                                        (_%hd6167761803%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##car _%e6167661799%_))))
                                                    (if (gx#identifier?
                                                         _%hd6167761803%_)
                                                        (if (gx#free-identifier=?
                                                             |gerbil/core/contract~Interface[1]#_g84096_|
                                                             _%hd6167761803%_)
                                                            (if (gx#stx-pair?
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%tl6167861806%_)
                        (let ((_%e6167961809%_ (gx#syntax-e _%tl6167861806%_)))
                          (let ((_%tl6168161816%_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _%e6167961809%_)))
                                (_%hd6168061813%_
                                 (let ()
                                   (declare (not safe))
                                   (##car _%e6167961809%_))))
                            (_%__match8190381904%_
                             _%e6167061779%_
                             _%hd6167161783%_
                             _%tl6167261786%_
                             _%e6167361789%_
                             _%hd6167461793%_
                             _%tl6167561796%_
                             _%e6167661799%_
                             _%hd6167761803%_
                             _%tl6167861806%_
                             _%e6167961809%_
                             _%hd6168061813%_
                             _%tl6168161816%_)))
                        (_%__match8191581916%_
                         _%e6167061779%_
                         _%hd6167161783%_
                         _%tl6167261786%_
                         _%e6167361789%_
                         _%hd6167461793%_
                         _%tl6167561796%_))
                    (_%__match8191581916%_
                     _%e6167061779%_
                     _%hd6167161783%_
                     _%tl6167261786%_
                     _%e6167361789%_
                     _%hd6167461793%_
                     _%tl6167561796%_))
                (_%__match8191581916%_
                 _%e6167061779%_
                 _%hd6167161783%_
                 _%tl6167261786%_
                 _%e6167361789%_
                 _%hd6167461793%_
                 _%tl6167561796%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (_%__match8191581916%_
                                                 _%e6167061779%_
                                                 _%hd6167161783%_
                                                 _%tl6167261786%_
                                                 _%e6167361789%_
                                                 _%hd6167461793%_
                                                 _%tl6167561796%_))))
                                        (_%__kont8187381874%_
                                         _%__stx8186481865%_))))
                                (let ()
                                  (declare (not safe))
                                  (_%g6166261727%_)))))))))
                 (_%make-method-defs60152%_
                  (lambda (_%Interface61444%_)
                    (lambda (_%method61447%_ _%offset61449%_)
                      (let* ((_%signature61451%_
                              (gx#stx-car (gx#stx-cdr _%method61447%_)))
                             (_%g6145461494%_
                              (lambda (_%g6145561490%_)
                                (gx#raise-syntax-error
                                 '#f
                                 '"Bad syntax; invalid match target"
                                 _%g6145561490%_)))
                             (_%g6145361647%_
                              (lambda (_%g6145561498%_)
                                (if (gx#stx-pair? _%g6145561498%_)
                                    (let ((_%e6146261501%_
                                           (gx#syntax-e _%g6145561498%_)))
                                      (let ((_%hd6146361505%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e6146261501%_)))
                                            (_%tl6146461508%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e6146261501%_))))
                                        (if (gx#stx-pair? _%tl6146461508%_)
                                            (let ((_%e6146561511%_
                                                   (gx#syntax-e
                                                    _%tl6146461508%_)))
                                              (let ((_%hd6146661515%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##car _%e6146561511%_)))
                                                    (_%tl6146761518%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##cdr _%e6146561511%_))))
                                                (if (gx#stx-pair?
                                                     _%tl6146761518%_)
                                                    (let ((_%e6146861521%_
                                                           (gx#syntax-e
                                                            _%tl6146761518%_)))
                                                      (let ((_%hd6146961525%_
                                                             (let ()
                                                               (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (not safe))
                       (##car _%e6146861521%_)))
                    (_%tl6147061528%_
                     (let () (declare (not safe)) (##cdr _%e6146861521%_))))
                (if (gx#stx-pair? _%tl6147061528%_)
                    (let ((_%e6147161531%_ (gx#syntax-e _%tl6147061528%_)))
                      (let ((_%hd6147261535%_
                             (let ()
                               (declare (not safe))
                               (##car _%e6147161531%_)))
                            (_%tl6147361538%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e6147161531%_))))
                        (if (gx#stx-pair? _%tl6147361538%_)
                            (let ((_%e6147461541%_
                                   (gx#syntax-e _%tl6147361538%_)))
                              (let ((_%hd6147561545%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%e6147461541%_)))
                                    (_%tl6147661548%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%e6147461541%_))))
                                (if (gx#stx-pair? _%tl6147661548%_)
                                    (let ((_%e6147761551%_
                                           (gx#syntax-e _%tl6147661548%_)))
                                      (let ((_%hd6147861555%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e6147761551%_)))
                                            (_%tl6147961558%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e6147761551%_))))
                                        (if (gx#stx-pair/null?
                                             _%hd6147861555%_)
                                            (let ((_g84097_
                                                   (gx#syntax-split-splice
                                                    _%hd6147861555%_
                                                    '0)))
                                              (begin
                                                (let ((_g84098_
                                                       (let ()
                                                         (declare (not safe))
                                                         (if (##values?
                                                              _g84097_)
                                                             (##vector-length
                                                              _g84097_)
                                                             1))))
                                                  (if (not (let ()
                                                             (declare
                                                               (not safe))
                                                             (##fx= _g84098_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            2)))
              (error "Context expects 2 values" _g84098_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (let ((_%target6148061561%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##vector-ref
                                                          _g84097_
                                                          0)))
                                                      (_%tl6148261564%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##vector-ref
                                                          _g84097_
                                                          1))))
                                                  (if (gx#stx-null?
                                                       _%tl6148261564%_)
                                                      (letrec ((_%loop6148361567%_
                                                                (lambda (_%hd6148161571%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                 _%out6148761574%_)
                          (if (gx#stx-pair? _%hd6148161571%_)
                              (let ((_%e6148461577%_
                                     (gx#syntax-e _%hd6148161571%_)))
                                (let ((_%lp-hd6148561581%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e6148461577%_)))
                                      (_%lp-tl6148661584%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e6148461577%_))))
                                  (_%loop6148361567%_
                                   _%lp-tl6148661584%_
                                   (cons _%lp-hd6148561581%_
                                         _%out6148761574%_))))
                              (let ((_%out6148861587%_
                                     (reverse _%out6148761574%_)))
                                (if (gx#stx-null? _%tl6147961558%_)
                                    ((lambda (_%L61591%_
                                              _%L61593%_
                                              _%L61594%_
                                              _%L61595%_
                                              _%L61596%_
                                              _%L61597%_)
                                       (if (gx#stx-list? _%signature61451%_)
                                           (gx#stx-wrap-source
                                            (cons (gx#datum->syntax
                                                   '#f
                                                   'definterface-method)
                                                  (cons _%L61597%_
                                                        (cons _%L61596%_
                                                              (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                   '#f
                                   'declare)
                                  (cons (cons (gx#datum->syntax '#f 'not)
                                              (cons (gx#datum->syntax
                                                     '#f
                                                     'safe)
                                                    '()))
                                        '()))
                            (cons (cons (gx#datum->syntax '#f 'let)
                                        (cons (cons (cons (gx#datum->syntax
                                                           '#f
                                                           'obj)
                                                          (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               '#f
                               '##unchecked-structure-ref)
                              (cons _%L61594%_
                                    (cons '1
                                          (cons '#f
                                                (cons (cons (gx#datum->syntax
                                                             '#f
                                                             'quote)
                                                            (cons _%L61595%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '()))
              '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         '#f
                         'f)
                        (cons (cons (gx#datum->syntax
                                     '#f
                                     '##unchecked-structure-ref)
                                    (cons _%L61594%_
                                          (cons _%L61593%_
                                                (cons '#f
                                                      (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           '#f
                           'quote)
                          (cons _%L61595%_ '()))
                    '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                              '()))
                  '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (cons (cons (gx#datum->syntax
                                                           '#f
                                                           'f)
                                                          (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         '#f
                         'obj)
                        (foldr (lambda (_%g6163061633%_ _%g6163161636%_)
                                 (cons _%g6163061633%_ _%g6163161636%_))
                               '()
                               _%L61591%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    '())))
                                  '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            (gx#stx-source _%stx60145%_))
                                           (gx#stx-wrap-source
                                            (cons (gx#datum->syntax
                                                   '#f
                                                   'definterface-method)
                                                  (cons _%L61597%_
                                                        (cons _%L61596%_
                                                              (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                   '#f
                                   'declare)
                                  (cons (cons (gx#datum->syntax '#f 'not)
                                              (cons (gx#datum->syntax
                                                     '#f
                                                     'safe)
                                                    '()))
                                        '()))
                            (cons (cons (gx#datum->syntax '#f 'let)
                                        (cons (cons (cons (gx#datum->syntax
                                                           '#f
                                                           'obj)
                                                          (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               '#f
                               '##unchecked-structure-ref)
                              (cons _%L61594%_
                                    (cons '1
                                          (cons '#f
                                                (cons (cons (gx#datum->syntax
                                                             '#f
                                                             'quote)
                                                            (cons _%L61595%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '()))
              '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         '#f
                         'f)
                        (cons (cons (gx#datum->syntax
                                     '#f
                                     '##unchecked-structure-ref)
                                    (cons _%L61594%_
                                          (cons _%L61593%_
                                                (cons '#f
                                                      (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           '#f
                           'quote)
                          (cons _%L61595%_ '()))
                    '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                              '()))
                  '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (cons (cons (gx#datum->syntax
                                                           '#f
                                                           '##apply)
                                                          (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         '#f
                         'f)
                        (cons (gx#datum->syntax '#f 'obj)
                              (foldr (lambda (_%g6163861641%_ _%g6163961644%_)
                                       (cons _%g6163861641%_ _%g6163961644%_))
                                     '()
                                     _%L61591%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    '())))
                                  '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            (gx#stx-source _%stx60145%_))))
                                     _%out6148861587%_
                                     _%hd6147561545%_
                                     _%hd6147261535%_
                                     _%hd6146961525%_
                                     _%hd6146661515%_
                                     _%hd6146361505%_)
                                    (_%g6145461494%_ _%g6145561498%_)))))))
                (_%loop6148361567%_ _%target6148061561%_ '()))
              (_%g6145461494%_ _%g6145561498%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            (_%g6145461494%_
                                             _%g6145561498%_))))
                                    (_%g6145461494%_ _%g6145561498%_))))
                            (_%g6145461494%_ _%g6145561498%_))))
                    (_%g6145461494%_ _%g6145561498%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (_%g6145461494%_
                                                     _%g6145561498%_))))
                                            (_%g6145461494%_
                                             _%g6145561498%_))))
                                    (_%g6145461494%_ _%g6145561498%_)))))
                        (_%g6145361647%_
                         (list _%Interface61444%_
                               _%method61447%_
                               (gx#stx-car _%method61447%_)
                               (gx#syntax-local-introduce 'self)
                               _%offset61449%_
                               (|gerbil/core/contract~Interface[1]#signature-arguments-out|
                                _%signature61451%_))))))))
          (let* ((_%g6015460178%_
                  (lambda (_%g6015560174%_)
                    (gx#raise-syntax-error
                     '#f
                     '"Bad syntax; invalid match target"
                     _%g6015560174%_)))
                 (_%g6015361440%_
                  (lambda (_%g6015560182%_)
                    (if (gx#stx-pair? _%g6015560182%_)
                        (let ((_%e6015860185%_ (gx#syntax-e _%g6015560182%_)))
                          (let ((_%hd6015960189%_
                                 (let ()
                                   (declare (not safe))
                                   (##car _%e6015860185%_)))
                                (_%tl6016060192%_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _%e6015860185%_))))
                            (if (gx#stx-pair? _%tl6016060192%_)
                                (let ((_%e6016160195%_
                                       (gx#syntax-e _%tl6016060192%_)))
                                  (let ((_%hd6016260199%_
                                         (let ()
                                           (declare (not safe))
                                           (##car _%e6016160195%_)))
                                        (_%tl6016360202%_
                                         (let ()
                                           (declare (not safe))
                                           (##cdr _%e6016160195%_))))
                                    (if (gx#stx-pair/null? _%tl6016360202%_)
                                        (let ((_g84099_
                                               (gx#syntax-split-splice
                                                _%tl6016360202%_
                                                '0)))
                                          (begin
                                            (let ((_g84100_
                                                   (let ()
                                                     (declare (not safe))
                                                     (if (##values? _g84099_)
                                                         (##vector-length
                                                          _g84099_)
                                                         1))))
                                              (if (not (let ()
                                                         (declare (not safe))
                                                         (##fx= _g84100_ 2)))
                                                  (error "Context expects 2 values"
                                                         _g84100_)))
                                            (let ((_%target6016460205%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##vector-ref
                                                      _g84099_
                                                      0)))
                                                  (_%tl6016660208%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##vector-ref
                                                      _g84099_
                                                      1))))
                                              (if (gx#stx-null?
                                                   _%tl6016660208%_)
                                                  (letrec ((_%loop6016760211%_
                                                            (lambda (_%hd6016560215%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             _%spec6017160218%_)
                      (if (gx#stx-pair? _%hd6016560215%_)
                          (let ((_%e6016860221%_
                                 (gx#syntax-e _%hd6016560215%_)))
                            (let ((_%lp-hd6016960225%_
                                   (let ()
                                     (declare (not safe))
                                     (##car _%e6016860221%_)))
                                  (_%lp-tl6017060228%_
                                   (let ()
                                     (declare (not safe))
                                     (##cdr _%e6016860221%_))))
                              (_%loop6016760211%_
                               _%lp-tl6017060228%_
                               (cons _%lp-hd6016960225%_ _%spec6017160218%_))))
                          (let ((_%spec6017260231%_
                                 (reverse _%spec6017160218%_)))
                            ((lambda (_%L60235%_ _%L60237%_)
                               (if (or (gx#identifier? _%L60237%_)
                                       (gx#identifier-list? _%L60237%_))
                                   (let* ((_%g6026060268%_
                                           (lambda (_%g6026160264%_)
                                             (gx#raise-syntax-error
                                              '#f
                                              '"Bad syntax; invalid match target"
                                              _%g6026160264%_)))
                                          (_%g6025961436%_
                                           (lambda (_%g6026160272%_)
                                             ((lambda (_%L60275%_)
                                                (let* ((_%g6028760295%_
                                                        (lambda (_%g6028860291%_)
                                                          (gx#raise-syntax-error
                                                           '#f
                                                           '"Bad syntax; invalid match target"
                                                           _%g6028860291%_)))
                                                       (_%g6028661432%_
                                                        (lambda (_%g6028860299%_)
                                                          ((lambda (_%L60302%_)
                                                             (let* ((_%g6031560323%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             (lambda (_%g6031660319%_)
                               (gx#raise-syntax-error
                                '#f
                                '"Bad syntax; invalid match target"
                                _%g6031660319%_)))
                            (_%g6031461428%_
                             (lambda (_%g6031660327%_)
                               ((lambda (_%L60330%_)
                                  (let* ((_%g6034360351%_
                                          (lambda (_%g6034460347%_)
                                            (gx#raise-syntax-error
                                             '#f
                                             '"Bad syntax; invalid match target"
                                             _%g6034460347%_)))
                                         (_%g6034261424%_
                                          (lambda (_%g6034460355%_)
                                            ((lambda (_%L60358%_)
                                               (let* ((_%g6037160379%_
                                                       (lambda (_%g6037260375%_)
                                                         (gx#raise-syntax-error
                                                          '#f
                                                          '"Bad syntax; invalid match target"
                                                          _%g6037260375%_)))
                                                      (_%g6037061420%_
                                                       (lambda (_%g6037260383%_)
                                                         ((lambda (_%L60386%_)
                                                            (let* ((_%g6039960407%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (lambda (_%g6040060403%_)
                              (gx#raise-syntax-error
                               '#f
                               '"Bad syntax; invalid match target"
                               _%g6040060403%_)))
                           (_%g6039861416%_
                            (lambda (_%g6040060411%_)
                              ((lambda (_%L60414%_)
                                 (let* ((_%g6042760435%_
                                         (lambda (_%g6042860431%_)
                                           (gx#raise-syntax-error
                                            '#f
                                            '"Bad syntax; invalid match target"
                                            _%g6042860431%_)))
                                        (_%g6042661412%_
                                         (lambda (_%g6042860439%_)
                                           ((lambda (_%L60442%_)
                                              (let* ((_%g6045560463%_
                                                      (lambda (_%g6045660459%_)
                                                        (gx#raise-syntax-error
                                                         '#f
                                                         '"Bad syntax; invalid match target"
                                                         _%g6045660459%_)))
                                                     (_%g6045461408%_
                                                      (lambda (_%g6045660467%_)
                                                        ((lambda (_%L60470%_)
                                                           (let* ((_%g6048360491%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           (lambda (_%g6048460487%_)
                             (gx#raise-syntax-error
                              '#f
                              '"Bad syntax; invalid match target"
                              _%g6048460487%_)))
                          (_%g6048261404%_
                           (lambda (_%g6048460495%_)
                             ((lambda (_%L60498%_)
                                (let* ((_%g6051160528%_
                                        (lambda (_%g6051260524%_)
                                          (gx#raise-syntax-error
                                           '#f
                                           '"Bad syntax; invalid match target"
                                           _%g6051260524%_)))
                                       (_%g6051061400%_
                                        (lambda (_%g6051260532%_)
                                          (if (gx#stx-pair/null?
                                               _%g6051260532%_)
                                              (let ((_g84101_
                                                     (gx#syntax-split-splice
                                                      _%g6051260532%_
                                                      '0)))
                                                (begin
                                                  (let ((_g84102_
                                                         (let ()
                                                           (declare (not safe))
                                                           (if (##values?
                                                                _g84101_)
                                                               (##vector-length
                                                                _g84101_)
                                                               1))))
                                                    (if (not (let ()
                                                               (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (not safe))
                       (##fx= _g84102_ 2)))
                (error "Context expects 2 values" _g84102_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (let ((_%target6051460535%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##vector-ref
                                                            _g84101_
                                                            0)))
                                                        (_%tl6051660538%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##vector-ref
                                                            _g84101_
                                                            1))))
                                                    (if (gx#stx-null?
                                                         _%tl6051660538%_)
                                                        (letrec ((_%loop6051760541%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (lambda (_%hd6051560545%_ _%mixin6052160548%_)
                            (if (gx#stx-pair? _%hd6051560545%_)
                                (let ((_%e6051860551%_
                                       (gx#syntax-e _%hd6051560545%_)))
                                  (let ((_%lp-hd6051960555%_
                                         (let ()
                                           (declare (not safe))
                                           (##car _%e6051860551%_)))
                                        (_%lp-tl6052060558%_
                                         (let ()
                                           (declare (not safe))
                                           (##cdr _%e6051860551%_))))
                                    (_%loop6051760541%_
                                     _%lp-tl6052060558%_
                                     (cons _%lp-hd6051960555%_
                                           _%mixin6052160548%_))))
                                (let ((_%mixin6052260561%_
                                       (reverse _%mixin6052160548%_)))
                                  ((lambda (_%L60565%_)
                                     (let* ((_%g6058260599%_
                                             (lambda (_%g6058360595%_)
                                               (gx#raise-syntax-error
                                                '#f
                                                '"Bad syntax; invalid match target"
                                                _%g6058360595%_)))
                                            (_%g6058161380%_
                                             (lambda (_%g6058360603%_)
                                               (if (gx#stx-pair/null?
                                                    _%g6058360603%_)
                                                   (let ((_g84103_
                                                          (gx#syntax-split-splice
                                                           _%g6058360603%_
                                                           '0)))
                                                     (begin
                                                       (let ((_g84104_
                                                              (let ()
                                                                (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (not safe))
                        (if (##values? _g84103_)
                            (##vector-length _g84103_)
                            1))))
                 (if (not (let () (declare (not safe)) (##fx= _g84104_ 2)))
                     (error "Context expects 2 values" _g84104_)))
               (let ((_%target6058560606%_
                      (let () (declare (not safe)) (##vector-ref _g84103_ 0)))
                     (_%tl6058760609%_
                      (let () (declare (not safe)) (##vector-ref _g84103_ 1))))
                 (if (gx#stx-null? _%tl6058760609%_)
                     (letrec ((_%loop6058860612%_
                               (lambda (_%hd6058660616%_ _%method6059260619%_)
                                 (if (gx#stx-pair? _%hd6058660616%_)
                                     (let ((_%e6058960622%_
                                            (gx#syntax-e _%hd6058660616%_)))
                                       (let ((_%lp-hd6059060626%_
                                              (let ()
                                                (declare (not safe))
                                                (##car _%e6058960622%_)))
                                             (_%lp-tl6059160629%_
                                              (let ()
                                                (declare (not safe))
                                                (##cdr _%e6058960622%_))))
                                         (_%loop6058860612%_
                                          _%lp-tl6059160629%_
                                          (cons _%lp-hd6059060626%_
                                                _%method6059260619%_))))
                                     (let ((_%method6059360632%_
                                            (reverse _%method6059260619%_)))
                                       ((lambda (_%L60636%_)
                                          (let* ((_%g6065360670%_
                                                  (lambda (_%g6065460666%_)
                                                    (gx#raise-syntax-error
                                                     '#f
                                                     '"Bad syntax; invalid match target"
                                                     _%g6065460666%_)))
                                                 (_%g6065261368%_
                                                  (lambda (_%g6065460674%_)
                                                    (if (gx#stx-pair/null?
                                                         _%g6065460674%_)
                                                        (let ((_g84105_
                                                               (gx#syntax-split-splice
                                                                _%g6065460674%_
                                                                '0)))
                                                          (begin
                                                            (let ((_g84106_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           (let ()
                             (declare (not safe))
                             (if (##values? _g84105_)
                                 (##vector-length _g84105_)
                                 1))))
                      (if (not (let ()
                                 (declare (not safe))
                                 (##fx= _g84106_ 2)))
                          (error "Context expects 2 values" _g84106_)))
                    (let ((_%target6065660677%_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g84105_ 0)))
                          (_%tl6065860680%_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g84105_ 1))))
                      (if (gx#stx-null? _%tl6065860680%_)
                          (letrec ((_%loop6065960683%_
                                    (lambda (_%hd6065760687%_
                                             _%method-name6066360690%_)
                                      (if (gx#stx-pair? _%hd6065760687%_)
                                          (let ((_%e6066060693%_
                                                 (gx#syntax-e
                                                  _%hd6065760687%_)))
                                            (let ((_%lp-hd6066160697%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e6066060693%_)))
                                                  (_%lp-tl6066260700%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e6066060693%_))))
                                              (_%loop6065960683%_
                                               _%lp-tl6066260700%_
                                               (cons _%lp-hd6066160697%_
                                                     _%method-name6066360690%_))))
                                          (let ((_%method-name6066460703%_
                                                 (reverse _%method-name6066360690%_)))
                                            ((lambda (_%L60707%_)
                                               (let* ((_%g6072460741%_
                                                       (lambda (_%g6072560737%_)
                                                         (gx#raise-syntax-error
                                                          '#f
                                                          '"Bad syntax; invalid match target"
                                                          _%g6072560737%_)))
                                                      (_%g6072361356%_
                                                       (lambda (_%g6072560745%_)
                                                         (if (gx#stx-pair/null?
                                                              _%g6072560745%_)
                                                             (let ((_g84107_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (gx#syntax-split-splice _%g6072560745%_ '0)))
                       (begin
                         (let ((_g84108_
                                (let ()
                                  (declare (not safe))
                                  (if (##values? _g84107_)
                                      (##vector-length _g84107_)
                                      1))))
                           (if (not (let ()
                                      (declare (not safe))
                                      (##fx= _g84108_ 2)))
                               (error "Context expects 2 values" _g84108_)))
                         (let ((_%target6072760748%_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _g84107_ 0)))
                               (_%tl6072960751%_
                                (let ()
                                  (declare (not safe))
                                  (##vector-ref _g84107_ 1))))
                           (if (gx#stx-null? _%tl6072960751%_)
                               (letrec ((_%loop6073060754%_
                                         (lambda (_%hd6072860758%_
                                                  _%method-signature6073460761%_)
                                           (if (gx#stx-pair? _%hd6072860758%_)
                                               (let ((_%e6073160764%_
                                                      (gx#syntax-e
                                                       _%hd6072860758%_)))
                                                 (let ((_%lp-hd6073260768%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _%e6073160764%_)))
                                                       (_%lp-tl6073360771%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _%e6073160764%_))))
                                                   (_%loop6073060754%_
                                                    _%lp-tl6073360771%_
                                                    (cons _%lp-hd6073260768%_
                                                          _%method-signature6073460761%_))))
                                               (let ((_%method-signature6073560774%_
                                                      (reverse _%method-signature6073460761%_)))
                                                 ((lambda (_%L60778%_)
                                                    (let* ((_%g6079560812%_
                                                            (lambda (_%g6079660808%_)
                                                              (gx#raise-syntax-error
                                                               '#f
                                                               '"Bad syntax; invalid match target"
                                                               _%g6079660808%_)))
                                                           (_%g6079461341%_
                                                            (lambda (_%g6079660816%_)
                                                              (if (gx#stx-pair/null?
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           _%g6079660816%_)
                          (let ((_g84109_
                                 (gx#syntax-split-splice _%g6079660816%_ '0)))
                            (begin
                              (let ((_g84110_
                                     (let ()
                                       (declare (not safe))
                                       (if (##values? _g84109_)
                                           (##vector-length _g84109_)
                                           1))))
                                (if (not (let ()
                                           (declare (not safe))
                                           (##fx= _g84110_ 2)))
                                    (error "Context expects 2 values"
                                           _g84110_)))
                              (let ((_%target6079860819%_
                                     (let ()
                                       (declare (not safe))
                                       (##vector-ref _g84109_ 0)))
                                    (_%tl6080060822%_
                                     (let ()
                                       (declare (not safe))
                                       (##vector-ref _g84109_ 1))))
                                (if (gx#stx-null? _%tl6080060822%_)
                                    (letrec ((_%loop6080160825%_
                                              (lambda (_%hd6079960829%_
                                                       _%method-impl-name6080560832%_)
                                                (if (gx#stx-pair?
                                                     _%hd6079960829%_)
                                                    (let ((_%e6080260835%_
                                                           (gx#syntax-e
                                                            _%hd6079960829%_)))
                                                      (let ((_%lp-hd6080360839%_
                                                             (let ()
                                                               (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (not safe))
                       (##car _%e6080260835%_)))
                    (_%lp-tl6080460842%_
                     (let () (declare (not safe)) (##cdr _%e6080260835%_))))
                (_%loop6080160825%_
                 _%lp-tl6080460842%_
                 (cons _%lp-hd6080360839%_ _%method-impl-name6080560832%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (let ((_%method-impl-name6080660845%_
                                                           (reverse _%method-impl-name6080560832%_)))
                                                      ((lambda (_%L60849%_)
                                                         (let* ((_%g6086660883%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (lambda (_%g6086760879%_)
                           (gx#raise-syntax-error
                            '#f
                            '"Bad syntax; invalid match target"
                            _%g6086760879%_)))
                        (_%g6086561326%_
                         (lambda (_%g6086760887%_)
                           (if (gx#stx-pair/null? _%g6086760887%_)
                               (let ((_g84111_
                                      (gx#syntax-split-splice
                                       _%g6086760887%_
                                       '0)))
                                 (begin
                                   (let ((_g84112_
                                          (let ()
                                            (declare (not safe))
                                            (if (##values? _g84111_)
                                                (##vector-length _g84111_)
                                                1))))
                                     (if (not (let ()
                                                (declare (not safe))
                                                (##fx= _g84112_ 2)))
                                         (error "Context expects 2 values"
                                                _g84112_)))
                                   (let ((_%target6086960890%_
                                          (let ()
                                            (declare (not safe))
                                            (##vector-ref _g84111_ 0)))
                                         (_%tl6087160893%_
                                          (let ()
                                            (declare (not safe))
                                            (##vector-ref _g84111_ 1))))
                                     (if (gx#stx-null? _%tl6087160893%_)
                                         (letrec ((_%loop6087260896%_
                                                   (lambda (_%hd6087060900%_
                                                            _%unchecked-method-impl-name6087660903%_)
                                                     (if (gx#stx-pair?
                                                          _%hd6087060900%_)
                                                         (let ((_%e6087360906%_
                                                                (gx#syntax-e
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%hd6087060900%_)))
                   (let ((_%lp-hd6087460910%_
                          (let ()
                            (declare (not safe))
                            (##car _%e6087360906%_)))
                         (_%lp-tl6087560913%_
                          (let ()
                            (declare (not safe))
                            (##cdr _%e6087360906%_))))
                     (_%loop6087260896%_
                      _%lp-tl6087560913%_
                      (cons _%lp-hd6087460910%_
                            _%unchecked-method-impl-name6087660903%_))))
                 (let ((_%unchecked-method-impl-name6087760916%_
                        (reverse _%unchecked-method-impl-name6087660903%_)))
                   ((lambda (_%L60920%_)
                      (let* ((_%g6093760954%_
                              (lambda (_%g6093860950%_)
                                (gx#raise-syntax-error
                                 '#f
                                 '"Bad syntax; invalid match target"
                                 _%g6093860950%_)))
                             (_%g6093661306%_
                              (lambda (_%g6093860958%_)
                                (if (gx#stx-pair/null? _%g6093860958%_)
                                    (let ((_g84113_
                                           (gx#syntax-split-splice
                                            _%g6093860958%_
                                            '0)))
                                      (begin
                                        (let ((_g84114_
                                               (let ()
                                                 (declare (not safe))
                                                 (if (##values? _g84113_)
                                                     (##vector-length _g84113_)
                                                     1))))
                                          (if (not (let ()
                                                     (declare (not safe))
                                                     (##fx= _g84114_ 2)))
                                              (error "Context expects 2 values"
                                                     _g84114_)))
                                        (let ((_%target6094060961%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##vector-ref _g84113_ 0)))
                                              (_%tl6094260964%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##vector-ref _g84113_ 1))))
                                          (if (gx#stx-null? _%tl6094260964%_)
                                              (letrec ((_%loop6094360967%_
                                                        (lambda (_%hd6094160971%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%defmethod-impl6094760974%_)
                  (if (gx#stx-pair? _%hd6094160971%_)
                      (let ((_%e6094460977%_ (gx#syntax-e _%hd6094160971%_)))
                        (let ((_%lp-hd6094560981%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6094460977%_)))
                              (_%lp-tl6094660984%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6094460977%_))))
                          (_%loop6094360967%_
                           _%lp-tl6094660984%_
                           (cons _%lp-hd6094560981%_
                                 _%defmethod-impl6094760974%_))))
                      (let ((_%defmethod-impl6094860987%_
                             (reverse _%defmethod-impl6094760974%_)))
                        ((lambda (_%L60991%_)
                           (let* ((_%g6100861016%_
                                   (lambda (_%g6100961012%_)
                                     (gx#raise-syntax-error
                                      '#f
                                      '"Bad syntax; invalid match target"
                                      _%g6100961012%_)))
                                  (_%g6100761286%_
                                   (lambda (_%g6100961020%_)
                                     ((lambda (_%L61023%_)
                                        (let* ((_%g6103661044%_
                                                (lambda (_%g6103761040%_)
                                                  (gx#raise-syntax-error
                                                   '#f
                                                   '"Bad syntax; invalid match target"
                                                   _%g6103761040%_)))
                                               (_%g6103561266%_
                                                (lambda (_%g6103761048%_)
                                                  ((lambda (_%L61051%_)
                                                     (let* ((_%g6106461072%_
                                                             (lambda (_%g6106561068%_)
                                                               (gx#raise-syntax-error
                                                                '#f
                                                                '"Bad syntax; invalid match target"
                                                                _%g6106561068%_)))
                                                            (_%g6106361262%_
                                                             (lambda (_%g6106561076%_)
                                                               ((lambda (_%L61079%_)
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (let* ((_%g6109261100%_
                                  (lambda (_%g6109361096%_)
                                    (gx#raise-syntax-error
                                     '#f
                                     '"Bad syntax; invalid match target"
                                     _%g6109361096%_)))
                                 (_%g6109161258%_
                                  (lambda (_%g6109361104%_)
                                    ((lambda (_%L61107%_)
                                       (let* ((_%g6112061128%_
                                               (lambda (_%g6112161124%_)
                                                 (gx#raise-syntax-error
                                                  '#f
                                                  '"Bad syntax; invalid match target"
                                                  _%g6112161124%_)))
                                              (_%g6111961254%_
                                               (lambda (_%g6112161132%_)
                                                 ((lambda (_%L61135%_)
                                                    (let* ((_%g6114861156%_
                                                            (lambda (_%g6114961152%_)
                                                              (gx#raise-syntax-error
                                                               '#f
                                                               '"Bad syntax; invalid match target"
                                                               _%g6114961152%_)))
                                                           (_%g6114761250%_
                                                            (lambda (_%g6114961160%_)
                                                              ((lambda (_%L61163%_)
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (let* ((_%g6117661184%_
                                 (lambda (_%g6117761180%_)
                                   (gx#raise-syntax-error
                                    '#f
                                    '"Bad syntax; invalid match target"
                                    _%g6117761180%_)))
                                (_%g6117561214%_
                                 (lambda (_%g6117761188%_)
                                   ((lambda (_%L61191%_)
                                      (cons (gx#datum->syntax '#f 'begin)
                                            (cons _%L61023%_
                                                  (cons _%L61051%_
                                                        (cons _%L61079%_
                                                              (cons _%L61107%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (cons _%L61135%_
                                  (cons _%L61163%_
                                        (cons _%L61191%_
                                              (foldr (lambda (_%g6120561208%_
                                                              _%g6120661211%_)
                                                       (cons _%g6120561208%_
                                                             _%g6120661211%_))
                                                     '()
                                                     _%L60991%_))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                    _%g6117761188%_))))
                           (_%g6117561214%_
                            (cons (gx#datum->syntax '#f 'defsyntax)
                                  (cons _%L60275%_
                                        (cons (cons (gx#datum->syntax
                                                     '#f
                                                     'make-interface-info)
                                                    (cons 'name:
                                                          (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               '#f
                               'quote)
                              (cons _%L60275%_ '()))
                        (cons 'interface-mixin:
                              (cons (cons (gx#datum->syntax '#f '@list)
                                          (foldr (lambda (_%g6122361226%_
                                                          _%g6122461229%_)
                                                   (cons (cons (gx#datum->syntax
                                                                '#f
                                                                'quote-syntax)
                                                               (cons _%g6122361226%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             '()))
                 _%g6122461229%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                 '()
                                                 _%L60565%_))
                                    (cons 'interface-methods:
                                          (cons (cons (gx#datum->syntax
                                                       '#f
                                                       'quote)
                                                      (cons (foldr (lambda (_%g6122161232%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                    _%g6122261235%_)
                             (cons _%g6122161232%_ _%g6122261235%_))
                           '()
                           _%L60636%_)
                    '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (cons 'instance-type:
                                                      (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           '#f
                           'quote-syntax)
                          (cons _%L60302%_ '()))
                    (cons 'interface-descriptor:
                          (cons (cons (gx#datum->syntax '#f 'quote-syntax)
                                      (cons _%L60386%_ '()))
                                (cons 'instance-constructor:
                                      (cons (cons (gx#datum->syntax
                                                   '#f
                                                   'quote-syntax)
                                                  (cons _%L60414%_ '()))
                                            (cons 'instance-try-constructor:
                                                  (cons (cons (gx#datum->syntax
                                                               '#f
                                                               'quote-syntax)
                                                              (cons _%L60442%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            '()))
                (cons 'instance-predicate:
                      (cons (cons (gx#datum->syntax '#f 'quote-syntax)
                                  (cons _%L60470%_ '()))
                            (cons 'instance-satisfies-predicate:
                                  (cons (cons (gx#datum->syntax
                                               '#f
                                               'quote-syntax)
                                              (cons _%L60498%_ '()))
                                        (cons 'implementation-methods:
                                              (cons (cons (gx#datum->syntax
                                                           '#f
                                                           '@list)
                                                          (foldr (lambda (_%g6121961238%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                  _%g6122061241%_)
                           (cons (cons (gx#datum->syntax '#f 'quote-syntax)
                                       (cons _%g6121961238%_ '()))
                                 _%g6122061241%_))
                         '()
                         _%L60849%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (cons 'unchecked-implementation-methods:
                                                          (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               '#f
                               '@list)
                              (foldr (lambda (_%g6121761244%_ _%g6121861247%_)
                                       (cons (cons (gx#datum->syntax
                                                    '#f
                                                    'quote-syntax)
                                                   (cons _%g6121761244%_ '()))
                                             _%g6121861247%_))
                                     '()
                                     _%L60920%_))
                        '())))))))))))))))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              '()))))))
                       _%g6114961160%_))))
              (_%g6114761250%_
               (cons (gx#datum->syntax '#f 'def)
                     (cons (cons _%L60498%_
                                 (cons (gx#datum->syntax '#f 'obj) '()))
                           (cons (cons (gx#datum->syntax '#f 'begin-annotation)
                                       (cons (cons (gx#datum->syntax
                                                    '#f
                                                    '@type.signature)
                                                   (cons 'return:
                                                         (cons (gx#datum->syntax
                                                                '#f
                                                                'boolean::t)
                                                               (cons 'effect:
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             (cons (cons (gx#datum->syntax '#f 'pure) '())
                                   (cons 'arguments:
                                         (cons (cons (gx#datum->syntax
                                                      '#f
                                                      't::t)
                                                     '())
                                               '())))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                             (cons (cons (gx#datum->syntax
                                                          '#f
                                                          'and)
                                                         (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                              '#f
                              'satisfies?)
                             (cons _%L60386%_
                                   (cons (gx#datum->syntax '#f 'obj) '())))
                       (cons '#t '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   '())))
                                 '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  _%g6112161132%_))))
                                         (_%g6111961254%_
                                          (cons (gx#datum->syntax '#f 'def)
                                                (cons _%L60470%_
                                                      (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           '#f
                           'begin-annotation)
                          (cons (cons (gx#datum->syntax '#f '@mop.predicate)
                                      (cons _%L60330%_ '()))
                                (cons (cons (gx#datum->syntax '#f 'lambda)
                                            (cons (cons (gx#datum->syntax
                                                         '#f
                                                         'obj)
                                                        '())
                                                  (cons (cons (gx#datum->syntax
                                                               '#f
                                                               'direct-instance?)
                                                              (cons _%L60302%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (cons (gx#datum->syntax '#f 'obj) '())))
                '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                      '())))
                    '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                     _%g6109361104%_))))
                            (_%g6109161258%_
                             (cons (gx#datum->syntax '#f 'def)
                                   (cons (cons _%L60442%_
                                               (cons (gx#datum->syntax
                                                      '#f
                                                      'obj)
                                                     '()))
                                         (cons (cons (gx#datum->syntax
                                                      '#f
                                                      'begin-annotation)
                                                     (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          '#f
                          '@type.signature)
                         (cons 'return:
                               (cons (gx#datum->syntax '#f 't::t)
                                     (cons 'effect:
                                           (cons (cons (gx#datum->syntax
                                                        '#f
                                                        'cast)
                                                       '())
                                                 (cons 'arguments:
                                                       (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            '#f
                            't::t)
                           '())
                     '())))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                   (cons (cons (gx#datum->syntax '#f 'try-cast)
                               (cons _%L60386%_
                                     (cons (gx#datum->syntax '#f 'obj) '())))
                         '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                               '()))))))
                        _%g6106561076%_))))
               (_%g6106361262%_
                (cons (gx#datum->syntax '#f 'def)
                      (cons (cons _%L60414%_
                                  (cons (gx#datum->syntax '#f 'obj) '()))
                            (cons (cons (gx#datum->syntax
                                         '#f
                                         'begin-annotation)
                                        (cons (cons (gx#datum->syntax
                                                     '#f
                                                     '@type.signature)
                                                    (cons 'return:
                                                          (cons _%L60330%_
                                                                (cons 'effect:
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                              (cons (cons (gx#datum->syntax '#f 'cast) '())
                                    (cons 'arguments:
                                          (cons (cons (gx#datum->syntax
                                                       '#f
                                                       't::t)
                                                      '())
                                                '())))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (cons (cons (gx#datum->syntax
                                                           '#f
                                                           'cast)
                                                          (cons _%L60386%_
                                                                (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               '#f
                               'obj)
                              '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    '())))
                                  '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   _%g6103761048%_))))
                                          (_%g6103561266%_
                                           (cons (gx#datum->syntax '#f 'def)
                                                 (cons _%L60386%_
                                                       (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            '#f
                            'begin-annotation)
                           (cons (cons (gx#datum->syntax '#f '@interface)
                                       (cons _%L60330%_
                                             (cons (foldr (lambda (_%g6127161274%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           _%g6127261277%_)
                    (cons _%g6127161274%_ _%g6127261277%_))
                  '()
                  _%L60707%_)
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   '())))
                                 (cons (cons (gx#datum->syntax
                                              '#f
                                              'make-interface-descriptor)
                                             (cons _%L60302%_
                                                   (cons (cons (gx#datum->syntax
                                                                '#f
                                                                'quote)
                                                               (cons (foldr (lambda (_%g6126961280%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                             _%g6127061283%_)
                                      (cons _%g6126961280%_ _%g6127061283%_))
                                    '()
                                    _%L60707%_)
                             '()))
                 '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                       '())))
                     '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                      _%g6100961020%_))))
                             (_%g6100761286%_
                              (cons (gx#datum->syntax '#f 'def)
                                    (cons _%L60302%_
                                          (cons (cons (gx#datum->syntax
                                                       '#f
                                                       'begin-annotation)
                                                      (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           '#f
                           '@mop.class)
                          (cons _%L60358%_
                                (cons (cons (gx#datum->syntax
                                             '#f
                                             'interface-instance::t)
                                            '())
                                      (cons (foldr (lambda (_%g6129161294%_
                                                            _%g6129261297%_)
                                                     (cons _%g6129161294%_
                                                           _%g6129261297%_))
                                                   '()
                                                   _%L60707%_)
                                            (cons '#f
                                                  (cons '#t
                                                        (cons '#t
                                                              (cons '#f
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            '()))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                    (cons (cons (gx#datum->syntax '#f 'make-class-type)
                                (cons (cons (gx#datum->syntax '#f 'quote)
                                            (cons _%L60358%_ '()))
                                      (cons (cons (gx#datum->syntax '#f 'quote)
                                                  (cons _%L60275%_ '()))
                                            (cons (cons (gx#datum->syntax
                                                         '#f
                                                         '@list)
                                                        (cons (gx#datum->syntax
                                                               '#f
                                                               'interface-instance::t)
                                                              '()))
                                                  (cons (cons (gx#datum->syntax
                                                               '#f
                                                               'quote)
                                                              (cons (foldr (lambda (_%g6128961300%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                            _%g6129061303%_)
                                     (cons _%g6128961300%_ _%g6129061303%_))
                                   '()
                                   _%L60707%_)
                            '()))
                (cons (cons (gx#datum->syntax '#f 'quote)
                            (cons (cons (cons 'final: '#t)
                                        (cons (cons 'struct: '#t) '()))
                                  '()))
                      (cons '#f '())))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                          '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                '()))))))
                         _%defmethod-impl6094860987%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (_%loop6094360967%_
                                                 _%target6094060961%_
                                                 '()))
                                              (_%g6093760954%_
                                               _%g6093860958%_)))))
                                    (_%g6093760954%_ _%g6093860958%_)))))
                        (_%g6093661306%_
                         (map (_%make-method-defs60152%_ _%L60275%_)
                              (foldr (lambda (_%g6130961312%_ _%g6131061315%_)
                                       (cons _%g6130961312%_ _%g6131061315%_))
                                     '()
                                     _%L60636%_)
                              (let ((__tmp84115
                                     (length (foldr (lambda (_%g6131761320%_
                                                             _%g6131861323%_)
                                                      (cons _%g6131761320%_
                                                            _%g6131861323%_))
                                                    '()
                                                    _%L60707%_))))
                                (declare (not safe))
                                (##iota __tmp84115 '2))))))
                    _%unchecked-method-impl-name6087760916%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                           (_%loop6087260896%_
                                            _%target6086960890%_
                                            '()))
                                         (_%g6086660883%_ _%g6086760887%_)))))
                               (_%g6086660883%_ _%g6086760887%_)))))
                   (_%g6086561326%_
                    (map (lambda (_%method-name61330%_)
                           (gx#stx-identifier
                            _%L60275%_
                            '"&"
                            _%L60275%_
                            '"-"
                            _%method-name61330%_))
                         (foldr (lambda (_%g6133261335%_ _%g6133361338%_)
                                  (cons _%g6133261335%_ _%g6133361338%_))
                                '()
                                _%L60707%_)))))
               _%method-impl-name6080660845%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                      (_%loop6080160825%_
                                       _%target6079860819%_
                                       '()))
                                    (_%g6079560812%_ _%g6079660816%_)))))
                          (_%g6079560812%_ _%g6079660816%_)))))
              (_%g6079461341%_
               (map (lambda (_%method-name61345%_)
                      (gx#stx-identifier
                       _%L60275%_
                       _%L60275%_
                       '"-"
                       _%method-name61345%_))
                    (foldr (lambda (_%g6134761350%_ _%g6134861353%_)
                             (cons _%g6134761350%_ _%g6134861353%_))
                           '()
                           _%L60707%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  _%method-signature6073560774%_))))))
                                 (_%loop6073060754%_ _%target6072760748%_ '()))
                               (_%g6072460741%_ _%g6072560745%_)))))
                     (_%g6072460741%_ _%g6072560745%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                 (_%g6072361356%_
                                                  (map gx#stx-cdr
                                                       (foldr (lambda (_%g6135961362%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               _%g6136061365%_)
                        (cons _%g6135961362%_ _%g6136061365%_))
                      '()
                      _%L60636%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                             _%method-name6066460703%_))))))
                            (_%loop6065960683%_ _%target6065660677%_ '()))
                          (_%g6065360670%_ _%g6065460674%_)))))
                (_%g6065360670%_ _%g6065460674%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            (_%g6065261368%_
                                             (map gx#stx-car
                                                  (foldr (lambda (_%g6137161374%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _%g6137261377%_)
                   (cons _%g6137161374%_ _%g6137261377%_))
                 '()
                 _%L60636%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                        _%method6059360632%_))))))
                       (_%loop6058860612%_ _%target6058560606%_ '()))
                     (_%g6058260599%_ _%g6058360603%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   (_%g6058260599%_
                                                    _%g6058360603%_)))))
                                       (_%g6058161380%_
                                        (_%fold-methods60148%_
                                         (foldr (lambda (_%g6138361386%_
                                                         _%g6138461389%_)
                                                  (cons _%g6138361386%_
                                                        _%g6138461389%_))
                                                '()
                                                _%L60565%_)
                                         (foldr (lambda (_%g6139161394%_
                                                         _%g6139261397%_)
                                                  (cons _%g6139161394%_
                                                        _%g6139261397%_))
                                                '()
                                                _%L60235%_)))))
                                   _%mixin6052260561%_))))))
                  (_%loop6051760541%_ _%target6051460535%_ '()))
                (_%g6051160528%_ _%g6051260532%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%g6051160528%_
                                               _%g6051260532%_)))))
                                  (_%g6051061400%_
                                   (if (gx#identifier? _%L60237%_)
                                       '()
                                       (gx#stx-cdr _%L60237%_)))))
                              _%g6048460495%_))))
                     (_%g6048261404%_
                      (gx#stx-identifier _%L60275%_ '"is-" _%L60275%_ '"?"))))
                 _%g6045660467%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (_%g6045461408%_
                                                 (gx#stx-identifier
                                                  _%L60275%_
                                                  _%L60275%_
                                                  '"?"))))
                                            _%g6042860439%_))))
                                   (_%g6042661412%_
                                    (gx#stx-identifier
                                     _%L60275%_
                                     '"try-"
                                     _%L60275%_))))
                               _%g6040060411%_))))
                      (_%g6039861416%_
                       (gx#stx-identifier _%L60275%_ '"make-" _%L60275%_))))
                  _%g6037260383%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                 (_%g6037061420%_
                                                  (gx#stx-identifier
                                                   _%L60275%_
                                                   _%L60275%_
                                                   '"::interface"))))
                                             _%g6034460355%_))))
                                    (_%g6034261424%_
                                     (let ()
                                       (declare (not safe))
                                       (|gerbil/core/mop~MOP-1[1]#make-class-type-id|
                                        _%L60275%_)))))
                                _%g6031660327%_))))
                       (_%g6031461428%_ (gx#core-quote-syntax _%L60302%_))))
                   _%g6028860299%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (_%g6028661432%_
                                                   (gx#stx-identifier
                                                    _%L60275%_
                                                    _%L60275%_
                                                    '"::t"))))
                                              _%g6026160272%_))))
                                     (_%g6025961436%_
                                      (if (gx#identifier? _%L60237%_)
                                          _%L60237%_
                                          (gx#stx-car _%L60237%_))))
                                   (_%g6015460178%_ _%g6015560182%_)))
                             _%spec6017260231%_
                             _%hd6016260199%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (_%loop6016760211%_
                                                     _%target6016460205%_
                                                     '()))
                                                  (_%g6015460178%_
                                                   _%g6015560182%_)))))
                                        (_%g6015460178%_ _%g6015560182%_))))
                                (_%g6015460178%_ _%g6015560182%_))))
                        (_%g6015460178%_ _%g6015560182%_)))))
            (_%g6015361440%_ _%stx60145%_)))))
    (define |gerbil/core/contract~Interface[:0:]#definterface-method|
      (lambda (_%stx61950%_)
        (letrec ((_%emit-raw-method?61953%_
                  (lambda (_%return62936%_)
                    (let ((_%return-type62939%_
                           (gx#syntax-local-value _%return62936%_)))
                      (if (and (let ()
                                 (declare (not safe))
                                 (class-instance?
                                  gerbil/core/mop~MOP-2#class-type-info::t
                                  _%return-type62939%_))
                               (let ((__tmp84116
                                      (let ((__obj83888 _%return-type62939%_))
                                        (if (let ()
                                              (declare (not safe))
                                              (##structure-direct-instance-of?
                                               __obj83888
                                               'gerbil.core#class-type-info::t))
                                            (let ()
                                              (declare (not safe))
                                              (##unchecked-structure-ref
                                               __obj83888
                                               '1
                                               '#f
                                               '#f))
                                            (unchecked-slot-ref
                                             __obj83888
                                             'id)))))
                                 (declare (not safe))
                                 (##memq __tmp84116 '(t void))))
                          '#f
                          '#t))))
                 (_%make-checked-method-def61955%_
                  (lambda (_%Interface62697%_
                           _%method-name62699%_
                           _%raw-method-name62700%_
                           _%unchecked-method-name62701%_
                           _%signature62702%_
                           _%return62703%_)
                    (let* ((_%g6270562753%_
                            (lambda (_%g6270662749%_)
                              (gx#raise-syntax-error
                               '#f
                               '"Bad syntax; invalid match target"
                               _%g6270662749%_)))
                           (_%g6270462932%_
                            (lambda (_%g6270662757%_)
                              (if (gx#stx-pair? _%g6270662757%_)
                                  (let ((_%e6271562760%_
                                         (gx#syntax-e _%g6270662757%_)))
                                    (let ((_%hd6271662764%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e6271562760%_)))
                                          (_%tl6271762767%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e6271562760%_))))
                                      (if (gx#stx-pair? _%tl6271762767%_)
                                          (let ((_%e6271862770%_
                                                 (gx#syntax-e
                                                  _%tl6271762767%_)))
                                            (let ((_%hd6271962774%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e6271862770%_)))
                                                  (_%tl6272062777%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e6271862770%_))))
                                              (if (gx#stx-pair?
                                                   _%tl6272062777%_)
                                                  (let ((_%e6272162780%_
                                                         (gx#syntax-e
                                                          _%tl6272062777%_)))
                                                    (let ((_%hd6272262784%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##car _%e6272162780%_)))
                                                          (_%tl6272362787%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##cdr _%e6272162780%_))))
                                                      (if (gx#stx-pair?
                                                           _%tl6272362787%_)
                                                          (let ((_%e6272462790%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (gx#syntax-e _%tl6272362787%_)))
                    (let ((_%hd6272562794%_
                           (let ()
                             (declare (not safe))
                             (##car _%e6272462790%_)))
                          (_%tl6272662797%_
                           (let ()
                             (declare (not safe))
                             (##cdr _%e6272462790%_))))
                      (if (gx#stx-pair? _%tl6272662797%_)
                          (let ((_%e6272762800%_
                                 (gx#syntax-e _%tl6272662797%_)))
                            (let ((_%hd6272862804%_
                                   (let ()
                                     (declare (not safe))
                                     (##car _%e6272762800%_)))
                                  (_%tl6272962807%_
                                   (let ()
                                     (declare (not safe))
                                     (##cdr _%e6272762800%_))))
                              (if (gx#stx-pair? _%tl6272962807%_)
                                  (let ((_%e6273062810%_
                                         (gx#syntax-e _%tl6272962807%_)))
                                    (let ((_%hd6273162814%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e6273062810%_)))
                                          (_%tl6273262817%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e6273062810%_))))
                                      (if (gx#stx-pair/null? _%hd6273162814%_)
                                          (let ((_g84117_
                                                 (gx#syntax-split-splice
                                                  _%hd6273162814%_
                                                  '0)))
                                            (begin
                                              (let ((_g84118_
                                                     (let ()
                                                       (declare (not safe))
                                                       (if (##values? _g84117_)
                                                           (##vector-length
                                                            _g84117_)
                                                           1))))
                                                (if (not (let ()
                                                           (declare (not safe))
                                                           (##fx= _g84118_ 2)))
                                                    (error "Context expects 2 values"
                                                           _g84118_)))
                                              (let ((_%target6273362820%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##vector-ref
                                                        _g84117_
                                                        0)))
                                                    (_%tl6273562823%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##vector-ref
                                                        _g84117_
                                                        1))))
                                                (if (gx#stx-null?
                                                     _%tl6273562823%_)
                                                    (letrec ((_%loop6273662826%_
                                                              (lambda (_%hd6273462830%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               _%out6274062833%_)
                        (if (gx#stx-pair? _%hd6273462830%_)
                            (let ((_%e6273762836%_
                                   (gx#syntax-e _%hd6273462830%_)))
                              (let ((_%lp-hd6273862840%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%e6273762836%_)))
                                    (_%lp-tl6273962843%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%e6273762836%_))))
                                (_%loop6273662826%_
                                 _%lp-tl6273962843%_
                                 (cons _%lp-hd6273862840%_
                                       _%out6274062833%_))))
                            (let ((_%out6274162846%_
                                   (reverse _%out6274062833%_)))
                              (if (gx#stx-pair? _%tl6273262817%_)
                                  (let ((_%e6274262850%_
                                         (gx#syntax-e _%tl6273262817%_)))
                                    (let ((_%hd6274362854%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e6274262850%_)))
                                          (_%tl6274462857%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e6274262850%_))))
                                      (if (gx#stx-pair? _%tl6274462857%_)
                                          (let ((_%e6274562860%_
                                                 (gx#syntax-e
                                                  _%tl6274462857%_)))
                                            (let ((_%hd6274662864%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e6274562860%_)))
                                                  (_%tl6274762867%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e6274562860%_))))
                                              (if (gx#stx-null?
                                                   _%tl6274762867%_)
                                                  ((lambda (_%L62870%_
                                                            _%L62872%_
                                                            _%L62873%_
                                                            _%L62874%_
                                                            _%L62875%_
                                                            _%L62876%_
                                                            _%L62877%_
                                                            _%L62878%_)
                                                     (if (gx#stx-list?
                                                          _%L62872%_)
                                                         (gx#stx-wrap-source
                                                          (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         '#f
                         'def)
                        (cons (cons _%L62877%_ (cons _%L62875%_ _%L62874%_))
                              (cons (cons (gx#datum->syntax
                                           '#f
                                           'with-interface-checked-method)
                                          (cons _%L62875%_
                                                (cons (cons _%L62878%_
                                                            (cons _%L62872%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons _%L62870%_ (cons _%L62876%_ '()))))
              (cons (cons (gx#datum->syntax '#f ':-)
                          (cons (cons _%L62876%_
                                      (cons _%L62875%_
                                            (foldr (lambda (_%g6291562918%_
                                                            _%g6291662921%_)
                                                     (cons _%g6291562918%_
                                                           _%g6291662921%_))
                                                   '()
                                                   _%L62873%_)))
                                (cons _%L62870%_ '())))
                    '()))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                    '())))
                  (gx#stx-source _%stx61950%_))
                 (gx#stx-wrap-source
                  (cons (gx#datum->syntax '#f 'def)
                        (cons (cons _%L62877%_ (cons _%L62875%_ _%L62874%_))
                              (cons (cons (gx#datum->syntax
                                           '#f
                                           'with-interface-checked-method)
                                          (cons _%L62875%_
                                                (cons (cons _%L62878%_
                                                            (cons _%L62872%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons _%L62870%_ (cons _%L62876%_ '()))))
              (cons (cons (gx#datum->syntax '#f ':-)
                          (cons (cons (gx#datum->syntax '#f '##apply)
                                      (cons _%L62876%_
                                            (cons _%L62875%_
                                                  (foldr (lambda (_%g6292362926%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _%g6292462929%_)
                   (cons _%g6292362926%_ _%g6292462929%_))
                 '()
                 _%L62873%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                (cons _%L62870%_ '())))
                    '()))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                    '())))
                  (gx#stx-source _%stx61950%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   _%hd6274662864%_
                                                   _%hd6274362854%_
                                                   _%out6274162846%_
                                                   _%hd6272862804%_
                                                   _%hd6272562794%_
                                                   _%hd6272262784%_
                                                   _%hd6271962774%_
                                                   _%hd6271662764%_)
                                                  (_%g6270562753%_
                                                   _%g6270662757%_))))
                                          (_%g6270562753%_ _%g6270662757%_))))
                                  (_%g6270562753%_ _%g6270662757%_)))))))
              (_%loop6273662826%_ _%target6273362820%_ '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (_%g6270562753%_
                                                     _%g6270662757%_)))))
                                          (_%g6270562753%_ _%g6270662757%_))))
                                  (_%g6270562753%_ _%g6270662757%_))))
                          (_%g6270562753%_ _%g6270662757%_))))
                  (_%g6270562753%_ _%g6270662757%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (_%g6270562753%_
                                                   _%g6270662757%_))))
                                          (_%g6270562753%_ _%g6270662757%_))))
                                  (_%g6270562753%_ _%g6270662757%_)))))
                      (_%g6270462932%_
                       (list _%Interface62697%_
                             _%method-name62699%_
                             (if (_%emit-raw-method?61953%_ _%return62703%_)
                                 _%raw-method-name62700%_
                                 _%unchecked-method-name62701%_)
                             (gx#syntax-local-introduce 'self)
                             (|gerbil/core/contract~Interface[1]#signature-arguments-in|
                              _%signature62702%_)
                             (|gerbil/core/contract~Interface[1]#signature-arguments-out|
                              _%signature62702%_)
                             _%signature62702%_
                             _%return62703%_)))))
                 (_%make-raw-method-def61956%_
                  (lambda (_%Interface62459%_
                           _%raw-method-name62461%_
                           _%unchecked-method-name62462%_
                           _%signature62463%_
                           _%return62464%_)
                    (if (_%emit-raw-method?61953%_ _%return62464%_)
                        (let* ((_%g6246662514%_
                                (lambda (_%g6246762510%_)
                                  (gx#raise-syntax-error
                                   '#f
                                   '"Bad syntax; invalid match target"
                                   _%g6246762510%_)))
                               (_%g6246562693%_
                                (lambda (_%g6246762518%_)
                                  (if (gx#stx-pair? _%g6246762518%_)
                                      (let ((_%e6247662521%_
                                             (gx#syntax-e _%g6246762518%_)))
                                        (let ((_%hd6247762525%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e6247662521%_)))
                                              (_%tl6247862528%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e6247662521%_))))
                                          (if (gx#stx-pair? _%tl6247862528%_)
                                              (let ((_%e6247962531%_
                                                     (gx#syntax-e
                                                      _%tl6247862528%_)))
                                                (let ((_%hd6248062535%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e6247962531%_)))
                                                      (_%tl6248162538%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e6247962531%_))))
                                                  (if (gx#stx-pair?
                                                       _%tl6248162538%_)
                                                      (let ((_%e6248262541%_
                                                             (gx#syntax-e
                                                              _%tl6248162538%_)))
                                                        (let ((_%hd6248362545%_
                                                               (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (declare (not safe))
                         (##car _%e6248262541%_)))
                      (_%tl6248462548%_
                       (let () (declare (not safe)) (##cdr _%e6248262541%_))))
                  (if (gx#stx-pair? _%tl6248462548%_)
                      (let ((_%e6248562551%_ (gx#syntax-e _%tl6248462548%_)))
                        (let ((_%hd6248662555%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6248562551%_)))
                              (_%tl6248762558%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6248562551%_))))
                          (if (gx#stx-pair? _%tl6248762558%_)
                              (let ((_%e6248862561%_
                                     (gx#syntax-e _%tl6248762558%_)))
                                (let ((_%hd6248962565%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e6248862561%_)))
                                      (_%tl6249062568%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e6248862561%_))))
                                  (if (gx#stx-pair? _%tl6249062568%_)
                                      (let ((_%e6249162571%_
                                             (gx#syntax-e _%tl6249062568%_)))
                                        (let ((_%hd6249262575%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e6249162571%_)))
                                              (_%tl6249362578%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e6249162571%_))))
                                          (if (gx#stx-pair/null?
                                               _%hd6249262575%_)
                                              (let ((_g84119_
                                                     (gx#syntax-split-splice
                                                      _%hd6249262575%_
                                                      '0)))
                                                (begin
                                                  (let ((_g84120_
                                                         (let ()
                                                           (declare (not safe))
                                                           (if (##values?
                                                                _g84119_)
                                                               (##vector-length
                                                                _g84119_)
                                                               1))))
                                                    (if (not (let ()
                                                               (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (not safe))
                       (##fx= _g84120_ 2)))
                (error "Context expects 2 values" _g84120_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (let ((_%target6249462581%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##vector-ref
                                                            _g84119_
                                                            0)))
                                                        (_%tl6249662584%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##vector-ref
                                                            _g84119_
                                                            1))))
                                                    (if (gx#stx-null?
                                                         _%tl6249662584%_)
                                                        (letrec ((_%loop6249762587%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (lambda (_%hd6249562591%_ _%out6250162594%_)
                            (if (gx#stx-pair? _%hd6249562591%_)
                                (let ((_%e6249862597%_
                                       (gx#syntax-e _%hd6249562591%_)))
                                  (let ((_%lp-hd6249962601%_
                                         (let ()
                                           (declare (not safe))
                                           (##car _%e6249862597%_)))
                                        (_%lp-tl6250062604%_
                                         (let ()
                                           (declare (not safe))
                                           (##cdr _%e6249862597%_))))
                                    (_%loop6249762587%_
                                     _%lp-tl6250062604%_
                                     (cons _%lp-hd6249962601%_
                                           _%out6250162594%_))))
                                (let ((_%out6250262607%_
                                       (reverse _%out6250162594%_)))
                                  (if (gx#stx-pair? _%tl6249362578%_)
                                      (let ((_%e6250362611%_
                                             (gx#syntax-e _%tl6249362578%_)))
                                        (let ((_%hd6250462615%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e6250362611%_)))
                                              (_%tl6250562618%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e6250362611%_))))
                                          (if (gx#stx-pair? _%tl6250562618%_)
                                              (let ((_%e6250662621%_
                                                     (gx#syntax-e
                                                      _%tl6250562618%_)))
                                                (let ((_%hd6250762625%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e6250662621%_)))
                                                      (_%tl6250862628%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e6250662621%_))))
                                                  (if (gx#stx-null?
                                                       _%tl6250862628%_)
                                                      ((lambda (_%L62631%_
                                                                _%L62633%_
                                                                _%L62634%_
                                                                _%L62635%_
                                                                _%L62636%_
                                                                _%L62637%_
                                                                _%L62638%_
                                                                _%L62639%_)
                                                         (if (gx#stx-list?
                                                              _%L62633%_)
                                                             (gx#stx-wrap-source
                                                              (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             '#f
                             'def)
                            (cons (cons _%L62638%_
                                        (cons _%L62636%_ _%L62635%_))
                                  (cons (cons (gx#datum->syntax
                                               '#f
                                               'with-interface-unchecked-method)
                                              (cons _%L62636%_
                                                    (cons (cons _%L62639%_
                                                                (cons _%L62633%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                              (cons _%L62631%_ '())))
                  (cons (cons (gx#datum->syntax '#f ':)
                              (cons (cons _%L62637%_
                                          (cons _%L62636%_
                                                (foldr (lambda (_%g6267662679%_
                                                                _%g6267762682%_)
                                                         (cons _%g6267662679%_
                                                               _%g6267762682%_))
                                                       '()
                                                       _%L62634%_)))
                                    (cons _%L62631%_ '())))
                        '()))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                        '())))
                      (gx#stx-source _%stx61950%_))
                     (gx#stx-wrap-source
                      (cons (gx#datum->syntax '#f 'def)
                            (cons (cons _%L62638%_
                                        (cons _%L62636%_ _%L62635%_))
                                  (cons (cons (gx#datum->syntax
                                               '#f
                                               'with-interface-unchecked-method)
                                              (cons _%L62636%_
                                                    (cons (cons _%L62639%_
                                                                (cons _%L62633%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                              (cons _%L62631%_ '())))
                  (cons (cons (gx#datum->syntax '#f ':)
                              (cons (cons (gx#datum->syntax '#f '##apply)
                                          (cons _%L62637%_
                                                (cons _%L62636%_
                                                      (foldr (lambda (_%g6268462687%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                              _%g6268562690%_)
                       (cons _%g6268462687%_ _%g6268562690%_))
                     '()
                     _%L62634%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                    (cons _%L62631%_ '())))
                        '()))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                        '())))
                      (gx#stx-source _%stx61950%_))))
               _%hd6250762625%_
               _%hd6250462615%_
               _%out6250262607%_
               _%hd6248962565%_
               _%hd6248662555%_
               _%hd6248362545%_
               _%hd6248062535%_
               _%hd6247762525%_)
              (_%g6246662514%_ _%g6246762518%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%g6246662514%_
                                               _%g6246762518%_))))
                                      (_%g6246662514%_ _%g6246762518%_)))))))
                  (_%loop6249762587%_ _%target6249462581%_ '()))
                (_%g6246662514%_ _%g6246762518%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%g6246662514%_
                                               _%g6246762518%_))))
                                      (_%g6246662514%_ _%g6246762518%_))))
                              (_%g6246662514%_ _%g6246762518%_))))
                      (_%g6246662514%_ _%g6246762518%_))))
              (_%g6246662514%_ _%g6246762518%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%g6246662514%_
                                               _%g6246762518%_))))
                                      (_%g6246662514%_ _%g6246762518%_)))))
                          (_%g6246562693%_
                           (list _%Interface62459%_
                                 _%raw-method-name62461%_
                                 _%unchecked-method-name62462%_
                                 (gx#syntax-local-introduce 'self)
                                 (|gerbil/core/contract~Interface[1]#signature-arguments-in|
                                  _%signature62463%_)
                                 (|gerbil/core/contract~Interface[1]#signature-arguments-out|
                                  _%signature62463%_)
                                 _%signature62463%_
                                 _%return62464%_)))
                        '(begin))))
                 (_%make-unchecked-method-def61957%_
                  (lambda (_%Interface62247%_
                           _%unchecked-method-name62249%_
                           _%signature62250%_
                           _%return62251%_
                           _%body62252%_)
                    (let* ((_%g6225462298%_
                            (lambda (_%g6225562294%_)
                              (gx#raise-syntax-error
                               '#f
                               '"Bad syntax; invalid match target"
                               _%g6225562294%_)))
                           (_%g6225362455%_
                            (lambda (_%g6225562302%_)
                              (if (gx#stx-pair? _%g6225562302%_)
                                  (let ((_%e6226362305%_
                                         (gx#syntax-e _%g6225562302%_)))
                                    (let ((_%hd6226462309%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e6226362305%_)))
                                          (_%tl6226562312%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e6226362305%_))))
                                      (if (gx#stx-pair? _%tl6226562312%_)
                                          (let ((_%e6226662315%_
                                                 (gx#syntax-e
                                                  _%tl6226562312%_)))
                                            (let ((_%hd6226762319%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e6226662315%_)))
                                                  (_%tl6226862322%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e6226662315%_))))
                                              (if (gx#stx-pair?
                                                   _%tl6226862322%_)
                                                  (let ((_%e6226962325%_
                                                         (gx#syntax-e
                                                          _%tl6226862322%_)))
                                                    (let ((_%hd6227062329%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##car _%e6226962325%_)))
                                                          (_%tl6227162332%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##cdr _%e6226962325%_))))
                                                      (if (gx#stx-pair?
                                                           _%tl6227162332%_)
                                                          (let ((_%e6227262335%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (gx#syntax-e _%tl6227162332%_)))
                    (let ((_%hd6227362339%_
                           (let ()
                             (declare (not safe))
                             (##car _%e6227262335%_)))
                          (_%tl6227462342%_
                           (let ()
                             (declare (not safe))
                             (##cdr _%e6227262335%_))))
                      (if (gx#stx-pair? _%tl6227462342%_)
                          (let ((_%e6227562345%_
                                 (gx#syntax-e _%tl6227462342%_)))
                            (let ((_%hd6227662349%_
                                   (let ()
                                     (declare (not safe))
                                     (##car _%e6227562345%_)))
                                  (_%tl6227762352%_
                                   (let ()
                                     (declare (not safe))
                                     (##cdr _%e6227562345%_))))
                              (if (gx#stx-pair? _%tl6227762352%_)
                                  (let ((_%e6227862355%_
                                         (gx#syntax-e _%tl6227762352%_)))
                                    (let ((_%hd6227962359%_
                                           (let ()
                                             (declare (not safe))
                                             (##car _%e6227862355%_)))
                                          (_%tl6228062362%_
                                           (let ()
                                             (declare (not safe))
                                             (##cdr _%e6227862355%_))))
                                      (if (gx#stx-pair? _%tl6228062362%_)
                                          (let ((_%e6228162365%_
                                                 (gx#syntax-e
                                                  _%tl6228062362%_)))
                                            (let ((_%hd6228262369%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##car _%e6228162365%_)))
                                                  (_%tl6228362372%_
                                                   (let ()
                                                     (declare (not safe))
                                                     (##cdr _%e6228162365%_))))
                                              (if (gx#stx-pair/null?
                                                   _%hd6228262369%_)
                                                  (let ((_g84121_
                                                         (gx#syntax-split-splice
                                                          _%hd6228262369%_
                                                          '0)))
                                                    (begin
                                                      (let ((_g84122_
                                                             (let ()
                                                               (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (not safe))
                       (if (##values? _g84121_)
                           (##vector-length _g84121_)
                           1))))
                (if (not (let () (declare (not safe)) (##fx= _g84122_ 2)))
                    (error "Context expects 2 values" _g84122_)))
              (let ((_%target6228462375%_
                     (let () (declare (not safe)) (##vector-ref _g84121_ 0)))
                    (_%tl6228662378%_
                     (let () (declare (not safe)) (##vector-ref _g84121_ 1))))
                (if (gx#stx-null? _%tl6228662378%_)
                    (letrec ((_%loop6228762381%_
                              (lambda (_%hd6228562385%_ _%body6229162388%_)
                                (if (gx#stx-pair? _%hd6228562385%_)
                                    (let ((_%e6228862391%_
                                           (gx#syntax-e _%hd6228562385%_)))
                                      (let ((_%lp-hd6228962395%_
                                             (let ()
                                               (declare (not safe))
                                               (##car _%e6228862391%_)))
                                            (_%lp-tl6229062398%_
                                             (let ()
                                               (declare (not safe))
                                               (##cdr _%e6228862391%_))))
                                        (_%loop6228762381%_
                                         _%lp-tl6229062398%_
                                         (cons _%lp-hd6228962395%_
                                               _%body6229162388%_))))
                                    (let ((_%body6229262401%_
                                           (reverse _%body6229162388%_)))
                                      (if (gx#stx-null? _%tl6228362372%_)
                                          ((lambda (_%L62405%_
                                                    _%L62407%_
                                                    _%L62408%_
                                                    _%L62409%_
                                                    _%L62410%_
                                                    _%L62411%_
                                                    _%L62412%_)
                                             (gx#stx-wrap-source
                                              (cons (gx#datum->syntax '#f 'def)
                                                    (cons (cons _%L62411%_
                                                                (cons _%L62410%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                              _%L62409%_))
                  (cons (cons (gx#datum->syntax
                               '#f
                               'with-interface-unchecked-method)
                              (cons _%L62410%_
                                    (cons (cons _%L62412%_
                                                (cons _%L62408%_
                                                      (cons _%L62407%_ '())))
                                          (cons (cons (gx#datum->syntax
                                                       '#f
                                                       ':-)
                                                      (cons (cons (gx#datum->syntax
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           '#f
                           'let)
                          (cons '()
                                (foldr (lambda (_%g6244662449%_
                                                _%g6244762452%_)
                                         (cons _%g6244662449%_
                                               _%g6244762452%_))
                                       '()
                                       _%L62405%_)))
                    (cons _%L62407%_ '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                '()))))
                        '())))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (gx#stx-source _%stx61950%_)))
                                           _%body6229262401%_
                                           _%hd6227962359%_
                                           _%hd6227662349%_
                                           _%hd6227362339%_
                                           _%hd6227062329%_
                                           _%hd6226762319%_
                                           _%hd6226462309%_)
                                          (_%g6225462298%_
                                           _%g6225562302%_)))))))
                      (_%loop6228762381%_ _%target6228462375%_ '()))
                    (_%g6225462298%_ _%g6225562302%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (_%g6225462298%_
                                                   _%g6225562302%_))))
                                          (_%g6225462298%_ _%g6225562302%_))))
                                  (_%g6225462298%_ _%g6225562302%_))))
                          (_%g6225462298%_ _%g6225562302%_))))
                  (_%g6225462298%_ _%g6225562302%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  (_%g6225462298%_
                                                   _%g6225562302%_))))
                                          (_%g6225462298%_ _%g6225562302%_))))
                                  (_%g6225462298%_ _%g6225562302%_)))))
                      (_%g6225362455%_
                       (list _%Interface62247%_
                             _%unchecked-method-name62249%_
                             (gx#syntax-local-introduce 'self)
                             (|gerbil/core/contract~Interface[1]#signature-arguments-in|
                              _%signature62250%_)
                             _%signature62250%_
                             _%return62251%_
                             _%body62252%_))))))
          (let* ((_%g6195961998%_
                  (lambda (_%g6196061994%_)
                    (gx#raise-syntax-error
                     '#f
                     '"Bad syntax; invalid match target"
                     _%g6196061994%_)))
                 (_%g6195862243%_
                  (lambda (_%g6196062002%_)
                    (if (gx#stx-pair? _%g6196062002%_)
                        (let ((_%e6196662005%_ (gx#syntax-e _%g6196062002%_)))
                          (let ((_%hd6196762009%_
                                 (let ()
                                   (declare (not safe))
                                   (##car _%e6196662005%_)))
                                (_%tl6196862012%_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _%e6196662005%_))))
                            (if (gx#stx-pair? _%tl6196862012%_)
                                (let ((_%e6196962015%_
                                       (gx#syntax-e _%tl6196862012%_)))
                                  (let ((_%hd6197062019%_
                                         (let ()
                                           (declare (not safe))
                                           (##car _%e6196962015%_)))
                                        (_%tl6197162022%_
                                         (let ()
                                           (declare (not safe))
                                           (##cdr _%e6196962015%_))))
                                    (if (gx#stx-pair? _%tl6197162022%_)
                                        (let ((_%e6197262025%_
                                               (gx#syntax-e _%tl6197162022%_)))
                                          (let ((_%hd6197362029%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##car _%e6197262025%_)))
                                                (_%tl6197462032%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##cdr _%e6197262025%_))))
                                            (if (gx#stx-pair? _%hd6197362029%_)
                                                (let ((_%e6197562035%_
                                                       (gx#syntax-e
                                                        _%hd6197362029%_)))
                                                  (let ((_%hd6197662039%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##car _%e6197562035%_)))
                                                        (_%tl6197762042%_
                                                         (let ()
                                                           (declare (not safe))
                                                           (##cdr _%e6197562035%_))))
                                                    (if (gx#stx-pair?
                                                         _%tl6197762042%_)
                                                        (let ((_%e6197862045%_
                                                               (gx#syntax-e
                                                                _%tl6197762042%_)))
                                                          (let ((_%hd6197962049%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (let () (declare (not safe)) (##car _%e6197862045%_)))
                        (_%tl6198062052%_
                         (let ()
                           (declare (not safe))
                           (##cdr _%e6197862045%_))))
                    (if (gx#stx-pair? _%tl6198062052%_)
                        (let ((_%e6198162055%_ (gx#syntax-e _%tl6198062052%_)))
                          (let ((_%hd6198262059%_
                                 (let ()
                                   (declare (not safe))
                                   (##car _%e6198162055%_)))
                                (_%tl6198362062%_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _%e6198162055%_))))
                            (if (gx#stx-null? _%tl6198362062%_)
                                (if (gx#stx-pair/null? _%tl6197462032%_)
                                    (let ((_g84123_
                                           (gx#syntax-split-splice
                                            _%tl6197462032%_
                                            '0)))
                                      (begin
                                        (let ((_g84124_
                                               (let ()
                                                 (declare (not safe))
                                                 (if (##values? _g84123_)
                                                     (##vector-length _g84123_)
                                                     1))))
                                          (if (not (let ()
                                                     (declare (not safe))
                                                     (##fx= _g84124_ 2)))
                                              (error "Context expects 2 values"
                                                     _g84124_)))
                                        (let ((_%target6198462065%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##vector-ref _g84123_ 0)))
                                              (_%tl6198662068%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##vector-ref _g84123_ 1))))
                                          (if (gx#stx-null? _%tl6198662068%_)
                                              (letrec ((_%loop6198762071%_
                                                        (lambda (_%hd6198562075%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%body6199162078%_)
                  (if (gx#stx-pair? _%hd6198562075%_)
                      (let ((_%e6198862081%_ (gx#syntax-e _%hd6198562075%_)))
                        (let ((_%lp-hd6198962085%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6198862081%_)))
                              (_%lp-tl6199062088%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6198862081%_))))
                          (_%loop6198762071%_
                           _%lp-tl6199062088%_
                           (cons _%lp-hd6198962085%_ _%body6199162078%_))))
                      (let ((_%body6199262091%_ (reverse _%body6199162078%_)))
                        ((lambda (_%L62095%_
                                  _%L62097%_
                                  _%L62098%_
                                  _%L62099%_
                                  _%L62100%_)
                           (if (and (let ()
                                      (declare (not safe))
                                      (gerbil/core/contract~InterfaceInfo#syntax-local-interface-info?__0
                                       _%L62100%_))
                                    (gx#identifier? _%L62099%_))
                               (let* ((_%info62130%_
                                       (gx#syntax-local-value _%L62100%_))
                                      (_%interface-name62133%_
                                       (let ((__obj83889 _%info62130%_))
                                         (if (let ()
                                               (declare (not safe))
                                               (##structure-direct-instance-of?
                                                __obj83889
                                                'gerbil/core/contract~InterfaceInfo#interface-info::t))
                                             (let ()
                                               (declare (not safe))
                                               (##unchecked-structure-ref
                                                __obj83889
                                                '1
                                                '#f
                                                '#f))
                                             (class-slot-ref
                                              gerbil/core/contract~InterfaceInfo#interface-info::t
                                              __obj83889
                                              'name))))
                                      (_%method-name62136%_
                                       (gx#stx-identifier
                                        _%L62100%_
                                        _%interface-name62133%_
                                        '"-"
                                        _%L62099%_))
                                      (_%raw-method-name62139%_
                                       (gx#stx-identifier
                                        _%L62100%_
                                        '"__"
                                        _%method-name62136%_))
                                      (_%unchecked-method-name62142%_
                                       (gx#stx-identifier
                                        _%L62100%_
                                        '"&"
                                        _%method-name62136%_)))
                                 (|gerbil/core/contract~Interface[1]#check-signature!__%|
                                  '#f
                                  absent-value
                                  absent-value
                                  _%stx61950%_
                                  _%L62098%_
                                  _%L62097%_)
                                 (let* ((_%g6214762166%_
                                         (lambda (_%g6214862162%_)
                                           (gx#raise-syntax-error
                                            '#f
                                            '"Bad syntax; invalid match target"
                                            _%g6214862162%_)))
                                        (_%g6214662231%_
                                         (lambda (_%g6214862170%_)
                                           (if (gx#stx-pair? _%g6214862170%_)
                                               (let ((_%e6215262173%_
                                                      (gx#syntax-e
                                                       _%g6214862170%_)))
                                                 (let ((_%hd6215362177%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _%e6215262173%_)))
                                                       (_%tl6215462180%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _%e6215262173%_))))
                                                   (if (gx#stx-pair?
                                                        _%tl6215462180%_)
                                                       (let ((_%e6215562183%_
                                                              (gx#syntax-e
                                                               _%tl6215462180%_)))
                                                         (let ((_%hd6215662187%_
                                                                (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (declare (not safe))
                          (##car _%e6215562183%_)))
                       (_%tl6215762190%_
                        (let () (declare (not safe)) (##cdr _%e6215562183%_))))
                   (if (gx#stx-pair? _%tl6215762190%_)
                       (let ((_%e6215862193%_ (gx#syntax-e _%tl6215762190%_)))
                         (let ((_%hd6215962197%_
                                (let ()
                                  (declare (not safe))
                                  (##car _%e6215862193%_)))
                               (_%tl6216062200%_
                                (let ()
                                  (declare (not safe))
                                  (##cdr _%e6215862193%_))))
                           (if (gx#stx-null? _%tl6216062200%_)
                               ((lambda (_%L62203%_ _%L62205%_ _%L62206%_)
                                  (cons (gx#datum->syntax '#f 'begin)
                                        (cons _%L62206%_
                                              (cons _%L62205%_
                                                    (cons _%L62203%_ '())))))
                                _%hd6215962197%_
                                _%hd6215662187%_
                                _%hd6215362177%_)
                               (_%g6214762166%_ _%g6214862170%_))))
                       (_%g6214762166%_ _%g6214862170%_))))
               (_%g6214762166%_ _%g6214862170%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                               (_%g6214762166%_
                                                _%g6214862170%_)))))
                                   (_%g6214662231%_
                                    (list (_%make-checked-method-def61955%_
                                           _%L62100%_
                                           _%method-name62136%_
                                           _%raw-method-name62139%_
                                           _%unchecked-method-name62142%_
                                           _%L62098%_
                                           _%L62097%_)
                                          (_%make-raw-method-def61956%_
                                           _%L62100%_
                                           _%raw-method-name62139%_
                                           _%unchecked-method-name62142%_
                                           _%L62098%_
                                           _%L62097%_)
                                          (_%make-unchecked-method-def61957%_
                                           _%L62100%_
                                           _%unchecked-method-name62142%_
                                           _%L62098%_
                                           _%L62097%_
                                           (foldr (lambda (_%g6223462237%_
                                                           _%g6223562240%_)
                                                    (cons _%g6223462237%_
                                                          _%g6223562240%_))
                                                  '()
                                                  _%L62095%_))))))
                               (_%g6195961998%_ _%g6196062002%_)))
                         _%body6199262091%_
                         _%hd6198262059%_
                         _%hd6197962049%_
                         _%hd6197662039%_
                         _%hd6197062019%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (_%loop6198762071%_
                                                 _%target6198462065%_
                                                 '()))
                                              (_%g6195961998%_
                                               _%g6196062002%_)))))
                                    (_%g6195961998%_ _%g6196062002%_))
                                (_%g6195961998%_ _%g6196062002%_))))
                        (_%g6195961998%_ _%g6196062002%_))))
                (_%g6195961998%_ _%g6196062002%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (_%g6195961998%_
                                                 _%g6196062002%_))))
                                        (_%g6195961998%_ _%g6196062002%_))))
                                (_%g6195961998%_ _%g6196062002%_))))
                        (_%g6195961998%_ _%g6196062002%_)))))
            (_%g6195862243%_ _%stx61950%_)))))
    (define |gerbil/core/contract~Interface[:0:]#with-interface-method|
      (lambda (_%stx62946%_)
        (let* ((_%g6294962992%_
                (lambda (_%g6295062988%_)
                  (gx#raise-syntax-error
                   '#f
                   '"Bad syntax; invalid match target"
                   _%g6295062988%_)))
               (_%g6294863213%_
                (lambda (_%g6295062996%_)
                  (if (gx#stx-pair? _%g6295062996%_)
                      (let ((_%e6295762999%_ (gx#syntax-e _%g6295062996%_)))
                        (let ((_%hd6295863003%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6295762999%_)))
                              (_%tl6295963006%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6295762999%_))))
                          (if (gx#stx-pair? _%tl6295963006%_)
                              (let ((_%e6296063009%_
                                     (gx#syntax-e _%tl6295963006%_)))
                                (let ((_%hd6296163013%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e6296063009%_)))
                                      (_%tl6296263016%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e6296063009%_))))
                                  (if (gx#stx-pair? _%tl6296263016%_)
                                      (let ((_%e6296363019%_
                                             (gx#syntax-e _%tl6296263016%_)))
                                        (let ((_%hd6296463023%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e6296363019%_)))
                                              (_%tl6296563026%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e6296363019%_))))
                                          (if (gx#stx-pair? _%hd6296463023%_)
                                              (let ((_%e6296663029%_
                                                     (gx#syntax-e
                                                      _%hd6296463023%_)))
                                                (let ((_%hd6296763033%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e6296663029%_)))
                                                      (_%tl6296863036%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e6296663029%_))))
                                                  (if (gx#stx-pair?
                                                       _%tl6296863036%_)
                                                      (let ((_%e6296963039%_
                                                             (gx#syntax-e
                                                              _%tl6296863036%_)))
                                                        (let ((_%hd6297063043%_
                                                               (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (declare (not safe))
                         (##car _%e6296963039%_)))
                      (_%tl6297163046%_
                       (let () (declare (not safe)) (##cdr _%e6296963039%_))))
                  (if (gx#stx-pair? _%tl6297163046%_)
                      (let ((_%e6297263049%_ (gx#syntax-e _%tl6297163046%_)))
                        (let ((_%hd6297363053%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6297263049%_)))
                              (_%tl6297463056%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6297263049%_))))
                          (if (gx#stx-pair? _%tl6297463056%_)
                              (let ((_%e6297563059%_
                                     (gx#syntax-e _%tl6297463056%_)))
                                (let ((_%hd6297663063%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e6297563059%_)))
                                      (_%tl6297763066%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e6297563059%_))))
                                  (if (gx#stx-null? _%tl6297763066%_)
                                      (if (gx#stx-pair/null? _%tl6296563026%_)
                                          (let ((_g84125_
                                                 (gx#syntax-split-splice
                                                  _%tl6296563026%_
                                                  '0)))
                                            (begin
                                              (let ((_g84126_
                                                     (let ()
                                                       (declare (not safe))
                                                       (if (##values? _g84125_)
                                                           (##vector-length
                                                            _g84125_)
                                                           1))))
                                                (if (not (let ()
                                                           (declare (not safe))
                                                           (##fx= _g84126_ 2)))
                                                    (error "Context expects 2 values"
                                                           _g84126_)))
                                              (let ((_%target6297863069%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##vector-ref
                                                        _g84125_
                                                        0)))
                                                    (_%tl6298063072%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##vector-ref
                                                        _g84125_
                                                        1))))
                                                (if (gx#stx-null?
                                                     _%tl6298063072%_)
                                                    (letrec ((_%loop6298163075%_
                                                              (lambda (_%hd6297963079%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               _%body6298563082%_)
                        (if (gx#stx-pair? _%hd6297963079%_)
                            (let ((_%e6298263085%_
                                   (gx#syntax-e _%hd6297963079%_)))
                              (let ((_%lp-hd6298363089%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%e6298263085%_)))
                                    (_%lp-tl6298463092%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%e6298263085%_))))
                                (_%loop6298163075%_
                                 _%lp-tl6298463092%_
                                 (cons _%lp-hd6298363089%_
                                       _%body6298563082%_))))
                            (let ((_%body6298663095%_
                                   (reverse _%body6298563082%_)))
                              ((lambda (_%L63099%_
                                        _%L63101%_
                                        _%L63102%_
                                        _%L63103%_
                                        _%L63104%_
                                        _%L63105%_)
                                 (let* ((_%checked?63137%_
                                         (if (gx#stx-e _%L63101%_) '#t '#f))
                                        (_%g6314063155%_
                                         (lambda (_%g6314163151%_)
                                           (gx#raise-syntax-error
                                            '#f
                                            '"Bad syntax; invalid match target"
                                            _%g6314163151%_)))
                                        (_%g6313963209%_
                                         (lambda (_%g6314163159%_)
                                           (if (gx#stx-pair? _%g6314163159%_)
                                               (let ((_%e6314463162%_
                                                      (gx#syntax-e
                                                       _%g6314163159%_)))
                                                 (let ((_%hd6314563166%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _%e6314463162%_)))
                                                       (_%tl6314663169%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _%e6314463162%_))))
                                                   (if (gx#stx-pair?
                                                        _%tl6314663169%_)
                                                       (let ((_%e6314763172%_
                                                              (gx#syntax-e
                                                               _%tl6314663169%_)))
                                                         (let ((_%hd6314863176%_
                                                                (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (declare (not safe))
                          (##car _%e6314763172%_)))
                       (_%tl6314963179%_
                        (let () (declare (not safe)) (##cdr _%e6314763172%_))))
                   (if (gx#stx-null? _%tl6314963179%_)
                       ((lambda (_%L63182%_ _%L63184%_)
                          (cons (gx#datum->syntax '#f 'begin-annotation)
                                (cons (cons (gx#datum->syntax
                                             '#f
                                             '@type.signature)
                                            _%L63184%_)
                                      (cons (cons (gx#datum->syntax '#f 'using)
                                                  (cons _%L63182%_
                                                        (foldr (lambda (_%g6320063203%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                _%g6320163206%_)
                         (cons _%g6320063203%_ _%g6320163206%_))
                       '()
                       _%L63099%_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            '()))))
                        _%hd6314863176%_
                        _%hd6314563166%_)
                       (_%g6314063155%_ _%g6314163159%_))))
               (_%g6314063155%_ _%g6314163159%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                               (_%g6314063155%_
                                                _%g6314163159%_)))))
                                   (_%g6313963209%_
                                    (list (|gerbil/core/contract~Interface[1]#make-interface-method-lambda-signature|
                                           _%stx62946%_
                                           _%L63105%_
                                           _%L63104%_
                                           _%L63103%_
                                           _%L63102%_
                                           _%L63101%_)
                                          (|gerbil/core/contract~Interface[1]#make-interface-method-contract|
                                           _%stx62946%_
                                           _%L63105%_
                                           _%L63104%_
                                           _%L63103%_
                                           _%checked?63137%_)))))
                               _%body6298663095%_
                               _%hd6297663063%_
                               _%hd6297363053%_
                               _%hd6297063043%_
                               _%hd6296763033%_
                               _%hd6296163013%_))))))
              (_%loop6298163075%_ _%target6297863069%_ '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (_%g6294962992%_
                                                     _%g6295062996%_)))))
                                          (_%g6294962992%_ _%g6295062996%_))
                                      (_%g6294962992%_ _%g6295062996%_))))
                              (_%g6294962992%_ _%g6295062996%_))))
                      (_%g6294962992%_ _%g6295062996%_))))
              (_%g6294962992%_ _%g6295062996%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%g6294962992%_
                                               _%g6295062996%_))))
                                      (_%g6294962992%_ _%g6295062996%_))))
                              (_%g6294962992%_ _%g6295062996%_))))
                      (_%g6294962992%_ _%g6295062996%_)))))
          (_%g6294863213%_ _%stx62946%_))))
    (define |gerbil/core/contract~Interface[:0:]#with-interface-checked-method|
      (lambda (_%$stx63218%_)
        (let* ((_%g6322263265%_
                (lambda (_%g6322363261%_)
                  (gx#raise-syntax-error
                   '#f
                   '"Bad syntax; invalid match target"
                   _%g6322363261%_)))
               (_%g6322163418%_
                (lambda (_%g6322363269%_)
                  (if (gx#stx-pair? _%g6322363269%_)
                      (let ((_%e6323063272%_ (gx#syntax-e _%g6322363269%_)))
                        (let ((_%hd6323163276%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6323063272%_)))
                              (_%tl6323263279%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6323063272%_))))
                          (if (gx#stx-pair? _%tl6323263279%_)
                              (let ((_%e6323363282%_
                                     (gx#syntax-e _%tl6323263279%_)))
                                (let ((_%hd6323463286%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e6323363282%_)))
                                      (_%tl6323563289%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e6323363282%_))))
                                  (if (gx#stx-pair? _%tl6323563289%_)
                                      (let ((_%e6323663292%_
                                             (gx#syntax-e _%tl6323563289%_)))
                                        (let ((_%hd6323763296%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e6323663292%_)))
                                              (_%tl6323863299%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e6323663292%_))))
                                          (if (gx#stx-pair? _%hd6323763296%_)
                                              (let ((_%e6323963302%_
                                                     (gx#syntax-e
                                                      _%hd6323763296%_)))
                                                (let ((_%hd6324063306%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e6323963302%_)))
                                                      (_%tl6324163309%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e6323963302%_))))
                                                  (if (gx#stx-pair?
                                                       _%tl6324163309%_)
                                                      (let ((_%e6324263312%_
                                                             (gx#syntax-e
                                                              _%tl6324163309%_)))
                                                        (let ((_%hd6324363316%_
                                                               (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (declare (not safe))
                         (##car _%e6324263312%_)))
                      (_%tl6324463319%_
                       (let () (declare (not safe)) (##cdr _%e6324263312%_))))
                  (if (gx#stx-pair? _%tl6324463319%_)
                      (let ((_%e6324563322%_ (gx#syntax-e _%tl6324463319%_)))
                        (let ((_%hd6324663326%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6324563322%_)))
                              (_%tl6324763329%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6324563322%_))))
                          (if (gx#stx-pair? _%tl6324763329%_)
                              (let ((_%e6324863332%_
                                     (gx#syntax-e _%tl6324763329%_)))
                                (let ((_%hd6324963336%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e6324863332%_)))
                                      (_%tl6325063339%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e6324863332%_))))
                                  (if (gx#stx-null? _%tl6325063339%_)
                                      (if (gx#stx-pair/null? _%tl6323863299%_)
                                          (let ((_g84127_
                                                 (gx#syntax-split-splice
                                                  _%tl6323863299%_
                                                  '0)))
                                            (begin
                                              (let ((_g84128_
                                                     (let ()
                                                       (declare (not safe))
                                                       (if (##values? _g84127_)
                                                           (##vector-length
                                                            _g84127_)
                                                           1))))
                                                (if (not (let ()
                                                           (declare (not safe))
                                                           (##fx= _g84128_ 2)))
                                                    (error "Context expects 2 values"
                                                           _g84128_)))
                                              (let ((_%target6325163342%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##vector-ref
                                                        _g84127_
                                                        0)))
                                                    (_%tl6325363345%_
                                                     (let ()
                                                       (declare (not safe))
                                                       (##vector-ref
                                                        _g84127_
                                                        1))))
                                                (if (gx#stx-null?
                                                     _%tl6325363345%_)
                                                    (letrec ((_%loop6325463348%_
                                                              (lambda (_%hd6325263352%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               _%body6325863355%_)
                        (if (gx#stx-pair? _%hd6325263352%_)
                            (let ((_%e6325563358%_
                                   (gx#syntax-e _%hd6325263352%_)))
                              (let ((_%lp-hd6325663362%_
                                     (let ()
                                       (declare (not safe))
                                       (##car _%e6325563358%_)))
                                    (_%lp-tl6325763365%_
                                     (let ()
                                       (declare (not safe))
                                       (##cdr _%e6325563358%_))))
                                (_%loop6325463348%_
                                 _%lp-tl6325763365%_
                                 (cons _%lp-hd6325663362%_
                                       _%body6325863355%_))))
                            (let ((_%body6325963368%_
                                   (reverse _%body6325863355%_)))
                              ((lambda (_%L63372%_
                                        _%L63374%_
                                        _%L63375%_
                                        _%L63376%_
                                        _%L63377%_
                                        _%L63378%_)
                                 (cons (gx#datum->syntax
                                        '#f
                                        'with-interface-method)
                                       (cons _%L63378%_
                                             (cons (cons _%L63377%_
                                                         (cons _%L63376%_
                                                               (cons _%L63375%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             (cons _%L63374%_ '()))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   (foldr (lambda (_%g6340963412%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           _%g6341063415%_)
                    (cons _%g6340963412%_ _%g6341063415%_))
                  '()
                  _%L63372%_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                               _%body6325963368%_
                               _%hd6324963336%_
                               _%hd6324663326%_
                               _%hd6324363316%_
                               _%hd6324063306%_
                               _%hd6323463286%_))))))
              (_%loop6325463348%_ _%target6325163342%_ '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (_%g6322263265%_
                                                     _%g6322363269%_)))))
                                          (_%g6322263265%_ _%g6322363269%_))
                                      (_%g6322263265%_ _%g6322363269%_))))
                              (_%g6322263265%_ _%g6322363269%_))))
                      (_%g6322263265%_ _%g6322363269%_))))
              (_%g6322263265%_ _%g6322363269%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%g6322263265%_
                                               _%g6322363269%_))))
                                      (_%g6322263265%_ _%g6322363269%_))))
                              (_%g6322263265%_ _%g6322363269%_))))
                      (_%g6322263265%_ _%g6322363269%_)))))
          (_%g6322163418%_ _%$stx63218%_))))
    (define |gerbil/core/contract~Interface[:0:]#with-interface-unchecked-method|
      (lambda (_%$stx63423%_)
        (let* ((_%g6342763466%_
                (lambda (_%g6342863462%_)
                  (gx#raise-syntax-error
                   '#f
                   '"Bad syntax; invalid match target"
                   _%g6342863462%_)))
               (_%g6342663605%_
                (lambda (_%g6342863470%_)
                  (if (gx#stx-pair? _%g6342863470%_)
                      (let ((_%e6343463473%_ (gx#syntax-e _%g6342863470%_)))
                        (let ((_%hd6343563477%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6343463473%_)))
                              (_%tl6343663480%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6343463473%_))))
                          (if (gx#stx-pair? _%tl6343663480%_)
                              (let ((_%e6343763483%_
                                     (gx#syntax-e _%tl6343663480%_)))
                                (let ((_%hd6343863487%_
                                       (let ()
                                         (declare (not safe))
                                         (##car _%e6343763483%_)))
                                      (_%tl6343963490%_
                                       (let ()
                                         (declare (not safe))
                                         (##cdr _%e6343763483%_))))
                                  (if (gx#stx-pair? _%tl6343963490%_)
                                      (let ((_%e6344063493%_
                                             (gx#syntax-e _%tl6343963490%_)))
                                        (let ((_%hd6344163497%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##car _%e6344063493%_)))
                                              (_%tl6344263500%_
                                               (let ()
                                                 (declare (not safe))
                                                 (##cdr _%e6344063493%_))))
                                          (if (gx#stx-pair? _%hd6344163497%_)
                                              (let ((_%e6344363503%_
                                                     (gx#syntax-e
                                                      _%hd6344163497%_)))
                                                (let ((_%hd6344463507%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##car _%e6344363503%_)))
                                                      (_%tl6344563510%_
                                                       (let ()
                                                         (declare (not safe))
                                                         (##cdr _%e6344363503%_))))
                                                  (if (gx#stx-pair?
                                                       _%tl6344563510%_)
                                                      (let ((_%e6344663513%_
                                                             (gx#syntax-e
                                                              _%tl6344563510%_)))
                                                        (let ((_%hd6344763517%_
                                                               (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (declare (not safe))
                         (##car _%e6344663513%_)))
                      (_%tl6344863520%_
                       (let () (declare (not safe)) (##cdr _%e6344663513%_))))
                  (if (gx#stx-pair? _%tl6344863520%_)
                      (let ((_%e6344963523%_ (gx#syntax-e _%tl6344863520%_)))
                        (let ((_%hd6345063527%_
                               (let ()
                                 (declare (not safe))
                                 (##car _%e6344963523%_)))
                              (_%tl6345163530%_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _%e6344963523%_))))
                          (if (gx#stx-null? _%tl6345163530%_)
                              (if (gx#stx-pair/null? _%tl6344263500%_)
                                  (let ((_g84129_
                                         (gx#syntax-split-splice
                                          _%tl6344263500%_
                                          '0)))
                                    (begin
                                      (let ((_g84130_
                                             (let ()
                                               (declare (not safe))
                                               (if (##values? _g84129_)
                                                   (##vector-length _g84129_)
                                                   1))))
                                        (if (not (let ()
                                                   (declare (not safe))
                                                   (##fx= _g84130_ 2)))
                                            (error "Context expects 2 values"
                                                   _g84130_)))
                                      (let ((_%target6345263533%_
                                             (let ()
                                               (declare (not safe))
                                               (##vector-ref _g84129_ 0)))
                                            (_%tl6345463536%_
                                             (let ()
                                               (declare (not safe))
                                               (##vector-ref _g84129_ 1))))
                                        (if (gx#stx-null? _%tl6345463536%_)
                                            (letrec ((_%loop6345563539%_
                                                      (lambda (_%hd6345363543%_
                                                               _%body6345963546%_)
                                                        (if (gx#stx-pair?
                                                             _%hd6345363543%_)
                                                            (let ((_%e6345663549%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           (gx#syntax-e _%hd6345363543%_)))
                      (let ((_%lp-hd6345763553%_
                             (let ()
                               (declare (not safe))
                               (##car _%e6345663549%_)))
                            (_%lp-tl6345863556%_
                             (let ()
                               (declare (not safe))
                               (##cdr _%e6345663549%_))))
                        (_%loop6345563539%_
                         _%lp-tl6345863556%_
                         (cons _%lp-hd6345763553%_ _%body6345963546%_))))
                    (let ((_%body6346063559%_ (reverse _%body6345963546%_)))
                      ((lambda (_%L63563%_
                                _%L63565%_
                                _%L63566%_
                                _%L63567%_
                                _%L63568%_)
                         (cons (gx#datum->syntax '#f 'with-interface-method)
                               (cons _%L63568%_
                                     (cons (cons _%L63567%_
                                                 (cons _%L63566%_
                                                       (cons _%L63565%_
                                                             (cons '#f '()))))
                                           (foldr (lambda (_%g6359663599%_
                                                           _%g6359763602%_)
                                                    (cons _%g6359663599%_
                                                          _%g6359763602%_))
                                                  '()
                                                  _%L63563%_)))))
                       _%body6346063559%_
                       _%hd6345063527%_
                       _%hd6344763517%_
                       _%hd6344463507%_
                       _%hd6343863487%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%loop6345563539%_
                                               _%target6345263533%_
                                               '()))
                                            (_%g6342763466%_
                                             _%g6342863470%_)))))
                                  (_%g6342763466%_ _%g6342863470%_))
                              (_%g6342763466%_ _%g6342863470%_))))
                      (_%g6342763466%_ _%g6342863470%_))))
              (_%g6342763466%_ _%g6342863470%_))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              (_%g6342763466%_
                                               _%g6342863470%_))))
                                      (_%g6342763466%_ _%g6342863470%_))))
                              (_%g6342763466%_ _%g6342863470%_))))
                      (_%g6342763466%_ _%g6342863470%_)))))
          (_%g6342663605%_ _%$stx63423%_))))
    (define |gerbil/core/contract~Interface[:0:]#interface-out|
      (gx#make-export-expander
       (lambda (_%stx63610%_)
         (letrec ((_%expand63613%_
                   (lambda (_%body63835%_ _%unchecked?63837%_)
                     (let* ((_%g6383963856%_
                             (lambda (_%g6384063852%_)
                               (gx#raise-syntax-error
                                '#f
                                '"Bad syntax; invalid match target"
                                _%g6384063852%_)))
                            (_%g6383864087%_
                             (lambda (_%g6384063860%_)
                               (if (gx#stx-pair/null? _%g6384063860%_)
                                   (let ((_g84131_
                                          (gx#syntax-split-splice
                                           _%g6384063860%_
                                           '0)))
                                     (begin
                                       (let ((_g84132_
                                              (let ()
                                                (declare (not safe))
                                                (if (##values? _g84131_)
                                                    (##vector-length _g84131_)
                                                    1))))
                                         (if (not (let ()
                                                    (declare (not safe))
                                                    (##fx= _g84132_ 2)))
                                             (error "Context expects 2 values"
                                                    _g84132_)))
                                       (let ((_%target6384263863%_
                                              (let ()
                                                (declare (not safe))
                                                (##vector-ref _g84131_ 0)))
                                             (_%tl6384463866%_
                                              (let ()
                                                (declare (not safe))
                                                (##vector-ref _g84131_ 1))))
                                         (if (gx#stx-null? _%tl6384463866%_)
                                             (letrec ((_%loop6384563869%_
                                                       (lambda (_%hd6384363873%_
                                                                _%id6384963876%_)
                                                         (if (gx#stx-pair?
                                                              _%hd6384363873%_)
                                                             (let ((_%e6384663879%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (gx#syntax-e _%hd6384363873%_)))
                       (let ((_%lp-hd6384763883%_
                              (let ()
                                (declare (not safe))
                                (##car _%e6384663879%_)))
                             (_%lp-tl6384863886%_
                              (let ()
                                (declare (not safe))
                                (##cdr _%e6384663879%_))))
                         (_%loop6384563869%_
                          _%lp-tl6384863886%_
                          (cons _%lp-hd6384763883%_ _%id6384963876%_))))
                     (let ((_%id6385063889%_ (reverse _%id6384963876%_)))
                       ((lambda (_%L63893%_)
                          (if (gx#identifier-list?
                               (foldr (lambda (_%g6390663909%_ _%g6390763912%_)
                                        (cons _%g6390663909%_ _%g6390763912%_))
                                      '()
                                      _%L63893%_))
                              (let _%lp63915%_ ((_%rest63918%_
                                                 (foldr (lambda (_%g6407864081%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _%g6407964084%_)
                  (cons _%g6407864081%_ _%g6407964084%_))
                '()
                _%L63893%_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (_%ids63920%_ '()))
                                (let* ((_%__stx8192081921%_ _%rest63918%_)
                                       (_%g6392363935%_
                                        (lambda ()
                                          (gx#raise-syntax-error
                                           '#f
                                           '"Bad syntax; invalid match target"
                                           _%__stx8192081921%_))))
                                  (let ((_%__kont8192381924%_
                                         (lambda (_%L63963%_ _%L63965%_)
                                           (let ((_%info63980%_
                                                  (gx#syntax-local-value
                                                   _%L63965%_
                                                   false)))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (class-instance?
                                                    gerbil/core/contract~InterfaceInfo#interface-info::t
                                                    _%info63980%_))
                                                 '#!void
                                                 (gx#raise-syntax-error
                                                  '#f
                                                  '"not an interface type"
                                                  _%stx63610%_
                                                  _%L63965%_))
                                             (let* ((_%info6398263995%_
                                                     _%info63980%_)
                                                    (_%E6398464001%_
                                                     (lambda ()
                                                       (error '"No clause matching"
                                                              _%info6398263995%_
                                                              '((interface-info
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         instance-type:
                         type
                         interface-descriptor:
                         descriptor
                         instance-constructor:
                         constructor
                         instance-try-constructor:
                         try-constructor
                         instance-predicate:
                         predicate
                         instance-satisfies-predicate:
                         satisfies-predicate
                         implementation-methods:
                         method-impl
                         unchecked-implementation-methods:
                         unchecked-impl)))
               (void)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (_%K6398564015%_
                                                     (lambda (_%unchecked-impl64005%_
                                                              _%method-impl64007%_
                                                              _%satisfies-predicate64008%_
                                                              _%predicate64009%_
                                                              _%try-constructor64010%_
                                                              _%constructor64011%_
                                                              _%descriptor64012%_
                                                              _%type64013%_)
                                                       (_%lp63915%_
                                                        _%L63963%_
                                                        (cons _%L63965%_
                                                              (cons _%type64013%_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (cons _%descriptor64012%_
                                  (cons _%constructor64011%_
                                        (cons _%try-constructor64010%_
                                              (cons _%predicate64009%_
                                                    (cons _%satisfies-predicate64008%_
                                                          (foldr cons
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (foldr cons
                                _%ids63920%_
                                (if _%unchecked?63837%_
                                    _%unchecked-impl64005%_
                                    '()))
                         _%method-impl64007%_))))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                               (if (let ()
                                                     (declare (not safe))
                                                     (class-instance?
                                                      gerbil/core/contract~InterfaceInfo#interface-info::t
                                                      _%info6398263995%_))
                                                   (let* ((_%e6398664019%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (unchecked-slot-ref
                                                              _%info6398263995%_
                                                              'instance-type)))
                                                          (_%type64023%_
                                                           _%e6398664019%_)
                                                          (_%e6398764026%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (unchecked-slot-ref
                                                              _%info6398263995%_
                                                              'interface-descriptor)))
                                                          (_%descriptor64030%_
                                                           _%e6398764026%_)
                                                          (_%e6398864033%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (unchecked-slot-ref
                                                              _%info6398263995%_
                                                              'instance-constructor)))
                                                          (_%constructor64037%_
                                                           _%e6398864033%_)
                                                          (_%e6398964040%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (unchecked-slot-ref
                                                              _%info6398263995%_
                                                              'instance-try-constructor)))
                                                          (_%try-constructor64044%_
                                                           _%e6398964040%_)
                                                          (_%e6399064047%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (unchecked-slot-ref
                                                              _%info6398263995%_
                                                              'instance-predicate)))
                                                          (_%predicate64051%_
                                                           _%e6399064047%_)
                                                          (_%e6399164054%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (unchecked-slot-ref
                                                              _%info6398263995%_
                                                              'instance-satisfies-predicate)))
                                                          (_%satisfies-predicate64058%_
                                                           _%e6399164054%_)
                                                          (_%e6399264061%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (unchecked-slot-ref
                                                              _%info6398263995%_
                                                              'implementation-methods)))
                                                          (_%method-impl64065%_
                                                           _%e6399264061%_)
                                                          (_%e6399364068%_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (unchecked-slot-ref
                                                              _%info6398263995%_
                                                              'unchecked-implementation-methods)))
                                                          (_%unchecked-impl64072%_
                                                           _%e6399364068%_))
                                                     (_%K6398564015%_
                                                      _%unchecked-impl64072%_
                                                      _%method-impl64065%_
                                                      _%satisfies-predicate64058%_
                                                      _%predicate64051%_
                                                      _%try-constructor64044%_
                                                      _%constructor64037%_
                                                      _%descriptor64030%_
                                                      _%type64023%_))
                                                   (_%E6398464001%_))))))
                                        (_%__kont8192581926%_
                                         (lambda ()
                                           (cons 'begin: _%ids63920%_))))
                                    (if (gx#stx-pair? _%__stx8192081921%_)
                                        (let ((_%e6392763953%_
                                               (gx#syntax-e
                                                _%__stx8192081921%_)))
                                          (let ((_%tl6392963960%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##cdr _%e6392763953%_)))
                                                (_%hd6392863957%_
                                                 (let ()
                                                   (declare (not safe))
                                                   (##car _%e6392763953%_))))
                                            (_%__kont8192381924%_
                                             _%tl6392963960%_
                                             _%hd6392863957%_)))
                                        (_%__kont8192581926%_)))))
                              (_%g6383963856%_ _%g6384063860%_)))
                        _%id6385063889%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                               (_%loop6384563869%_
                                                _%target6384263863%_
                                                '()))
                                             (_%g6383963856%_
                                              _%g6384063860%_)))))
                                   (_%g6383963856%_ _%g6384063860%_)))))
                       (_%g6383864087%_ _%body63835%_)))))
           (let* ((_%__stx8193681937%_ _%stx63610%_)
                  (_%g6361763658%_
                   (lambda ()
                     (gx#raise-syntax-error
                      '#f
                      '"Bad syntax; invalid match target"
                      _%__stx8193681937%_))))
             (let ((_%__kont8193981940%_
                    (lambda (_%L63801%_ _%L63803%_)
                      (_%expand63613%_
                       (foldr (lambda (_%g6382263825%_ _%g6382363828%_)
                                (cons _%g6382263825%_ _%g6382363828%_))
                              '()
                              _%L63801%_)
                       (gx#stx-e _%L63803%_))))
                   (_%__kont8194381944%_
                    (lambda (_%L63705%_)
                      (_%expand63613%_
                       (foldr (lambda (_%g6372163724%_ _%g6372263727%_)
                                (cons _%g6372163724%_ _%g6372263727%_))
                              '()
                              _%L63705%_)
                       '#t))))
               (let* ((_%__match8199381994%_
                       (lambda (_%e6364163665%_
                                _%hd6364263669%_
                                _%tl6364363672%_
                                _%__splice8194581946%_
                                _%target6364463675%_
                                _%tl6364663678%_)
                         (letrec ((_%loop6364763681%_
                                   (lambda (_%hd6364563685%_
                                            _%body6365163688%_)
                                     (if (gx#stx-pair? _%hd6364563685%_)
                                         (let ((_%e6364863691%_
                                                (gx#syntax-e
                                                 _%hd6364563685%_)))
                                           (let ((_%lp-tl6365063698%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##cdr _%e6364863691%_)))
                                                 (_%lp-hd6364963695%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##car _%e6364863691%_))))
                                             (_%loop6364763681%_
                                              _%lp-tl6365063698%_
                                              (cons _%lp-hd6364963695%_
                                                    _%body6365163688%_))))
                                         (let ((_%body6365263701%_
                                                (reverse _%body6365163688%_)))
                                           (_%__kont8194381944%_
                                            _%body6365263701%_))))))
                           (_%loop6364763681%_ _%target6364463675%_ '()))))
                      (_%__match8197981980%_
                       (lambda (_%e6362163737%_
                                _%hd6362263741%_
                                _%tl6362363744%_
                                _%e6362463747%_
                                _%hd6362563751%_
                                _%tl6362663754%_
                                _%e6362763757%_
                                _%e6362863761%_
                                _%hd6362963765%_
                                _%tl6363063768%_
                                _%__splice8194181942%_
                                _%target6363163771%_
                                _%tl6363363774%_)
                         (letrec ((_%loop6363463777%_
                                   (lambda (_%hd6363263781%_
                                            _%body6363863784%_)
                                     (if (gx#stx-pair? _%hd6363263781%_)
                                         (let ((_%e6363563787%_
                                                (gx#syntax-e
                                                 _%hd6363263781%_)))
                                           (let ((_%lp-tl6363763794%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##cdr _%e6363563787%_)))
                                                 (_%lp-hd6363663791%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##car _%e6363563787%_))))
                                             (_%loop6363463777%_
                                              _%lp-tl6363763794%_
                                              (cons _%lp-hd6363663791%_
                                                    _%body6363863784%_))))
                                         (let ((_%body6363963797%_
                                                (reverse _%body6363863784%_)))
                                           (_%__kont8193981940%_
                                            _%body6363963797%_
                                            _%hd6362963765%_))))))
                           (_%loop6363463777%_ _%target6363163771%_ '())))))
                 (if (gx#stx-pair? _%__stx8193681937%_)
                     (let ((_%e6362163737%_ (gx#syntax-e _%__stx8193681937%_)))
                       (let ((_%tl6362363744%_
                              (let ()
                                (declare (not safe))
                                (##cdr _%e6362163737%_)))
                             (_%hd6362263741%_
                              (let ()
                                (declare (not safe))
                                (##car _%e6362163737%_))))
                         (if (gx#stx-pair? _%tl6362363744%_)
                             (let ((_%e6362463747%_
                                    (gx#syntax-e _%tl6362363744%_)))
                               (let ((_%tl6362663754%_
                                      (let ()
                                        (declare (not safe))
                                        (##cdr _%e6362463747%_)))
                                     (_%hd6362563751%_
                                      (let ()
                                        (declare (not safe))
                                        (##car _%e6362463747%_))))
                                 (if (gx#stx-datum? _%hd6362563751%_)
                                     (let ((_%e6362763757%_
                                            (gx#stx-e _%hd6362563751%_)))
                                       (if (equal? _%e6362763757%_ 'unchecked:)
                                           (if (gx#stx-pair? _%tl6362663754%_)
                                               (let ((_%e6362863761%_
                                                      (gx#syntax-e
                                                       _%tl6362663754%_)))
                                                 (let ((_%tl6363063768%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _%e6362863761%_)))
                                                       (_%hd6362963765%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _%e6362863761%_))))
                                                   (if (gx#stx-pair/null?
                                                        _%tl6363063768%_)
                                                       (let ((_%__splice8194181942%_
                                                              (gx#syntax-split-splice
                                                               _%tl6363063768%_
                                                               '0)))
                                                         (let ((_%tl6363363774%_
                                                                (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (declare (not safe))
                          (##vector-ref _%__splice8194181942%_ '1)))
                       (_%target6363163771%_
                        (let ()
                          (declare (not safe))
                          (##vector-ref _%__splice8194181942%_ '0))))
                   (if (gx#stx-null? _%tl6363363774%_)
                       (_%__match8197981980%_
                        _%e6362163737%_
                        _%hd6362263741%_
                        _%tl6362363744%_
                        _%e6362463747%_
                        _%hd6362563751%_
                        _%tl6362663754%_
                        _%e6362763757%_
                        _%e6362863761%_
                        _%hd6362963765%_
                        _%tl6363063768%_
                        _%__splice8194181942%_
                        _%target6363163771%_
                        _%tl6363363774%_)
                       (if (gx#stx-pair/null? _%tl6362363744%_)
                           (let ((_%__splice8194581946%_
                                  (gx#syntax-split-splice
                                   _%tl6362363744%_
                                   '0)))
                             (let ((_%tl6364663678%_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref
                                       _%__splice8194581946%_
                                       '1)))
                                   (_%target6364463675%_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref
                                       _%__splice8194581946%_
                                       '0))))
                               (if (gx#stx-null? _%tl6364663678%_)
                                   (_%__match8199381994%_
                                    _%e6362163737%_
                                    _%hd6362263741%_
                                    _%tl6362363744%_
                                    _%__splice8194581946%_
                                    _%target6364463675%_
                                    _%tl6364663678%_)
                                   (let ()
                                     (declare (not safe))
                                     (_%g6361763658%_)))))
                           (let () (declare (not safe)) (_%g6361763658%_))))))
               (if (gx#stx-pair/null? _%tl6362363744%_)
                   (let ((_%__splice8194581946%_
                          (gx#syntax-split-splice _%tl6362363744%_ '0)))
                     (let ((_%tl6364663678%_
                            (let ()
                              (declare (not safe))
                              (##vector-ref _%__splice8194581946%_ '1)))
                           (_%target6364463675%_
                            (let ()
                              (declare (not safe))
                              (##vector-ref _%__splice8194581946%_ '0))))
                       (if (gx#stx-null? _%tl6364663678%_)
                           (_%__match8199381994%_
                            _%e6362163737%_
                            _%hd6362263741%_
                            _%tl6362363744%_
                            _%__splice8194581946%_
                            _%target6364463675%_
                            _%tl6364663678%_)
                           (let () (declare (not safe)) (_%g6361763658%_)))))
                   (let () (declare (not safe)) (_%g6361763658%_))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                               (if (gx#stx-pair/null?
                                                    _%tl6362363744%_)
                                                   (let ((_%__splice8194581946%_
                                                          (gx#syntax-split-splice
                                                           _%tl6362363744%_
                                                           '0)))
                                                     (let ((_%tl6364663678%_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##vector-ref
                                                               _%__splice8194581946%_
                                                               '1)))
                                                           (_%target6364463675%_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##vector-ref
                                                               _%__splice8194581946%_
                                                               '0))))
                                                       (if (gx#stx-null?
                                                            _%tl6364663678%_)
                                                           (_%__match8199381994%_
                                                            _%e6362163737%_
                                                            _%hd6362263741%_
                                                            _%tl6362363744%_
                                                            _%__splice8194581946%_
                                                            _%target6364463675%_
                                                            _%tl6364663678%_)
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (_%g6361763658%_)))))
                                                   (let ()
                                                     (declare (not safe))
                                                     (_%g6361763658%_))))
                                           (if (gx#stx-pair/null?
                                                _%tl6362363744%_)
                                               (let ((_%__splice8194581946%_
                                                      (gx#syntax-split-splice
                                                       _%tl6362363744%_
                                                       '0)))
                                                 (let ((_%tl6364663678%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##vector-ref
                                                           _%__splice8194581946%_
                                                           '1)))
                                                       (_%target6364463675%_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##vector-ref
                                                           _%__splice8194581946%_
                                                           '0))))
                                                   (if (gx#stx-null?
                                                        _%tl6364663678%_)
                                                       (_%__match8199381994%_
                                                        _%e6362163737%_
                                                        _%hd6362263741%_
                                                        _%tl6362363744%_
                                                        _%__splice8194581946%_
                                                        _%target6364463675%_
                                                        _%tl6364663678%_)
                                                       (let ()
                                                         (declare (not safe))
                                                         (_%g6361763658%_)))))
                                               (let ()
                                                 (declare (not safe))
                                                 (_%g6361763658%_)))))
                                     (if (gx#stx-pair/null? _%tl6362363744%_)
                                         (let ((_%__splice8194581946%_
                                                (gx#syntax-split-splice
                                                 _%tl6362363744%_
                                                 '0)))
                                           (let ((_%tl6364663678%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##vector-ref
                                                     _%__splice8194581946%_
                                                     '1)))
                                                 (_%target6364463675%_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##vector-ref
                                                     _%__splice8194581946%_
                                                     '0))))
                                             (if (gx#stx-null?
                                                  _%tl6364663678%_)
                                                 (_%__match8199381994%_
                                                  _%e6362163737%_
                                                  _%hd6362263741%_
                                                  _%tl6362363744%_
                                                  _%__splice8194581946%_
                                                  _%target6364463675%_
                                                  _%tl6364663678%_)
                                                 (let ()
                                                   (declare (not safe))
                                                   (_%g6361763658%_)))))
                                         (let ()
                                           (declare (not safe))
                                           (_%g6361763658%_))))))
                             (if (gx#stx-pair/null? _%tl6362363744%_)
                                 (let ((_%__splice8194581946%_
                                        (gx#syntax-split-splice
                                         _%tl6362363744%_
                                         '0)))
                                   (let ((_%tl6364663678%_
                                          (let ()
                                            (declare (not safe))
                                            (##vector-ref
                                             _%__splice8194581946%_
                                             '1)))
                                         (_%target6364463675%_
                                          (let ()
                                            (declare (not safe))
                                            (##vector-ref
                                             _%__splice8194581946%_
                                             '0))))
                                     (if (gx#stx-null? _%tl6364663678%_)
                                         (_%__match8199381994%_
                                          _%e6362163737%_
                                          _%hd6362263741%_
                                          _%tl6362363744%_
                                          _%__splice8194581946%_
                                          _%target6364463675%_
                                          _%tl6364663678%_)
                                         (let ()
                                           (declare (not safe))
                                           (_%g6361763658%_)))))
                                 (let ()
                                   (declare (not safe))
                                   (_%g6361763658%_))))))
                     (let () (declare (not safe)) (_%g6361763658%_))))))))))))
