(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/misc/repr#default-representation-options (make-table))
  (define std/misc/repr#current-representation-options
    (make-parameter std/misc/repr#default-representation-options))
  (define std/misc/repr#display-separated__%__%
    (lambda (__748751_
             _prefix742753_
             _separate?743755_
             _separator744757_
             _suffix745759_
             _display-element746761_
             _list763_
             _port764_)
      (let* ((_prefix766_
              (if (eq? _prefix742753_ absent-value) '"" _prefix742753_))
             (_separate?768_
              (if (eq? _separate?743755_ absent-value) '#f _separate?743755_))
             (_separator770_
              (if (eq? _separator744757_ absent-value) '" " _separator744757_))
             (_suffix772_
              (if (eq? _suffix745759_ absent-value) '"" _suffix745759_))
             (_display-element774_
              (if (eq? _display-element746761_ absent-value)
                  display
                  _display-element746761_)))
        (display _prefix766_ _port764_)
        (std/misc/list#for-each!
         _list763_
         (lambda (_elem776_)
           (if _separate?768_
               (display _separator770_ _port764_)
               (set! _separate?768_ '#t))
           (_display-element774_ _elem776_ _port764_)))
        (display _suffix772_ _port764_))))
  (define std/misc/repr#display-separated__%__0
    (lambda (__748781_
             _prefix742782_
             _separate?743783_
             _separator744784_
             _suffix745785_
             _display-element746786_
             _list787_)
      (let ((_port789_ (current-output-port)))
        (std/misc/repr#display-separated__%__%
         __748781_
         _prefix742782_
         _separate?743783_
         _separator744784_
         _suffix745785_
         _display-element746786_
         _list787_
         _port789_))))
  (define std/misc/repr#display-separated__%
    (lambda _g4417_
      (let ((_g4416_ (let () (declare (not safe)) (##length _g4417_))))
        (cond ((let () (declare (not safe)) (##fx= _g4416_ 7))
               (apply std/misc/repr#display-separated__%__0 _g4417_))
              ((let () (declare (not safe)) (##fx= _g4416_ 8))
               (apply std/misc/repr#display-separated__%__% _g4417_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/misc/repr#display-separated__%
                _g4417_))))))
  (define std/misc/repr#display-separated__@
    (lambda (_keys741803_ . _args805_)
      (apply std/misc/repr#display-separated__%
             _keys741803_
             (table-ref _keys741803_ 'prefix: absent-value)
             (table-ref _keys741803_ 'separate-prefix?: absent-value)
             (table-ref _keys741803_ 'separator: absent-value)
             (table-ref _keys741803_ 'suffix: absent-value)
             (table-ref _keys741803_ 'display-element: absent-value)
             _args805_)))
  (define std/misc/repr#display-separated
    (lambda _args747811_
      (apply keyword-dispatch
             '#(#f
                #f
                #f
                suffix:
                separator:
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                display-element:
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                separate-prefix?:
                prefix:
                #f
                #f
                #f
                #f
                #f
                #f)
             std/misc/repr#display-separated__@
             _args747811_)))
  (define std/misc/repr#print-representation__%
    (lambda (_x592_ _port593_ _options594_)
      (letrec* ((_p__44124413_
                 (lambda (_y709_ _q710_)
                   (std/misc/repr#print-representation__%
                    _y709_
                    _q710_
                    _options594_)))
                (_p__0__44144415_
                 (lambda (_y715_)
                   (let ((_q717_ _port593_)) (_p__44124413_ _y715_ _q717_))))
                (_p596_ (lambda _g4419_
                          (let ((_g4418_ (let ()
                                           (declare (not safe))
                                           (##length _g4419_))))
                            (cond ((let ()
                                     (declare (not safe))
                                     (##fx= _g4418_ 1))
                                   (apply _p__0__44144415_ _g4419_))
                                  ((let ()
                                     (declare (not safe))
                                     (##fx= _g4418_ 2))
                                   (apply _p__44124413_ _g4419_))
                                  (else
                                   (##raise-wrong-number-of-arguments-exception
                                    'case-lambda-dispatch
                                    _g4419_))))))
                (_r597_ (lambda (_y706_)
                          (std/misc/repr#repr__% _y706_ _options594_)))
                (_d598_ (lambda (_y704_) (display _y704_ _port593_)))
                (_w599_ (lambda (_y702_) (write _y702_ _port593_)))
                (_simple?600_
                 (lambda (_x682_)
                   (let ((_$e684_ (number? _x682_)))
                     (if _$e684_
                         _$e684_
                         (let ((_$e687_ (boolean? _x682_)))
                           (if _$e687_
                               _$e687_
                               (let ((_$e690_ (string? _x682_)))
                                 (if _$e690_
                                     _$e690_
                                     (let ((_$e693_ (char? _x682_)))
                                       (if _$e693_
                                           _$e693_
                                           (let ((_$e696_ (eq? _x682_
                                                               '#!void)))
                                             (if _$e696_
                                                 _$e696_
                                                 (let ((_$e699_ (keyword?
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _x682_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   (if _$e699_
                                                       _$e699_
                                                       (eof-object?
                                                        _x682_))))))))))))))))
        (if (_simple?600_ _x592_)
            (_w599_ _x592_)
            (if (or (symbol? _x592_) (null? _x592_))
                (begin (_d598_ '"'") (_w599_ _x592_))
                (if (pair? _x592_)
                    (begin
                      (std/misc/repr#display-separated__%__%
                       '#f
                       '"["
                       absent-value
                       absent-value
                       absent-value
                       _p596_
                       _x592_
                       _port593_)
                      (let ((_end605_ (cdr (last-pair _x592_))))
                        (if (null? _end605_)
                            '#!void
                            (if (_simple?600_ _end605_)
                                (begin
                                  (_d598_ '" . ")
                                  (_p__0__44144415_ _end605_))
                                (begin
                                  (_d598_ '" ")
                                  (_p__0__44144415_ _end605_)
                                  (_d598_ '" ...")))))
                      (_d598_ '"]"))
                    (if (vector? _x592_)
                        (std/misc/repr#display-separated__%__%
                         '#f
                         '"(vector"
                         '#t
                         absent-value
                         '")"
                         _p596_
                         (vector->list _x592_)
                         _port593_)
                        (if (u8vector? _x592_)
                            (std/misc/repr#display-separated__%__%
                             '#f
                             '"#u8("
                             absent-value
                             absent-value
                             '")"
                             absent-value
                             (u8vector->list _x592_)
                             _port593_)
                            (if (table? _x592_)
                                (let* ((_prefix618_
                                        (let ((_testf607_
                                               (let ()
                                                 (declare (not safe))
                                                 (##vector-ref _x592_ '2))))
                                          (if (or (not _testf607_)
                                                  (eq? _testf607_ eq?)
                                                  (eq? _testf607_ ##eq?))
                                              '"(hash-eq"
                                              (if (or (eq? _testf607_ eqv?)
                                                      (eq? _testf607_ ##eqv?))
                                                  '"(hash-eqv"
                                                  '"(hash"))))
                                       (_kr628_ (lambda (_k620_)
                                                  (if (or (_simple?600_ _k620_)
                                                          (symbol? _k620_)
                                                          (null? _k620_))
                                                      (object->string _k620_)
                                                      (string-append
                                                       '","
                                                       (_r597_ _k620_))))))
                                  (std/misc/repr#display-separated__%__%
                                   '#f
                                   _prefix618_
                                   '#t
                                   absent-value
                                   '")"
                                   (lambda (_x637_ _g4420_)
                                     (let* ((_x638645_ _x637_)
                                            (_E640649_
                                             (lambda ()
                                               (error '"No clause matching"
                                                      _x638645_)))
                                            (_K641655_
                                             (lambda (_v652_ _kr653_)
                                               (_d598_ '"(")
                                               (_d598_ _kr653_)
                                               (_d598_ '" ")
                                               (_p__0__44144415_ _v652_)
                                               (_d598_ '")"))))
                                       (if (let ()
                                             (declare (not safe))
                                             (##pair? _x638645_))
                                           (let ((_hd642658_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##car _x638645_)))
                                                 (_tl643660_
                                                  (let ()
                                                    (declare (not safe))
                                                    (##cdr _x638645_))))
                                             (let* ((_kr663_ _hd642658_)
                                                    (_v665_ _tl643660_))
                                               (_K641655_ _v665_ _kr663_)))
                                           (_E640649_))))
                                   (std/sort#sort
                                    (hash-map
                                     (lambda (_k631_ _v632_)
                                       (cons (_kr628_ _k631_) _v632_))
                                     _x592_)
                                    (lambda (_krv1634_ _krv2635_)
                                      (string<?
                                       (car _krv1634_)
                                       (car _krv2635_))))
                                   _port593_))
                                (let ((_$e667_ (if (procedure? _x592_)
                                                   (let ()
                                                     (declare (not safe))
                                                     (##procedure-name _x592_))
                                                   '#f)))
                                  (if _$e667_
                                      ((lambda (_name670_)
                                         (display _name670_ _port593_))
                                       _$e667_)
                                      (let ((_$e672_ (if (object? _x592_)
                                                         (find-method
                                                          (std/misc/rtd#checked-object-type
                                                           _x592_)
                                                          ':pr)
                                                         '#f)))
                                        (if _$e672_
                                            ((lambda (_m675_)
                                               (_m675_ _x592_
                                                       _port593_
                                                       _options594_))
                                             _$e672_)
                                            (if (and (object? _x592_)
                                                     (let ((_t677_ (std/misc/rtd#checked-object-type
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            _x592_)))
               (and (type-descriptor? _t677_)
                    (assgetq 'transparent:
                             (std/misc/rtd#checked-type-descriptor-plist
                              _t677_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (std/misc/repr#display-separated__%__%
                                                 '#f
                                                 (string-append
                                                  '"("
                                                  (symbol->string
                                                   (std/misc/rtd#type-name
                                                    (std/misc/rtd#checked-object-type
                                                     _x592_))))
                                                 '#t
                                                 absent-value
                                                 '")"
                                                 _p596_
                                                 (cdr (if (struct-type?
                                                           (std/misc/rtd#checked-object-type
                                                            _x592_))
                                                          (struct->list _x592_)
                                                          (class->list
                                                           _x592_)))
                                                 _port593_)
                                                (if (let ()
                                                      (declare (not safe))
                                                      (##values? _x592_))
                                                    (let ((_vs680_ (call-with-values
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (lambda () _x592_)
                            list)))
              (std/misc/repr#display-separated__%__0
               '#f
               '"(values"
               '#t
               absent-value
               '")"
               _p596_
               _vs680_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    (std/misc/repr#print-unrepresentable-object__%
                                                     _x592_
                                                     _port593_
                                                     _options594_))))))))))))))))
  (define std/misc/repr#print-representation__0
    (lambda (_x725_)
      (let* ((_port727_ (current-output-port))
             (_options729_ (std/misc/repr#current-representation-options)))
        (std/misc/repr#print-representation__%
         _x725_
         _port727_
         _options729_))))
  (define std/misc/repr#print-representation__1
    (lambda (_x731_ _port732_)
      (let ((_options734_ (std/misc/repr#current-representation-options)))
        (std/misc/repr#print-representation__%
         _x731_
         _port732_
         _options734_))))
  (define std/misc/repr#print-representation
    (lambda _g4422_
      (let ((_g4421_ (let () (declare (not safe)) (##length _g4422_))))
        (cond ((let () (declare (not safe)) (##fx= _g4421_ 1))
               (apply std/misc/repr#print-representation__0 _g4422_))
              ((let () (declare (not safe)) (##fx= _g4421_ 2))
               (apply std/misc/repr#print-representation__1 _g4422_))
              ((let () (declare (not safe)) (##fx= _g4421_ 3))
               (apply std/misc/repr#print-representation__% _g4422_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/misc/repr#print-representation
                _g4422_))))))
  (define std/misc/repr#print-unrepresentable-object__%
    (lambda (_object562_ _port563_ _options564_)
      (letrec ((_d566_ (lambda (_x571_) (display _x571_ _port563_)))
               (_w567_ (lambda (_x569_) (write _x569_ _port563_))))
        (_d566_ '"(begin0 #")
        (_d566_ (object->serial-number _object562_))
        (_d566_ '" ")
        (_w567_ (object->string _object562_))
        (_d566_ '")"))))
  (define std/misc/repr#print-unrepresentable-object__0
    (lambda (_object576_)
      (let* ((_port578_ (current-output-port))
             (_options580_ (std/misc/repr#current-representation-options)))
        (std/misc/repr#print-unrepresentable-object__%
         _object576_
         _port578_
         _options580_))))
  (define std/misc/repr#print-unrepresentable-object__1
    (lambda (_object582_ _port583_)
      (let ((_options585_ (std/misc/repr#current-representation-options)))
        (std/misc/repr#print-unrepresentable-object__%
         _object582_
         _port583_
         _options585_))))
  (define std/misc/repr#print-unrepresentable-object
    (lambda _g4424_
      (let ((_g4423_ (let () (declare (not safe)) (##length _g4424_))))
        (cond ((let () (declare (not safe)) (##fx= _g4423_ 1))
               (apply std/misc/repr#print-unrepresentable-object__0 _g4424_))
              ((let () (declare (not safe)) (##fx= _g4423_ 2))
               (apply std/misc/repr#print-unrepresentable-object__1 _g4424_))
              ((let () (declare (not safe)) (##fx= _g4423_ 3))
               (apply std/misc/repr#print-unrepresentable-object__% _g4424_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/misc/repr#print-unrepresentable-object
                _g4424_))))))
  (define std/misc/repr#representable::t
    (make-class-type
     'std/misc/repr#representable::t
     '()
     '()
     'representable
     '()
     '#f))
  (define std/misc/repr#representable?
    (make-class-predicate std/misc/repr#representable::t))
  (define std/misc/repr#make-representable
    (lambda _$args558_
      (apply make-class-instance std/misc/repr#representable::t _$args558_)))
  (define std/misc/repr#representable:::pr
    std/misc/repr#print-unrepresentable-object)
  (bind-method!
   std/misc/repr#representable::t
   ':pr
   std/misc/repr#representable:::pr
   '#f)
  (define std/misc/repr#prn__%
    (lambda (_x412_ _p413_ _o414_)
      (std/misc/repr#print-representation__% _x412_ _p413_ _o414_)
      (newline _p413_)))
  (define std/misc/repr#prn__0
    (lambda (_x419_)
      (let* ((_p421_ (current-output-port))
             (_o423_ (std/misc/repr#current-representation-options)))
        (std/misc/repr#prn__% _x419_ _p421_ _o423_))))
  (define std/misc/repr#prn__1
    (lambda (_x425_ _p426_)
      (let ((_o428_ (std/misc/repr#current-representation-options)))
        (std/misc/repr#prn__% _x425_ _p426_ _o428_))))
  (define std/misc/repr#prn
    (lambda _g4426_
      (let ((_g4425_ (let () (declare (not safe)) (##length _g4426_))))
        (cond ((let () (declare (not safe)) (##fx= _g4425_ 1))
               (apply std/misc/repr#prn__0 _g4426_))
              ((let () (declare (not safe)) (##fx= _g4425_ 2))
               (apply std/misc/repr#prn__1 _g4426_))
              ((let () (declare (not safe)) (##fx= _g4425_ 3))
               (apply std/misc/repr#prn__% _g4426_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/misc/repr#prn
                _g4426_))))))
  (define std/misc/repr#repr__%
    (lambda (_x396_ _options397_)
      (call-with-output-string
       '()
       (lambda (_port399_)
         (std/misc/repr#print-representation__%
          _x396_
          _port399_
          _options397_)))))
  (define std/misc/repr#repr__0
    (lambda (_x404_)
      (let ((_options406_ (std/misc/repr#current-representation-options)))
        (std/misc/repr#repr__% _x404_ _options406_))))
  (define std/misc/repr#repr
    (lambda _g4428_
      (let ((_g4427_ (let () (declare (not safe)) (##length _g4428_))))
        (cond ((let () (declare (not safe)) (##fx= _g4427_ 1))
               (apply std/misc/repr#repr__0 _g4428_))
              ((let () (declare (not safe)) (##fx= _g4427_ 2))
               (apply std/misc/repr#repr__% _g4428_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/misc/repr#repr
                _g4428_)))))))
