GOOF----LE-8-2.0X ]� 4 h�E ] g guile� � g define-module*� � � g srfi� g srfi-45� � g filenameS�
f srfi/srfi-45.scm� g importsS� g srfi-9�
�
� g gnu� � � � g exportsS� g delay� g lazy� g force� g eager� g promise?� � g replacementsS� � g set-current-module� � � g cond-expand-provide� g current-module� ! � "g promise� #g %make-promise-procedure� $g make-syntax-transformer� %$ � &$ � 'g make-promise� (g macro� )g $sc-dispatch� *) � +) � ,g _� -g any� .,- � /g
syntax-object� 0g lambda� 1g m-46961e513e-4� 2g top� 312 � 4g ribcage� 5g t-46961e513e-3� 65 � 73 � 8f l-46961e513e-9� 98 � :4679 � ;4 � <g x� =< � >f l-46961e513e-6� ?> � @4=7? � Ag shift� Bg proc-name� Cg args� DBC � E2 � FEE � Gf l-1e8ba8b5a-2ba� Hf l-1e8ba8b5a-2bb� IGH � J4DFI � Kg key� Lg value� Mg name� Ng formals� Og body� PKLMNO � QEEEEE � Rf l-1e8ba8b5a-2ad� Sf l-1e8ba8b5a-2ae� Tf l-1e8ba8b5a-2af� Uf l-1e8ba8b5a-2b0� Vf l-1e8ba8b5a-2b1� WRSTUV � X4PQW � Yg make-procedure-name� ZY � [E � \f l-1e8ba8b5a-29d� ]\ � ^4Z[] � _E � `f l-1e8ba8b5a-29c� a` � b4=_a � c3:;@A;;;;JX^b
� dg hygiene� ed � f/0ce � gg val� hE:;@ � id � j/ghi � kj � lg make-struct� mg m-46961e513e-1� nm2 � og t-1e8ba8b5a-38d� pg t-1e8ba8b5a-38c� qg t-1e8ba8b5a-38b� ropq � sg m-1e8ba8b5a-38e� ts2 � uttt � vf l-1e8ba8b5a-392� wf l-1e8ba8b5a-393� xf l-1e8ba8b5a-394� yvwx � z4ruy � {g ctor-args� |{ � }f l-1e8ba8b5a-37a� ~} � 4|_~ � �g ctor� �g field� ��� � �f l-1e8ba8b5a-376� �f l-1e8ba8b5a-377� ��� � �4�F� � �g form� �g type-name� �g constructor-spec� �g field-names� ����� � �EEEE � �f l-1e8ba8b5a-36b� �f l-1e8ba8b5a-36c� �f l-1e8ba8b5a-36d� �f l-1e8ba8b5a-36e� ����� � �4��� � �g
record-layout� �g functional-setters� �g setters� �g copier� �g getters� �g constructor� �g getter-identifiers� �g field-identifiers� ��������� � �EEEEEEEE � �f l-1e8ba8b5a-343� �f l-1e8ba8b5a-341� �f l-1e8ba8b5a-33f� �f l-1e8ba8b5a-33d� �f l-1e8ba8b5a-33b� �f l-1e8ba8b5a-339� �f l-1e8ba8b5a-337� �f l-1e8ba8b5a-335� ��������� � �4��� � �f l-1e8ba8b5a-334� �� � �4=_� � �n:;@A;z;;;�;��� � �/l�e � �/"hi � �/
�e � ����j � �fk� � �g each-any� �,��� �g syntax-violation� �
� � �
� � �f Wrong number of arguments� �g identifier?� �
� � �
� � �E;@ � �/#�i � �� � �� � �f -source expression failed to match any pattern� �g record-type-vtable� �
� � �
� � �g pw� �g default-record-printer� �
� � �
� � �g � �g set-struct-vtable-name!� �
� � �
� � �g vtable-offset-user� �
� � �
� � �g %promise?-procedure� �g m-46961e513e-11� ��2 � �g t-46961e513e-10� �� � �� � �f l-46961e513e-16� �� � �4��� � �f l-46961e513e-13� �� � �4=�� � ���;�A;;;;JX^b
� �/0�e � �g obj� �g t-1e8ba8b5a-47e� �g t-1e8ba8b5a-478� �g t-1e8ba8b5a-479� �g t-1e8ba8b5a-47a� �g t-1e8ba8b5a-47d� �g t-1e8ba8b5a-47c� �g t-1e8ba8b5a-47b� �������� � �g m-1e8ba8b5a-47f� ��2 � �������� � �f l-1e8ba8b5a-483� �f l-1e8ba8b5a-484� �f l-1e8ba8b5a-485� �f l-1e8ba8b5a-486� �f l-1e8ba8b5a-487� �f l-1e8ba8b5a-488� �f l-1e8ba8b5a-489� �������� � �4��� � �g copier-id� �� � �f l-1e8ba8b5a-476� �� � �4�_� � �g ctor-name� �� � �f l-1e8ba8b5a-46e� �� � �4�_� � �� � �f l-1e8ba8b5a-46c� �� � �4�_� � �g layout� �� � �f l-1e8ba8b5a-46a� � �4�_ �g
immutable?� �f l-1e8ba8b5a-468� �4_ �g field-count� � f l-1e8ba8b5a-466�
�4_
�g
getter-ids�
�f l-1e8ba8b5a-463� �4
_ �g field-ids� �f l-1e8ba8b5a-460� �4_ �g predicate-name�g
field-spec���� �EEEEEE �f l-1e8ba8b5a-453�f l-1e8ba8b5a-454�f l-1e8ba8b5a-455�f l-1e8ba8b5a-456�f l-1e8ba8b5a-457�f l-1e8ba8b5a-458� �!4 �"n�;�A;�;;;;�;�;�;;;;;!�� �#/�"e �$# �%g and�&/%"e �'g struct?�(/'"e �)(# �*g eq?�+/*"e �,g
struct-vtable�-/,"e �.-# �/E�;� �0/"/i �1+.0 �2&)1 �3�$2 �4E;� �5/�4i �6g throw-bad-struct�7
6 �8
6 �9g promise-val�:g %promise-val-procedure�;g free-id�<g
%%on-error�=g m-46961e513e-1d�>=2 �?> �@f l-46961e513e-1f�A@ �B4=?A �C>;BA;;;;JX^b �D/<Ce �E;D �FE- �Gg %%type�Hg t-1e8ba8b5a-3a5�Ig t-1e8ba8b5a-3a6�Jg t-1e8ba8b5a-3a7�Kg t-1e8ba8b5a-3a8�Lg t-1e8ba8b5a-3a9�Mg t-1e8ba8b5a-3aa�Ng t-1e8ba8b5a-3ab�OHIJKLMN �Pg m-1e8ba8b5a-3ac�QP2 �RQQQQQQQ �Sf l-1e8ba8b5a-3b0�Tf l-1e8ba8b5a-3b1�Uf l-1e8ba8b5a-3b2�Vf l-1e8ba8b5a-3b3�Wf l-1e8ba8b5a-3b4�Xf l-1e8ba8b5a-3b5�Yf l-1e8ba8b5a-3b6�ZSTUVWXY �[4ORZ �\g getter�]g index�^\] �_f l-1e8ba8b5a-3a3�`f l-1e8ba8b5a-3a4�a_` �b4^Fa �c�� �dEEE �ef l-1e8ba8b5a-39e�ff l-1e8ba8b5a-39f�gf l-1e8ba8b5a-3a0�hefg �i4cdh �jn;BA;[;;;b;i�� �k/Gje �l;k �m,Fl- �ng ck�og err�pg s�qop �r>> �sf l-46961e513e-22�tf l-46961e513e-23�ust �v4qru �w>v;BA;;;;JX^b
�x/nwe �yg quote�z/ywe �{Ev;B �|/"{i �}z| �~} �g %%index��/je ��;� ��,F�- ��f l-46961e513e-27��f l-46961e513e-28���� ��4qr� ��>�;BA;;;;JX^b
��/n�e ��/y�e ���;B ��/
�i ���� ��� ��g %%copier��/�je ��;� ��,F�- ��f l-46961e513e-2c��f l-46961e513e-2d���� ��4qr� ��>�;BA;;;;JX^b
��/n�e ��/y�e ��g %%promise-set-fields��E�;B ��/��i ���� ��� ��g t-46961e513e-1c��� ��f l-46961e513e-31��� ��4�?� ��>�;BA;;;;JX^b
��/0�e ��n�;BA;[;;;b;i�� ��/p�e ��� ��g if��/��e ��/*�e ��/,�e ���� ��E�;B ��/"�i ����� ��g
struct-ref��/��e ���;B ��/
�i ����� ��/6�e ��/y�e ��/9�i ���� ����� ������ ����� ��E;B ��/:�i ��g each��-- ���� ��-����-����-��g %%set-fields��g dummy��g check?��g expr����p\� ��g m-46961e513e-38���2 ���nnnn ��f l-46961e513e-3d��f l-46961e513e-3e��f l-46961e513e-3f��f l-46961e513e-40��f l-46961e513e-41������� ��4��� ��� ��f l-46961e513e-3a��� ��4=�� ��g t-1e8ba8b5a-3c4��g t-1e8ba8b5a-3c6��g t-1e8ba8b5a-3c5����� ��g m-1e8ba8b5a-3c7���2 ����� ��f l-1e8ba8b5a-3cb��f l-1e8ba8b5a-3cc��f l-1e8ba8b5a-3cd����� ��4��� ��f l-1e8ba8b5a-3c1��f l-1e8ba8b5a-3c2��f l-1e8ba8b5a-3c3����� ��4cd� ��n�;�A;�;;;���
��/��e ��E�;� ��/"�i ��/9�i ��� ��g map��� ��� ��g list��g promise-val-set!��g %promise-val-set!-procedure��,-- ��g m-46961e513e-4c���2 ��g t-46961e513e-4a��g t-46961e513e-4b���� ���� ��f l-46961e513e-51��f l-46961e513e-52���� ��4��� ��� � f l-46961e513e-4e� �4=� ���;A;;;;JX^b
�/0e �g t-1e8ba8b5a-3e6�g t-1e8ba8b5a-3e7� �g m-1e8ba8b5a-3e8� 2 �
�f l-1e8ba8b5a-3ec�f l-1e8ba8b5a-3ed�
�4
�g setter�M\ �f l-1e8ba8b5a-3e0�f l-1e8ba8b5a-3e1�f l-1e8ba8b5a-3e2� �4d �] �f l-1e8ba8b5a-3d7�f l-1e8ba8b5a-3d8� �4F �g field-specs�� �f l-1e8ba8b5a-3d3�f l-1e8ba8b5a-3d4� � 4F �!n�;A;;; �� �"/p!e �#/g!e �$"# �%/�!e �&/*!e �'/,!e �('" �)E�; �*/")i �+&(* �,g struct-set!�-/,!e �.�; �//
.i �0-"/# �1/6!e �2/y!e �3/�)i �423 �51"4 �6%+05 �7$6 �8E; �9/�8i �:g %make-value-procedure�;g
make-value�<g m-46961e513e-6d�=<2 �>g t-46961e513e-6b�?g t-46961e513e-6c�@>? �A== �Bf l-46961e513e-72�Cf l-46961e513e-73�DBC �E4@AD �F= �Gf l-46961e513e-6f�HG �I4=FH �J=E;IA;;;;JX^b
�K/0Je �Lg tag�MEE;I �N/LMi �Og proc�P/OMi �QNP �Rg m-46961e513e-69�SR2 �TSE;IA;z;;;�;��� �U/lTe �V/LMi �W/
Te �XUVWNP �YKQX �ZE;I �[/:Zi �\g pwpw�]LO �^g %value?-procedure�_g value?�`g m-46961e513e-7c�a`2 �bg t-46961e513e-7b�cb �da �ef l-46961e513e-81�fe �g4cdf �hf l-46961e513e-7e�ih �j4=di �kag;jA;;;;JX^b
�l/0ke �mSg;jA;�;;;;�;�;�;;;;;!�� �n/�me �on �p/%me �q/'me �rqn �s/*me �t/,me �utn �vEg;j �w/Lvi �xsuw �yprx �zloy �{E;j �|/^{i �}g value-tag�~g %value-tag-procedure�g m-46961e513e-88��2 ��� ��f l-46961e513e-8a��� ��4=�� ���;�A;;;;JX^b ��/<�e ��;� ���- ��S;�A;[;;;b;i�� ��/G�e ��;� ��,��- ���� ��f l-46961e513e-8d��f l-46961e513e-8e���� ��4q�� ����;�A;;;;JX^b
��/n�e ��/y�e ��E�;� ��/L�i ���� ��� ��/�e ��;� ��,��- ��f l-46961e513e-92��f l-46961e513e-93���� ��4q�� ����;�A;;;;JX^b
��/n�e ��/y�e ���;� ��/
�i ���� ��� ��/��e ��;� ��,��- ��f l-46961e513e-97��f l-46961e513e-98���� ��4q�� ����;�A;;;;JX^b
��/n�e ��/y�e ��g %%value-set-fields��E�;� ��/��i ���� ��� ��g t-46961e513e-87��� ��f l-46961e513e-9c��� ��4��� ����;�A;;;;JX^b
��/0�e ��S�;�A;[;;;b;i�� ��/p�e ��� ��/��e ��/*�e ��/,�e ���� ��E�;� ��/L�i ����� ��/��e ���;� ��/
�i ����� ��/6�e ��/y�e ��/}�i ���� ����� ������ ����� ��E;� ��/~�i ��g
value-proc��g %value-proc-procedure��g m-46961e513e-a3���2 ��� ��f l-46961e513e-a5��� ��4=�� ���;�A;;;;JX^b ��/<�e ��;� ���- ��S;�A;[;;;b;i�� ��/G�e ��;� ��,��- ���� ��f l-46961e513e-a8��f l-46961e513e-a9���� ��4q�� ����;�A;;;;JX^b
��/n�e ��/y�e ��E�;� ��/L�i ���� ��� ��/�e ��;� ��,��- ��f l-46961e513e-ad��f l-46961e513e-ae���� ��4q�� ����;�A;;;;JX^b
��/n�e ��/y�e ���;� ��/�i ���� ��� ��/��e ��;� � ,��- �f l-46961e513e-b2�f l-46961e513e-b3� �4q� ��;�A;;;;JX^b
�/ne �/ye �E;� � /�i �
�
�g t-46961e513e-a2�
�f l-46961e513e-b7� �4
� ��;�A;;;;JX^b
�/0e �S;�A;[;;;b;i�� �/pe � �/�e �/*e �/,e � �E;� �/Li � �/�e �;� �/i � �!/6e �"/ye �#/�i �$"# �%!$ �& % �'& �(E;� �)/�(i �*g m-46961e513e-be�+*2 �,+SSSS �-f l-46961e513e-c3�.f l-46961e513e-c4�/f l-46961e513e-c5�0f l-46961e513e-c6�1f l-46961e513e-c7�2-./01 �34�,2 �4+ �5f l-46961e513e-c0�65 �74=46 �8S3;7A;�;;;���
�9/�8e �:E3;7 �;/L:i �</}:i �=/�:i �><= �?g value-tag-set!�@g %value-tag-set!-procedure�Ag m-46961e513e-d2�BA2 �Cg t-46961e513e-d0�Dg t-46961e513e-d1�ECD �FBB �Gf l-46961e513e-d7�Hf l-46961e513e-d8�IGH �J4EFI �KB �Lf l-46961e513e-d4�ML �N4=KM �OBJ;NA;;;;JX^b
�P/0Oe �QSJ;NA;;; �� �R/pQe �S/gQe �TRS �U/�Qe �V/*Qe �W/,Qe �XWR �YEJ;N �Z/LYi �[VXZ �\/,Qe �]J;N �^/
]i �_\R^S �`/6Qe �a/yQe �b/?Yi �cab �d`Rc �eU[_d �fPTe �gE;N �h/@gi �ig value-proc-set!�jg %value-proc-set!-procedure�kg m-46961e513e-e2�lk2 �mg t-46961e513e-e0�ng t-46961e513e-e1�omn �pll �qf l-46961e513e-e7�rf l-46961e513e-e8�sqr �t4ops �ul �vf l-46961e513e-e4�wv �x4=uw �ylt;xA;;;;JX^b
�z/0ye �{St;xA;;; �� �|/p{e �}/g{e �~|} �/�{e ��/*{e ��/,{e ���| ��Et;x ��/L�i ����� ��/,{e ��t;x ��/�i ���|�} ��/6{e ��/y{e ��/i�i ���� ���|� ����� ��z~� ��E;x ��/j�i ��g exp���� ��g m-46961e513e-107���2 ���E ��f l-46961e513e-10c��f l-46961e513e-10d���� ��4��� ��� ��f l-46961e513e-109��� ��4=�� ��E�;� ��/'�i ��/;�i ��/y�i ��/�i ���� ��/0�i ��g m-46961e513e-11b���2 ���E ��f l-46961e513e-120��f l-46961e513e-121���� ��4��� ��� ��f l-46961e513e-11d��� ��4=�� ��E�;� ��/�i ��/�i ��g on-eagerS������g on-lazyS��� ����� ��g
promise-visit��g set-record-type-printer!��g format��f #<promise = ~s>��f #<promise => ~s>�C 5h�4 � ]4
5 4 > "