#include "run-time.h"

/* Typedefs for referenced classes */

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    D wrapper; \
    D mm_wrapper_implementation_class_; \
    D mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    D mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D Pgf_cache_;
  D debug_name_;
  D generic_function_methods_;
  D discriminator_;
} _KLsealed_generic_functionGVKe;

typedef struct {
  D wrapper;
  D head_;
  D tail_;
} _KLempty_listGVKd;

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
} _KLobject_signatureGVKe;

typedef struct {
  D wrapper;
  D properties_;
  D engine_node_callback_;
  D engine_node_entry_point_;
} _KLabsent_engine_nodeGVKg;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(27);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(29);
define__KLbyte_stringGVKd(45);
define__KLbyte_stringGVKd(34);
define__KLbyte_stringGVKd(33);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(28);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(22);
define__KLbyte_stringGVKd(2);
define__KLbyte_stringGVKd(1);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(3);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(21);

typedef struct {
  D wrapper;
  D head_;
  D tail_;
} _KLpairGVKd;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    D vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(11);
define__KLsimple_object_vectorGVKd(37);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(35);
define__KLsimple_object_vectorGVKd(6);
define__KLsimple_object_vectorGVKd(25);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(14);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(5);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(1);

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D mep_;
} _KLsimple_methodGVKe;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLfunction_classGVKi;

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
} _KLsignatureGVKe;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_symbol_name_;
  D match_variable_name_;
  D match_constraint_;
  D match_env_index_;
  D match_default_expression_;
} _KLkey_sequence_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_symbol_name_;
  D match_variable_name_;
  D match_constraint_;
  D match_env_index_;
  D match_default_expression_;
} _KLkey_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D symbol_name_;
} _KLsymbolGVKd;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D Pgf_cache_;
  D debug_name_;
  D generic_function_methods_;
  D discriminator_;
  D incremental_gf_module_;
  D incremental_gf_domain_info_;
  D incremental_gf_method_libraries_;
  D incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_nested_pattern_;
} _KLbrace_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_nested_pattern_;
} _KLbracket_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_nested_pattern_;
} _KLparen_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_nested_pattern_;
} _KLnested_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D singleton_object_;
} _KLsingletonGVKd;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_rest_pattern_;
  D match_key_patterns_;
} _KLproperty_list_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLfragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_nested_pattern_;
  D match_prefix_;
  D match_suffix_;
} _KLsplicing_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_symbol_name_;
  D match_variable_name_;
  D match_constraint_;
  D match_env_index_;
} _KLsimple_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
  D fragment_escaped_fragment_;
} _KLescaped_substitution_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
  D fragment_value_;
} _KLliteral_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLcolon_colon_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLdot_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLhash_all_keys_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLhash_key_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLhash_rest_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLhash_next_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLequal_greater_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
  D fragment_kind_;
} _KLend_of_modifiers_markerGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
  D fragment_name_;
  D hygienic_fragment_info_;
  D fragment_kind_;
} _KLoperator_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
  D fragment_name_;
} _KLname_fragmentGVdfmc_reader;

typedef struct {
  D wrapper;
  D match_source_location_;
  D match_variable_name_pattern_;
  D match_type_expression_pattern_;
} _KLvariable_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D union_type1_;
  D union_type2_;
} _KLunionGVKe;

typedef struct {
  D wrapper;
  D match_source_location_;
} _KLpattern_matchGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D head_;
  D tail_;
} _KLlistGVKd;

typedef struct {
  D wrapper;
  D rule_set_rewrite_rules_;
  D rule_set_name_;
  D rule_set_variable_name_;
  D rule_set_rewriter_variable_name_;
  D rule_set_rewriter_env_index_;
} _KLaux_rewrite_rule_setGVdfmc_macro_expander;

#define  define__KLsimple_closure_methodGVKi(nrepeated) \
  typedef struct { \
    D wrapper; \
    D xep_; \
    D function_signature_; \
    D mep_; \
    D environment_size_; \
    D environment_element_[nrepeated+1]; \
  } _KLsimple_closure_methodGVKi_##nrepeated;
define__KLsimple_closure_methodGVKi(0);


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
D KlistVKdI (D);
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLkey_sequence_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLkey_sequence_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLkey_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLkey_matchGVdfmc_macro_expanderW;
D Kmake_name_fragmentVdfmc_macro_expanderI (D);
D Kmake_colon_colon_fragmentVdfmc_macro_expanderI ();
D Kmake_equal_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Kimport_to_templateVdfmc_macro_expander;
D Kmake_parens_fragmentVdfmc_macro_expanderI (D);
D Kmake_semicolon_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Kmaybe_substitute_separatorVdfmc_macro_expander;
D Kmake_templateVdfmc_macro_expanderI (D);
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLsealed_generic_functionGVKe Kexpander_aux_rule_setsVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe KmapVKd;
extern _KLsealed_generic_functionGVKe Kexpander_main_rule_setVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kexpander_intermediate_wordsVdfmc_macro_expander;
extern _KLincremental_generic_functionGVKe KemptyQVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
D Kmake_comma_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Ksubstitute_sequence_separatedVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Krule_set_rewrite_rulesVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe KheadVKd;
extern _KLsealed_generic_functionGVKe KtailVKd;
extern _KLsealed_generic_functionGVKe Krule_patternVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Krule_compiled_templateVdfmc_macro_expander;
D Kcompute_binding_matchesVdfmc_macro_expanderMM0I (D);
D Kcompute_bound_variable_namesVdfmc_macro_expanderMM0I (D);
extern _KLsymbolGVKd KJfailure_;
extern _KLsymbolGVKd KJend_;
D Kmake_unary_operator_fragmentVdfmc_macro_expanderI (D);
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLsealed_generic_functionGVKe Kexpander_aux_rule_set_tableVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kmatch_symbol_nameVdfmc_macro_expander;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLsymbolGVKd KJdefault_;
extern _KLsealed_generic_functionGVKe Kmatch_variable_nameVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Krule_set_rewriter_variable_nameVdfmc_macro_expander;
D KEEVKdI (D, D);
D Kmake_ellipsis_fragmentVdfmc_macro_expanderI ();
D Ksplit_at_semicolonsVdfmc_macro_expanderI (D);
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLsealed_generic_functionGVKe KfirstVKd;
extern _KLincremental_generic_functionGVKe K_VKd;
D Kmake_binary_operator_fragmentVdfmc_macro_expanderI (D);
D Ksplit_at_commasVdfmc_macro_expanderI (D);
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
extern _KLclassGVKd KLbrace_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLbrace_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLbracket_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLbracket_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLparen_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLparen_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLnested_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLnested_matchGVdfmc_macro_expanderW;
extern _KLsealed_generic_functionGVKe Kmatch_constraintVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kmatch_default_expressionVdfmc_macro_expander;
D Kcompile_template_elementsVdfmc_macro_expanderMM0I (D);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLclassGVKd KLproperty_list_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLproperty_list_matchGVdfmc_macro_expanderW;
extern _KLsealed_generic_functionGVKe Kmake_literal_fragmentVdfmc_macro_expander;
extern _KLclassGVKd KLfragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLfragmentGVdfmc_readerW;
extern _KLclassGVKd KLsplicing_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsplicing_matchGVdfmc_macro_expanderW;
D Kwildcard_constraintQVdfmc_macro_expanderMM0I (D);
D Kbounded_constraintQVdfmc_macro_expanderMM0I (D);
extern _KLsymbolGVKd KJname_;
extern _KLsymbolGVKd KJtoken_;
extern _KLclassGVKd KLsimple_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsimple_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLescaped_substitution_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLescaped_substitution_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLliteral_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLliteral_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLcolon_colon_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLcolon_colon_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLdot_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLdot_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLhash_all_keys_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLhash_all_keys_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLhash_key_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLhash_key_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLhash_rest_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLhash_rest_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLhash_next_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLhash_next_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLequal_greater_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLequal_greater_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLend_of_modifiers_markerGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLend_of_modifiers_markerGVdfmc_readerW;
D Kmake_literal_fragmentVdfmc_macro_expanderMM3I (D);
extern _KLclassGVKd KLoperator_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLoperator_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLname_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLname_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLvariable_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLvariable_matchGVdfmc_macro_expanderW;
D Kmake_literal_fragmentVdfmc_macro_expanderMM4I (D);
D Kmake_dot_fragmentVdfmc_macro_expanderI ();
extern _KLsymbolGVKd KJvalues_;
D Kmake_hash_lparen_fragmentVdfmc_macro_expanderI ();
D Kmake_rparen_fragmentVdfmc_macro_expanderI ();
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
extern _KLclassGVKd KLpattern_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLpattern_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
extern _KLsealed_generic_functionGVKe Kexpander_nameVdfmc_macro_expander;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLaux_rewrite_rule_setGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLaux_rewrite_rule_setGVdfmc_macro_expanderW;
D Kconcatenate_2VKeMM1I (D, D);
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;

/* Defined object declarations */

extern _KLsealed_generic_functionGVKe Kmatch_constraint_specVdfmc_macro_expander;
extern _KLsimple_methodGVKe Kmatch_constraint_specVdfmc_macro_expanderMM0;
D Kmatch_constraint_specVdfmc_macro_expanderMM0I (D);
extern _KLsimple_methodGVKe Kmatch_constraint_specVdfmc_macro_expanderMM1;
D Kmatch_constraint_specVdfmc_macro_expanderMM1I (D);
static _KLpairGVKd K5;
static _KLpairGVKd K6;
static _KLbyte_stringGVKd_21 K7;
static _KLsignatureGVKe K8;
static _KLsimple_object_vectorGVKd_1 K9;
static _KLsignatureGVKe K10;
static _KLsimple_object_vectorGVKd_1 K11;
extern _KLsimple_methodGVKe Kcompile_macro_case_rulesVdfmc_macro_expanderMM0;
D Kcompile_macro_case_rulesVdfmc_macro_expanderMM0I (D, D);
D Kcompile_rewrite_rule_expanderVdfmc_macro_expanderMM0I (D);
static _KLsymbolGVKd KJlet_;
static _KLsymbolGVKd KJUfTU_;
static _KLsymbolGVKd KJLfragment_listG_;
static _KLsymbolGVKd KJas_fragment_tokens_;
static _KLbyte_stringGVKd_18 K19;
static _KLbyte_stringGVKd_15 K20;
static _KLbyte_stringGVKd_4 K21;
static _KLbyte_stringGVKd_3 K22;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_compile_rewrite_rule_expanderF383;
static D Kanonymous_of_compile_rewrite_rule_expanderF383I (D);
D Kcompile_main_rule_setVdfmc_macro_expanderMM0I (D, D);
static _KLsymbolGVKd KJUintermediate_wordsU_;
static _KLsymbolGVKd KJlocal_;
static _KLbyte_stringGVKd_5 K28;
static _KLbyte_stringGVKd_20 K29;
D Kcompile_rulesVdfmc_macro_expanderMM0I (D, D, D);
extern _KLsealed_generic_functionGVKe Kgenerate_match_failureVdfmc_macro_expander;
D Kcompile_ruleVdfmc_macro_expanderMM0I (D, D, D, D);
extern _KLsimple_methodGVKe Kcompile_body_patternVdfmc_macro_expanderMM0;
D Kcompile_body_patternVdfmc_macro_expanderMM0I (D, D);
D Kgenerate_bound_name_aux_rule_rewritesVdfmc_macro_expanderMM0I (D, D, D);
static _KLsymbolGVKd KJbegin_;
static _KLsymbolGVKd KJif_;
static _KLsymbolGVKd KJN_;
static _KLsymbolGVKd KJelse_;
static _KLbyte_stringGVKd_4 K40;
static _KLbyte_stringGVKd_1 K41;
static _KLbyte_stringGVKd_2 K42;
static _KLbyte_stringGVKd_5 K43;
static _KLsymbolGVKd KJLlistG_;
static _KLsymbolGVKd KJmap_;
static _KLsymbolGVKd KJcompose_;
static D Kanonymous_of_generate_bound_name_aux_rule_rewritesF50I (D, D);
static _KLsymbolGVKd KJexport_fragment_tokens_;
static _KLbyte_stringGVKd_22 K49;
static _KLbyte_stringGVKd_7 K51;
static _KLbyte_stringGVKd_3 K52;
static _KLbyte_stringGVKd_6 K53;
D Kcompile_body_partsVdfmc_macro_expanderMM0I (D, D, D);
extern _KLsimple_methodGVKe Kcompile_list_patternVdfmc_macro_expanderMM0;
D Kcompile_list_patternVdfmc_macro_expanderMM0I (D, D);
static _KLsymbolGVKd KJmatch_body_part_;
static _KLsymbolGVKd KJmatch_body_part_strict_;
D Kcompile_nested_list_patternVdfmc_macro_expanderMM0I (D);
static _KLsymbolGVKd KJUfT_afterU_;
static _KLsymbolGVKd KJUfT_beforeU_;
static _KLsymbolGVKd KJZ124Z_;
static _KLbyte_stringGVKd_1 K63;
static _KLbyte_stringGVKd_11 K64;
static _KLbyte_stringGVKd_10 K65;
D Kenv_bound_namesVdfmc_macro_expanderMM0I (D);
static _KLbyte_stringGVKd_22 K67;
static _KLbyte_stringGVKd_15 K68;
D Kcompile_list_partsVdfmc_macro_expanderMM0I (D, D, D);
extern _KLsimple_methodGVKe Kcompile_pattern_elementsVdfmc_macro_expanderMM0;
D Kcompile_pattern_elementsVdfmc_macro_expanderMM0I (D, D);
static _KLsymbolGVKd KJmatch_list_part_;
static _KLsymbolGVKd KJmatch_list_part_strict_;
D Kcompile_nested_pattern_elementsVdfmc_macro_expanderMM0I (D);
static _KLbyte_stringGVKd_22 K75;
static _KLbyte_stringGVKd_15 K76;
D Kgenerate_empty_codeVdfmc_macro_expanderMM0I (D);
extern _KLsealed_generic_functionGVKe Kcompile_pattern_elementVdfmc_macro_expander;
extern _KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM0;
D Kcompile_pattern_elementVdfmc_macro_expanderMM0I (D, D, D);
extern _KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM1;
D Kcompile_pattern_elementVdfmc_macro_expanderMM1I (D, D, D);
extern _KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM2;
D Kcompile_pattern_elementVdfmc_macro_expanderMM2I (D, D, D);
extern _KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM3;
D Kcompile_pattern_elementVdfmc_macro_expanderMM3I (D, D, D);
extern _KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM4;
D Kcompile_pattern_elementVdfmc_macro_expanderMM4I (D, D, D);
static _KLpairGVKd K89;
static _KLpairGVKd K90;
static _KLpairGVKd K91;
static _KLpairGVKd K92;
static _KLpairGVKd K93;
static _KLbyte_stringGVKd_23 K94;
extern _KLsealed_generic_functionGVKe Kgenerate_nested_matcher_codeVdfmc_macro_expander;
static _KLsymbolGVKd KJUafter_fTU_;
static _KLsymbolGVKd KJUnested_fTU_;
static _KLbyte_stringGVKd_11 K98;
static _KLbyte_stringGVKd_10 K99;
extern _KLsimple_methodGVKe Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM0;
D Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM0I (D);
extern _KLsimple_methodGVKe Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM1;
D Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM1I (D);
extern _KLsimple_methodGVKe Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM2;
D Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM2I (D);
static _KLpairGVKd K106;
static _KLpairGVKd K107;
static _KLpairGVKd K108;
static _KLbyte_stringGVKd_28 K109;
static _KLsymbolGVKd KJmatch_braces_;
static _KLbyte_stringGVKd_12 K111;
static _KLsignatureGVKe K112;
static _KLsimple_object_vectorGVKd_1 K113;
static _KLsymbolGVKd KJmatch_brackets_;
static _KLbyte_stringGVKd_14 K115;
static _KLsignatureGVKe K116;
static _KLsimple_object_vectorGVKd_1 K117;
static _KLsymbolGVKd KJmatch_parens_;
static _KLbyte_stringGVKd_12 K119;
static _KLsignatureGVKe K120;
static _KLsimple_object_vectorGVKd_1 K121;
static _KLsignatureGVKe K122;
static _KLsimple_object_vectorGVKd_3 K123;
extern _KLsealed_generic_functionGVKe Kgenerate_codeVdfmc_macro_expander;
static _KLsymbolGVKd KJUname_fTU_;
static _KLsymbolGVKd KJUtype_fTU_;
static _KLsymbolGVKd KJmatch_variable_;
static _KLbyte_stringGVKd_14 K128;
static _KLbyte_stringGVKd_9 K129;
static _KLbyte_stringGVKd_9 K130;
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM0;
D Kgenerate_codeVdfmc_macro_expanderMM0I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM1;
D Kgenerate_codeVdfmc_macro_expanderMM1I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM2;
D Kgenerate_codeVdfmc_macro_expanderMM2I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM3;
D Kgenerate_codeVdfmc_macro_expanderMM3I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM4;
D Kgenerate_codeVdfmc_macro_expanderMM4I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM5;
D Kgenerate_codeVdfmc_macro_expanderMM5I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM6;
D Kgenerate_codeVdfmc_macro_expanderMM6I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM7;
D Kgenerate_codeVdfmc_macro_expanderMM7I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM8;
D Kgenerate_codeVdfmc_macro_expanderMM8I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM9;
D Kgenerate_codeVdfmc_macro_expanderMM9I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM10;
D Kgenerate_codeVdfmc_macro_expanderMM10I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM11;
D Kgenerate_codeVdfmc_macro_expanderMM11I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM12;
D Kgenerate_codeVdfmc_macro_expanderMM12I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM13;
D Kgenerate_codeVdfmc_macro_expanderMM13I (D);
extern _KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM14;
D Kgenerate_codeVdfmc_macro_expanderMM14I (D);
static _KLpairGVKd K161;
static _KLpairGVKd K162;
static _KLpairGVKd K163;
static _KLpairGVKd K164;
static _KLpairGVKd K165;
static _KLpairGVKd K166;
static _KLpairGVKd K167;
static _KLpairGVKd K168;
static _KLpairGVKd K169;
static _KLpairGVKd K170;
static _KLpairGVKd K171;
static _KLpairGVKd K172;
static _KLpairGVKd K173;
static _KLpairGVKd K174;
static _KLpairGVKd K175;
static _KLbyte_stringGVKd_13 K176;
static _KLsymbolGVKd KJUrestU_;
extern _KLsealed_generic_functionGVKe Kgenerate_key_default_thunkVdfmc_macro_expander;
static _KLsymbolGVKd KJmatch_property_list_;
static _KLbyte_stringGVKd_19 K180;
extern _KLsimple_methodGVKe Kgenerate_key_default_thunkVdfmc_macro_expanderMM0;
D Kgenerate_key_default_thunkVdfmc_macro_expanderMM0I (D);
extern _KLsimple_methodGVKe Kgenerate_key_default_thunkVdfmc_macro_expanderMM1;
D Kgenerate_key_default_thunkVdfmc_macro_expanderMM1I (D);
static _KLpairGVKd K185;
static _KLpairGVKd K186;
static _KLbyte_stringGVKd_26 K187;
static _KLsymbolGVKd KJmethod_;
static _KLbyte_stringGVKd_6 K189;
static _KLsignatureGVKe K190;
static _KLsimple_object_vectorGVKd_1 K191;
static _KLsingletonGVKd K192;
static _KLbyte_stringGVKd_6 K193;
static _KLsignatureGVKe K194;
static _KLsimple_object_vectorGVKd_1 K195;
static _KLsymbolGVKd KJmatch_spliced_name_;
static _KLbyte_stringGVKd_18 K197;
static _KLsignatureGVKe K198;
static _KLsimple_object_vectorGVKd_1 K199;
extern _KLsealed_generic_functionGVKe Kgenerate_constraint_function_codeVdfmc_macro_expander;
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM0;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM0I (D);
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM1;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM1I (D);
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM2;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM2I (D);
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM3;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM3I (D);
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM4;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM4I (D);
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM5;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM5I (D);
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM6;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM6I (D);
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM7;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM7I (D);
extern _KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM8;
D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM8I (D);
static _KLpairGVKd K219;
static _KLpairGVKd K220;
static _KLpairGVKd K221;
static _KLpairGVKd K222;
static _KLpairGVKd K223;
static _KLpairGVKd K224;
static _KLpairGVKd K225;
static _KLpairGVKd K226;
static _KLpairGVKd K227;
static _KLbyte_stringGVKd_33 K228;
static _KLsymbolGVKd KJmatch_symbol_constraint_;
static _KLbyte_stringGVKd_23 K230;
static _KLsignatureGVKe K231;
static _KLsimple_object_vectorGVKd_1 K232;
static _KLsingletonGVKd K233;
static _KLsymbolGVKd KJsymbol_;
static _KLbyte_stringGVKd_6 K235;
static _KLsymbolGVKd KJmatch_macro_constraint_;
static _KLbyte_stringGVKd_22 K237;
static _KLsignatureGVKe K238;
static _KLsimple_object_vectorGVKd_1 K239;
static _KLsingletonGVKd K240;
static _KLsymbolGVKd KJmacro_;
static _KLbyte_stringGVKd_5 K242;
static _KLsymbolGVKd KJmatch_bounded_case_body_constraint_;
static _KLbyte_stringGVKd_34 K244;
static _KLsignatureGVKe K245;
static _KLsimple_object_vectorGVKd_1 K246;
static _KLsingletonGVKd K247;
static _KLsymbolGVKd KJcase_body_;
static _KLbyte_stringGVKd_9 K249;
static _KLsymbolGVKd KJmatch_bounded_body_constraint_no_backtracking_;
static _KLbyte_stringGVKd_45 K251;
static _KLsignatureGVKe K252;
static _KLsimple_object_vectorGVKd_1 K253;
static _KLsingletonGVKd K254;
static _KLsymbolGVKd KJbodyX_;
static _KLbyte_stringGVKd_5 K256;
static _KLsymbolGVKd KJmatch_bounded_body_constraint_;
static _KLbyte_stringGVKd_29 K258;
static _KLsignatureGVKe K259;
static _KLsimple_object_vectorGVKd_1 K260;
static _KLsingletonGVKd K261;
static _KLsymbolGVKd KJbody_;
static _KLbyte_stringGVKd_4 K263;
static _KLsymbolGVKd KJmatch_variable_constraint_;
static _KLbyte_stringGVKd_25 K265;
static _KLsignatureGVKe K266;
static _KLsimple_object_vectorGVKd_1 K267;
static _KLsingletonGVKd K268;
static _KLsymbolGVKd KJvariable_;
static _KLbyte_stringGVKd_8 K270;
static _KLsymbolGVKd KJmatch_expression_constraint_;
static _KLbyte_stringGVKd_27 K272;
static _KLsignatureGVKe K273;
static _KLsimple_object_vectorGVKd_1 K274;
static _KLsingletonGVKd K275;
static _KLsymbolGVKd KJexpression_;
static _KLbyte_stringGVKd_10 K277;
static _KLsymbolGVKd KJmatch_name_constraint_;
static _KLbyte_stringGVKd_21 K279;
static _KLsignatureGVKe K280;
static _KLsimple_object_vectorGVKd_1 K281;
static _KLsingletonGVKd K282;
static _KLsymbolGVKd KJmatch_token_constraint_;
static _KLbyte_stringGVKd_22 K284;
static _KLsignatureGVKe K285;
static _KLsimple_object_vectorGVKd_1 K286;
static _KLsingletonGVKd K287;
static _KLsignatureGVKe K288;
static _KLsimple_object_vectorGVKd_1 K289;
static _KLsignatureGVKe K290;
static _KLsimple_object_vectorGVKd_1 K291;
static _KLsymbolGVKd KJmatch_literal_;
static _KLbyte_stringGVKd_13 K293;
static _KLsignatureGVKe K294;
static _KLsimple_object_vectorGVKd_1 K295;
static _KLsymbolGVKd KJmatch_colon_colon_;
static _KLbyte_stringGVKd_17 K297;
static _KLsignatureGVKe K298;
static _KLsimple_object_vectorGVKd_1 K299;
static _KLsymbolGVKd KJmatch_dot_;
static _KLbyte_stringGVKd_9 K301;
static _KLsignatureGVKe K302;
static _KLsimple_object_vectorGVKd_1 K303;
static _KLsymbolGVKd KJmatch_hash_all_keys_;
static _KLbyte_stringGVKd_19 K305;
static _KLsignatureGVKe K306;
static _KLsimple_object_vectorGVKd_1 K307;
static _KLsymbolGVKd KJmatch_hash_key_;
static _KLbyte_stringGVKd_14 K309;
static _KLsignatureGVKe K310;
static _KLsimple_object_vectorGVKd_1 K311;
static _KLsymbolGVKd KJmatch_hash_rest_;
static _KLbyte_stringGVKd_15 K313;
static _KLsignatureGVKe K314;
static _KLsimple_object_vectorGVKd_1 K315;
static _KLsymbolGVKd KJmatch_hash_next_;
static _KLbyte_stringGVKd_15 K317;
static _KLsignatureGVKe K318;
static _KLsimple_object_vectorGVKd_1 K319;
static _KLsymbolGVKd KJmatch_equal_greater_;
static _KLbyte_stringGVKd_19 K321;
static _KLsignatureGVKe K322;
static _KLsimple_object_vectorGVKd_1 K323;
static _KLsymbolGVKd KJmatch_end_of_modifiers_;
static _KLbyte_stringGVKd_22 K325;
static _KLsignatureGVKe K326;
static _KLsimple_object_vectorGVKd_1 K327;
static _KLsymbolGVKd KJmatch_operator_;
static _KLbyte_stringGVKd_14 K329;
static _KLsignatureGVKe K330;
static _KLsimple_object_vectorGVKd_1 K331;
static _KLsymbolGVKd KJmatch_name_;
static _KLbyte_stringGVKd_10 K333;
static _KLsignatureGVKe K334;
static _KLsimple_object_vectorGVKd_1 K335;
static _KLsignatureGVKe K336;
static _KLsimple_object_vectorGVKd_3 K337;
D Kgenerate_success_codeVdfmc_macro_expanderMM0I (D);
static _KLsymbolGVKd KJUwildcard_loopU_;
static _KLsymbolGVKd KJUcollectorU_;
static _KLsymbolGVKd KJemptyQ_;
static _KLsymbolGVKd KJconcatenateX_;
static _KLsymbolGVKd KJlist_;
static _KLsymbolGVKd KJhead_;
static _KLsymbolGVKd KJtail_;
static _KLbyte_stringGVKd_4 K346;
static _KLbyte_stringGVKd_4 K347;
static _KLbyte_stringGVKd_4 K348;
static _KLbyte_stringGVKd_12 K349;
static _KLbyte_stringGVKd_6 K350;
static _KLbyte_stringGVKd_11 K351;
static _KLbyte_stringGVKd_15 K352;
static _KLsignatureGVKe K353;
static _KLsimple_object_vectorGVKd_3 K354;
static _KLsymbolGVKd KJotherwise_;
static _KLsymbolGVKd KJmatch_otherwise_;
static _KLbyte_stringGVKd_15 K357;
static _KLbyte_stringGVKd_9 K358;
static _KLsignatureGVKe K359;
static _KLsimple_object_vectorGVKd_3 K360;
static _KLsignatureGVKe K361;
static _KLsimple_object_vectorGVKd_3 K362;
static _KLunionGVKe K363;
static _KLsignatureGVKe K364;
static _KLsimple_object_vectorGVKd_2 K365;
extern _KLsimple_methodGVKe Kgenerate_match_failureVdfmc_macro_expanderMM0;
D Kgenerate_match_failureVdfmc_macro_expanderMM0I (D, D, D);
extern _KLsimple_methodGVKe Kgenerate_match_failureVdfmc_macro_expanderMM1;
D Kgenerate_match_failureVdfmc_macro_expanderMM1I (D, D, D);
static _KLpairGVKd K370;
static _KLpairGVKd K371;
static _KLbyte_stringGVKd_22 K372;
static _KLsymbolGVKd KJmacro_case_;
static _KLsymbolGVKd KJmacro_main_rule_match_error_;
static _KLsymbolGVKd KJdylan_variable_name_;
static _KLbyte_stringGVKd_19 K376;
static _KLbyte_stringGVKd_27 K377;
static _KLbyte_stringGVKd_10 K378;
static _KLsymbolGVKd KJmacro_aux_rule_match_error_;
static _KLbyte_stringGVKd_26 K380;
static _KLsignatureGVKe K381;
static _KLsimple_object_vectorGVKd_3 K382;
extern _KLsimple_methodGVKe Kcompile_aux_rule_set_definitionVdfmc_macro_expanderMM0;
D Kcompile_aux_rule_set_definitionVdfmc_macro_expanderMM0I (D, D);
static _KLsignatureGVKe K386;
extern _KLsimple_methodGVKe Kcompile_define_macro_rulesVdfmc_macro_expanderMM0;
D Kcompile_define_macro_rulesVdfmc_macro_expanderMM0I (D, D);
static _KLsymbolGVKd KJcall_as_fragment_tokens_;
static _KLbyte_stringGVKd_23 K390;

/* Indirection variables */

static D IKJlet_ = &KJlet_;
static D IKJUfTU_ = &KJUfTU_;
static D IKJLfragment_listG_ = &KJLfragment_listG_;
static D IKJas_fragment_tokens_ = &KJas_fragment_tokens_;
static D IKJUintermediate_wordsU_ = &KJUintermediate_wordsU_;
static D IKJlocal_ = &KJlocal_;
static D IKJbegin_ = &KJbegin_;
static D IKJif_ = &KJif_;
static D IKJN_ = &KJN_;
static D IKJelse_ = &KJelse_;
static D IKJLlistG_ = &KJLlistG_;
static D IKJmap_ = &KJmap_;
static D IKJcompose_ = &KJcompose_;
static D IKJexport_fragment_tokens_ = &KJexport_fragment_tokens_;
static D IKJmatch_body_part_ = &KJmatch_body_part_;
static D IKJmatch_body_part_strict_ = &KJmatch_body_part_strict_;
static D IKJUfT_afterU_ = &KJUfT_afterU_;
static D IKJUfT_beforeU_ = &KJUfT_beforeU_;
static D IKJZ124Z_ = &KJZ124Z_;
static D IKJmatch_list_part_ = &KJmatch_list_part_;
static D IKJmatch_list_part_strict_ = &KJmatch_list_part_strict_;
static D IKJUafter_fTU_ = &KJUafter_fTU_;
static D IKJUnested_fTU_ = &KJUnested_fTU_;
static D IKJmatch_braces_ = &KJmatch_braces_;
static D IKJmatch_brackets_ = &KJmatch_brackets_;
static D IKJmatch_parens_ = &KJmatch_parens_;
static D IKJUname_fTU_ = &KJUname_fTU_;
static D IKJUtype_fTU_ = &KJUtype_fTU_;
static D IKJmatch_variable_ = &KJmatch_variable_;
static D IKJUrestU_ = &KJUrestU_;
static D IKJmatch_property_list_ = &KJmatch_property_list_;
static D IKJmethod_ = &KJmethod_;
static D IKJmatch_spliced_name_ = &KJmatch_spliced_name_;
static D IKJmatch_symbol_constraint_ = &KJmatch_symbol_constraint_;
static D IKJsymbol_ = &KJsymbol_;
static D IKJmatch_macro_constraint_ = &KJmatch_macro_constraint_;
static D IKJmacro_ = &KJmacro_;
static D IKJmatch_bounded_case_body_constraint_ = &KJmatch_bounded_case_body_constraint_;
static D IKJcase_body_ = &KJcase_body_;
static D IKJmatch_bounded_body_constraint_no_backtracking_ = &KJmatch_bounded_body_constraint_no_backtracking_;
static D IKJbodyX_ = &KJbodyX_;
static D IKJmatch_bounded_body_constraint_ = &KJmatch_bounded_body_constraint_;
static D IKJbody_ = &KJbody_;
static D IKJmatch_variable_constraint_ = &KJmatch_variable_constraint_;
static D IKJvariable_ = &KJvariable_;
static D IKJmatch_expression_constraint_ = &KJmatch_expression_constraint_;
static D IKJexpression_ = &KJexpression_;
static D IKJmatch_name_constraint_ = &KJmatch_name_constraint_;
static D IKJmatch_token_constraint_ = &KJmatch_token_constraint_;
static D IKJmatch_literal_ = &KJmatch_literal_;
static D IKJmatch_colon_colon_ = &KJmatch_colon_colon_;
static D IKJmatch_dot_ = &KJmatch_dot_;
static D IKJmatch_hash_all_keys_ = &KJmatch_hash_all_keys_;
static D IKJmatch_hash_key_ = &KJmatch_hash_key_;
static D IKJmatch_hash_rest_ = &KJmatch_hash_rest_;
static D IKJmatch_hash_next_ = &KJmatch_hash_next_;
static D IKJmatch_equal_greater_ = &KJmatch_equal_greater_;
static D IKJmatch_end_of_modifiers_ = &KJmatch_end_of_modifiers_;
static D IKJmatch_operator_ = &KJmatch_operator_;
static D IKJmatch_name_ = &KJmatch_name_;
static D IKJUwildcard_loopU_ = &KJUwildcard_loopU_;
static D IKJUcollectorU_ = &KJUcollectorU_;
static D IKJemptyQ_ = &KJemptyQ_;
static D IKJconcatenateX_ = &KJconcatenateX_;
static D IKJlist_ = &KJlist_;
static D IKJhead_ = &KJhead_;
static D IKJtail_ = &KJtail_;
static D IKJotherwise_ = &KJotherwise_;
static D IKJmatch_otherwise_ = &KJmatch_otherwise_;
static D IKJmacro_case_ = &KJmacro_case_;
static D IKJmacro_main_rule_match_error_ = &KJmacro_main_rule_match_error_;
static D IKJdylan_variable_name_ = &KJdylan_variable_name_;
static D IKJmacro_aux_rule_match_error_ = &KJmacro_aux_rule_match_error_;
static D IKJcall_as_fragment_tokens_ = &KJcall_as_fragment_tokens_;

/* Variables */

D match_constraint_specVdfmc_macro_expander = &Kmatch_constraint_specVdfmc_macro_expander;
D compile_define_macro_rulesVdfmc_macro_expander = &Kcompile_define_macro_rulesVdfmc_macro_expanderMM0;
D compile_macro_case_rulesVdfmc_macro_expander = &Kcompile_macro_case_rulesVdfmc_macro_expanderMM0;

/* Objects */

_KLsealed_generic_functionGVKe Kmatch_constraint_specVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K7,
  &K5,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kmatch_constraint_specVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K10,
  &Kmatch_constraint_specVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kmatch_constraint_specVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K8,
  &Kmatch_constraint_specVdfmc_macro_expanderMM1I
};

static _KLpairGVKd K5 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_constraint_specVdfmc_macro_expanderMM0,
  &K6
};

static _KLpairGVKd K6 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_constraint_specVdfmc_macro_expanderMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_21 K7 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "match-constraint-spec"
};

static _KLsignatureGVKe K8 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K9
};

static _KLsimple_object_vectorGVKd_1 K9 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLkey_sequence_matchGVdfmc_macro_expander
};

static _KLsignatureGVKe K10 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K11
};

static _KLsimple_object_vectorGVKd_1 K11 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLkey_matchGVdfmc_macro_expander
};

_KLsimple_methodGVKe Kcompile_macro_case_rulesVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kcompile_macro_case_rulesVdfmc_macro_expanderMM0I
};

static _KLsymbolGVKd KJlet_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K22
};

static _KLsymbolGVKd KJUfTU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K21
};

static _KLsymbolGVKd KJLfragment_listG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K20
};

static _KLsymbolGVKd KJas_fragment_tokens_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K19
};

static _KLbyte_stringGVKd_18 K19 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "as-fragment-tokens"
};

static _KLbyte_stringGVKd_15 K20 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "<fragment-list>"
};

static _KLbyte_stringGVKd_4 K21 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "_f*_"
};

static _KLbyte_stringGVKd_3 K22 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 13,
  "let"
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_compile_rewrite_rule_expanderF383 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K386,
  &Kanonymous_of_compile_rewrite_rule_expanderF383I,
  (D) 1
};

static _KLsymbolGVKd KJUintermediate_wordsU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K29
};

static _KLsymbolGVKd KJlocal_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K28
};

static _KLbyte_stringGVKd_5 K28 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "local"
};

static _KLbyte_stringGVKd_20 K29 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "_intermediate-words_"
};

_KLsealed_generic_functionGVKe Kgenerate_match_failureVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 1,
  &K372,
  &K370,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kcompile_body_patternVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K364,
  &Kcompile_body_patternVdfmc_macro_expanderMM0I
};

static _KLsymbolGVKd KJbegin_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K43
};

static _KLsymbolGVKd KJif_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K42
};

static _KLsymbolGVKd KJN_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K41
};

static _KLsymbolGVKd KJelse_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K40
};

static _KLbyte_stringGVKd_4 K40 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "else"
};

static _KLbyte_stringGVKd_1 K41 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 5,
  "~"
};

static _KLbyte_stringGVKd_2 K42 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 9,
  "if"
};

static _KLbyte_stringGVKd_5 K43 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "begin"
};

static _KLsymbolGVKd KJLlistG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K53
};

static _KLsymbolGVKd KJmap_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K52
};

static _KLsymbolGVKd KJcompose_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K51
};

static _KLsymbolGVKd KJexport_fragment_tokens_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K49
};

static _KLbyte_stringGVKd_22 K49 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "export-fragment-tokens"
};

static _KLbyte_stringGVKd_7 K51 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "compose"
};

static _KLbyte_stringGVKd_3 K52 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 13,
  "map"
};

static _KLbyte_stringGVKd_6 K53 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "<list>"
};

_KLsimple_methodGVKe Kcompile_list_patternVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K364,
  &Kcompile_list_patternVdfmc_macro_expanderMM0I
};

static _KLsymbolGVKd KJmatch_body_part_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K68
};

static _KLsymbolGVKd KJmatch_body_part_strict_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K67
};

static _KLsymbolGVKd KJUfT_afterU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K65
};

static _KLsymbolGVKd KJUfT_beforeU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K64
};

static _KLsymbolGVKd KJZ124Z_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K63
};

static _KLbyte_stringGVKd_1 K63 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 5,
  "|"
};

static _KLbyte_stringGVKd_11 K64 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "_f*-before_"
};

static _KLbyte_stringGVKd_10 K65 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "_f*-after_"
};

static _KLbyte_stringGVKd_22 K67 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "match-body-part-strict"
};

static _KLbyte_stringGVKd_15 K68 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "match-body-part"
};

_KLsimple_methodGVKe Kcompile_pattern_elementsVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K364,
  &Kcompile_pattern_elementsVdfmc_macro_expanderMM0I
};

static _KLsymbolGVKd KJmatch_list_part_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K76
};

static _KLsymbolGVKd KJmatch_list_part_strict_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K75
};

static _KLbyte_stringGVKd_22 K75 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "match-list-part-strict"
};

static _KLbyte_stringGVKd_15 K76 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "match-list-part"
};

_KLsealed_generic_functionGVKe Kcompile_pattern_elementVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 1,
  &K94,
  &K89,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K361,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K359,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM1I
};

_KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K353,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM2I
};

_KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K336,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM3I
};

_KLsimple_methodGVKe Kcompile_pattern_elementVdfmc_macro_expanderMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K122,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM4I
};

static _KLpairGVKd K89 = {
  &KLpairGVKdW /* wrapper */,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM0,
  &K90
};

static _KLpairGVKd K90 = {
  &KLpairGVKdW /* wrapper */,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM1,
  &K91
};

static _KLpairGVKd K91 = {
  &KLpairGVKdW /* wrapper */,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM2,
  &K92
};

static _KLpairGVKd K92 = {
  &KLpairGVKdW /* wrapper */,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM3,
  &K93
};

static _KLpairGVKd K93 = {
  &KLpairGVKdW /* wrapper */,
  &Kcompile_pattern_elementVdfmc_macro_expanderMM4,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_23 K94 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "compile-pattern-element"
};

_KLsealed_generic_functionGVKe Kgenerate_nested_matcher_codeVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K109,
  &K106,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLsymbolGVKd KJUafter_fTU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K99
};

static _KLsymbolGVKd KJUnested_fTU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K98
};

static _KLbyte_stringGVKd_11 K98 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "_nested-f*_"
};

static _KLbyte_stringGVKd_10 K99 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "_after-f*_"
};

_KLsimple_methodGVKe Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K120,
  &Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K116,
  &Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM1I
};

_KLsimple_methodGVKe Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K112,
  &Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM2I
};

static _KLpairGVKd K106 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM0,
  &K107
};

static _KLpairGVKd K107 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM1,
  &K108
};

static _KLpairGVKd K108 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM2,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_28 K109 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 113,
  "generate-nested-matcher-code"
};

static _KLsymbolGVKd KJmatch_braces_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K111
};

static _KLbyte_stringGVKd_12 K111 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "match-braces"
};

static _KLsignatureGVKe K112 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K113
};

static _KLsimple_object_vectorGVKd_1 K113 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLbrace_matchGVdfmc_macro_expander
};

static _KLsymbolGVKd KJmatch_brackets_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K115
};

static _KLbyte_stringGVKd_14 K115 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "match-brackets"
};

static _KLsignatureGVKe K116 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K117
};

static _KLsimple_object_vectorGVKd_1 K117 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLbracket_matchGVdfmc_macro_expander
};

static _KLsymbolGVKd KJmatch_parens_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K119
};

static _KLbyte_stringGVKd_12 K119 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "match-parens"
};

static _KLsignatureGVKe K120 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K121
};

static _KLsimple_object_vectorGVKd_1 K121 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLparen_matchGVdfmc_macro_expander
};

static _KLsignatureGVKe K122 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040205,
  &K123
};

static _KLsimple_object_vectorGVKd_3 K123 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLobjectGVKd,
  &KLnested_matchGVdfmc_macro_expander,
  &KLobjectGVKd
};

_KLsealed_generic_functionGVKe Kgenerate_codeVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K176,
  &K161,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLsymbolGVKd KJUname_fTU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K130
};

static _KLsymbolGVKd KJUtype_fTU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K129
};

static _KLsymbolGVKd KJmatch_variable_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K128
};

static _KLbyte_stringGVKd_14 K128 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "match-variable"
};

static _KLbyte_stringGVKd_9 K129 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "_type-f*_"
};

static _KLbyte_stringGVKd_9 K130 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "_name-f*_"
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K334,
  &Kgenerate_codeVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K330,
  &Kgenerate_codeVdfmc_macro_expanderMM1I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K326,
  &Kgenerate_codeVdfmc_macro_expanderMM2I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K322,
  &Kgenerate_codeVdfmc_macro_expanderMM3I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K318,
  &Kgenerate_codeVdfmc_macro_expanderMM4I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K314,
  &Kgenerate_codeVdfmc_macro_expanderMM5I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K310,
  &Kgenerate_codeVdfmc_macro_expanderMM6I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM7 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K306,
  &Kgenerate_codeVdfmc_macro_expanderMM7I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM8 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K302,
  &Kgenerate_codeVdfmc_macro_expanderMM8I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM9 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K298,
  &Kgenerate_codeVdfmc_macro_expanderMM9I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM10 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K294,
  &Kgenerate_codeVdfmc_macro_expanderMM10I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM11 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K290,
  &Kgenerate_codeVdfmc_macro_expanderMM11I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM12 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K288,
  &Kgenerate_codeVdfmc_macro_expanderMM12I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM13 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K198,
  &Kgenerate_codeVdfmc_macro_expanderMM13I
};

_KLsimple_methodGVKe Kgenerate_codeVdfmc_macro_expanderMM14 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K194,
  &Kgenerate_codeVdfmc_macro_expanderMM14I
};

static _KLpairGVKd K161 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM0,
  &K162
};

static _KLpairGVKd K162 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM1,
  &K163
};

static _KLpairGVKd K163 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM2,
  &K164
};

static _KLpairGVKd K164 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM3,
  &K165
};

static _KLpairGVKd K165 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM4,
  &K166
};

static _KLpairGVKd K166 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM5,
  &K167
};

static _KLpairGVKd K167 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM6,
  &K168
};

static _KLpairGVKd K168 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM7,
  &K169
};

static _KLpairGVKd K169 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM8,
  &K170
};

static _KLpairGVKd K170 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM9,
  &K171
};

static _KLpairGVKd K171 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM10,
  &K172
};

static _KLpairGVKd K172 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM11,
  &K173
};

static _KLpairGVKd K173 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM12,
  &K174
};

static _KLpairGVKd K174 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM13,
  &K175
};

static _KLpairGVKd K175 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_codeVdfmc_macro_expanderMM14,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_13 K176 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "generate-code"
};

static _KLsymbolGVKd KJUrestU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K193
};

_KLsealed_generic_functionGVKe Kgenerate_key_default_thunkVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K187,
  &K185,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLsymbolGVKd KJmatch_property_list_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K180
};

static _KLbyte_stringGVKd_19 K180 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "match-property-list"
};

_KLsimple_methodGVKe Kgenerate_key_default_thunkVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K190,
  &Kgenerate_key_default_thunkVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kgenerate_key_default_thunkVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kgenerate_key_default_thunkVdfmc_macro_expanderMM1I
};

static _KLpairGVKd K185 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_key_default_thunkVdfmc_macro_expanderMM0,
  &K186
};

static _KLpairGVKd K186 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_key_default_thunkVdfmc_macro_expanderMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_26 K187 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "generate-key-default-thunk"
};

static _KLsymbolGVKd KJmethod_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K189
};

static _KLbyte_stringGVKd_6 K189 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "method"
};

static _KLsignatureGVKe K190 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K191
};

static _KLsimple_object_vectorGVKd_1 K191 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K192
};

static _KLsingletonGVKd K192 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPfalseVKi
};

static _KLbyte_stringGVKd_6 K193 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "_rest_"
};

static _KLsignatureGVKe K194 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K195
};

static _KLsimple_object_vectorGVKd_1 K195 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLproperty_list_matchGVdfmc_macro_expander
};

static _KLsymbolGVKd KJmatch_spliced_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K197
};

static _KLbyte_stringGVKd_18 K197 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "match-spliced-name"
};

static _KLsignatureGVKe K198 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K199
};

static _KLsimple_object_vectorGVKd_1 K199 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLsplicing_matchGVdfmc_macro_expander
};

_KLsealed_generic_functionGVKe Kgenerate_constraint_function_codeVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K228,
  &K219,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K285,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K280,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM1I
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K273,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM2I
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K266,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM3I
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K259,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM4I
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K252,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM5I
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K245,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM6I
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM7 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K238,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM7I
};

_KLsimple_methodGVKe Kgenerate_constraint_function_codeVdfmc_macro_expanderMM8 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K231,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM8I
};

static _KLpairGVKd K219 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM0,
  &K220
};

static _KLpairGVKd K220 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM1,
  &K221
};

static _KLpairGVKd K221 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM2,
  &K222
};

static _KLpairGVKd K222 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM3,
  &K223
};

static _KLpairGVKd K223 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM4,
  &K224
};

static _KLpairGVKd K224 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM5,
  &K225
};

static _KLpairGVKd K225 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM6,
  &K226
};

static _KLpairGVKd K226 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM7,
  &K227
};

static _KLpairGVKd K227 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_constraint_function_codeVdfmc_macro_expanderMM8,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_33 K228 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 133,
  "generate-constraint-function-code"
};

static _KLsymbolGVKd KJmatch_symbol_constraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K230
};

static _KLbyte_stringGVKd_23 K230 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "match-symbol-constraint"
};

static _KLsignatureGVKe K231 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K232
};

static _KLsimple_object_vectorGVKd_1 K232 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K233
};

static _KLsingletonGVKd K233 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJsymbol_
};

static _KLsymbolGVKd KJsymbol_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K235
};

static _KLbyte_stringGVKd_6 K235 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "symbol"
};

static _KLsymbolGVKd KJmatch_macro_constraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K237
};

static _KLbyte_stringGVKd_22 K237 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "match-macro-constraint"
};

static _KLsignatureGVKe K238 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K239
};

static _KLsimple_object_vectorGVKd_1 K239 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K240
};

static _KLsingletonGVKd K240 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJmacro_
};

static _KLsymbolGVKd KJmacro_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K242
};

static _KLbyte_stringGVKd_5 K242 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "macro"
};

static _KLsymbolGVKd KJmatch_bounded_case_body_constraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K244
};

static _KLbyte_stringGVKd_34 K244 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 137,
  "match-bounded-case-body-constraint"
};

static _KLsignatureGVKe K245 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K246
};

static _KLsimple_object_vectorGVKd_1 K246 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K247
};

static _KLsingletonGVKd K247 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJcase_body_
};

static _KLsymbolGVKd KJcase_body_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K249
};

static _KLbyte_stringGVKd_9 K249 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "case-body"
};

static _KLsymbolGVKd KJmatch_bounded_body_constraint_no_backtracking_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K251
};

static _KLbyte_stringGVKd_45 K251 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 181,
  "match-bounded-body-constraint-no-backtracking"
};

static _KLsignatureGVKe K252 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K253
};

static _KLsimple_object_vectorGVKd_1 K253 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K254
};

static _KLsingletonGVKd K254 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJbodyX_
};

static _KLsymbolGVKd KJbodyX_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K256
};

static _KLbyte_stringGVKd_5 K256 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "body!"
};

static _KLsymbolGVKd KJmatch_bounded_body_constraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K258
};

static _KLbyte_stringGVKd_29 K258 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 117,
  "match-bounded-body-constraint"
};

static _KLsignatureGVKe K259 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K260
};

static _KLsimple_object_vectorGVKd_1 K260 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K261
};

static _KLsingletonGVKd K261 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJbody_
};

static _KLsymbolGVKd KJbody_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K263
};

static _KLbyte_stringGVKd_4 K263 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "body"
};

static _KLsymbolGVKd KJmatch_variable_constraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K265
};

static _KLbyte_stringGVKd_25 K265 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "match-variable-constraint"
};

static _KLsignatureGVKe K266 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K267
};

static _KLsimple_object_vectorGVKd_1 K267 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K268
};

static _KLsingletonGVKd K268 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJvariable_
};

static _KLsymbolGVKd KJvariable_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K270
};

static _KLbyte_stringGVKd_8 K270 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "variable"
};

static _KLsymbolGVKd KJmatch_expression_constraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K272
};

static _KLbyte_stringGVKd_27 K272 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 109,
  "match-expression-constraint"
};

static _KLsignatureGVKe K273 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K274
};

static _KLsimple_object_vectorGVKd_1 K274 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K275
};

static _KLsingletonGVKd K275 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJexpression_
};

static _KLsymbolGVKd KJexpression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K277
};

static _KLbyte_stringGVKd_10 K277 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "expression"
};

static _KLsymbolGVKd KJmatch_name_constraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K279
};

static _KLbyte_stringGVKd_21 K279 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "match-name-constraint"
};

static _KLsignatureGVKe K280 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K281
};

static _KLsimple_object_vectorGVKd_1 K281 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K282
};

static _KLsingletonGVKd K282 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJname_
};

static _KLsymbolGVKd KJmatch_token_constraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K284
};

static _KLbyte_stringGVKd_22 K284 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "match-token-constraint"
};

static _KLsignatureGVKe K285 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K286
};

static _KLsimple_object_vectorGVKd_1 K286 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K287
};

static _KLsingletonGVKd K287 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJtoken_
};

static _KLsignatureGVKe K288 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K289
};

static _KLsimple_object_vectorGVKd_1 K289 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLsimple_matchGVdfmc_macro_expander
};

static _KLsignatureGVKe K290 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K291
};

static _KLsimple_object_vectorGVKd_1 K291 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLescaped_substitution_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_literal_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K293
};

static _KLbyte_stringGVKd_13 K293 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "match-literal"
};

static _KLsignatureGVKe K294 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K295
};

static _KLsimple_object_vectorGVKd_1 K295 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLliteral_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_colon_colon_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K297
};

static _KLbyte_stringGVKd_17 K297 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "match-colon-colon"
};

static _KLsignatureGVKe K298 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K299
};

static _KLsimple_object_vectorGVKd_1 K299 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLcolon_colon_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_dot_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K301
};

static _KLbyte_stringGVKd_9 K301 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "match-dot"
};

static _KLsignatureGVKe K302 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K303
};

static _KLsimple_object_vectorGVKd_1 K303 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLdot_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_hash_all_keys_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K305
};

static _KLbyte_stringGVKd_19 K305 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "match-hash-all-keys"
};

static _KLsignatureGVKe K306 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K307
};

static _KLsimple_object_vectorGVKd_1 K307 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLhash_all_keys_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_hash_key_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K309
};

static _KLbyte_stringGVKd_14 K309 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "match-hash-key"
};

static _KLsignatureGVKe K310 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K311
};

static _KLsimple_object_vectorGVKd_1 K311 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLhash_key_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_hash_rest_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K313
};

static _KLbyte_stringGVKd_15 K313 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "match-hash-rest"
};

static _KLsignatureGVKe K314 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K315
};

static _KLsimple_object_vectorGVKd_1 K315 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLhash_rest_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_hash_next_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K317
};

static _KLbyte_stringGVKd_15 K317 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "match-hash-next"
};

static _KLsignatureGVKe K318 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K319
};

static _KLsimple_object_vectorGVKd_1 K319 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLhash_next_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_equal_greater_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K321
};

static _KLbyte_stringGVKd_19 K321 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "match-equal-greater"
};

static _KLsignatureGVKe K322 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K323
};

static _KLsimple_object_vectorGVKd_1 K323 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLequal_greater_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_end_of_modifiers_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K325
};

static _KLbyte_stringGVKd_22 K325 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "match-end-of-modifiers"
};

static _KLsignatureGVKe K326 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K327
};

static _KLsimple_object_vectorGVKd_1 K327 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLend_of_modifiers_markerGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_operator_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K329
};

static _KLbyte_stringGVKd_14 K329 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "match-operator"
};

static _KLsignatureGVKe K330 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K331
};

static _KLsimple_object_vectorGVKd_1 K331 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLoperator_fragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmatch_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K333
};

static _KLbyte_stringGVKd_10 K333 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "match-name"
};

static _KLsignatureGVKe K334 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K335
};

static _KLsimple_object_vectorGVKd_1 K335 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLname_fragmentGVdfmc_reader
};

static _KLsignatureGVKe K336 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040205,
  &K337
};

static _KLsimple_object_vectorGVKd_3 K337 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLobjectGVKd,
  &KLvariable_matchGVdfmc_macro_expander,
  &KLobjectGVKd
};

static _KLsymbolGVKd KJUwildcard_loopU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K352
};

static _KLsymbolGVKd KJUcollectorU_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K351
};

static _KLsymbolGVKd KJemptyQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K350
};

static _KLsymbolGVKd KJconcatenateX_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K349
};

static _KLsymbolGVKd KJlist_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K348
};

static _KLsymbolGVKd KJhead_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K347
};

static _KLsymbolGVKd KJtail_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K346
};

static _KLbyte_stringGVKd_4 K346 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "tail"
};

static _KLbyte_stringGVKd_4 K347 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "head"
};

static _KLbyte_stringGVKd_4 K348 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "list"
};

static _KLbyte_stringGVKd_12 K349 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "concatenate!"
};

static _KLbyte_stringGVKd_6 K350 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "empty?"
};

static _KLbyte_stringGVKd_11 K351 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "_collector_"
};

static _KLbyte_stringGVKd_15 K352 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "_wildcard-loop_"
};

static _KLsignatureGVKe K353 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 48234509,
  &K354
};

static _KLsimple_object_vectorGVKd_3 K354 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLobjectGVKd,
  &KLsimple_matchGVdfmc_macro_expander,
  &KLobjectGVKd
};

static _KLsymbolGVKd KJotherwise_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K358
};

static _KLsymbolGVKd KJmatch_otherwise_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K357
};

static _KLbyte_stringGVKd_15 K357 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "match-otherwise"
};

static _KLbyte_stringGVKd_9 K358 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "otherwise"
};

static _KLsignatureGVKe K359 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 48234509,
  &K360
};

static _KLsimple_object_vectorGVKd_3 K360 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLobjectGVKd,
  &KLname_fragmentGVdfmc_reader,
  &KLobjectGVKd
};

static _KLsignatureGVKe K361 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040205,
  &K362
};

static _KLsimple_object_vectorGVKd_3 K362 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLobjectGVKd,
  &K363,
  &KLobjectGVKd
};

static _KLunionGVKe K363 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &KLfragmentGVdfmc_reader,
  &KLpattern_matchGVdfmc_macro_expander
};

static _KLsignatureGVKe K364 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040201,
  &K365
};

static _KLsimple_object_vectorGVKd_2 K365 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLobjectGVKd,
  &KLlistGVKd
};

_KLsimple_methodGVKe Kgenerate_match_failureVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K381,
  &Kgenerate_match_failureVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kgenerate_match_failureVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  &Kgenerate_match_failureVdfmc_macro_expanderMM1I
};

static _KLpairGVKd K370 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_match_failureVdfmc_macro_expanderMM0,
  &K371
};

static _KLpairGVKd K371 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_match_failureVdfmc_macro_expanderMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_22 K372 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "generate-match-failure"
};

static _KLsymbolGVKd KJmacro_case_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K378
};

static _KLsymbolGVKd KJmacro_main_rule_match_error_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K377
};

static _KLsymbolGVKd KJdylan_variable_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K376
};

static _KLbyte_stringGVKd_19 K376 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "dylan-variable-name"
};

static _KLbyte_stringGVKd_27 K377 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 109,
  "macro-main-rule-match-error"
};

static _KLbyte_stringGVKd_10 K378 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "macro-case"
};

static _KLsymbolGVKd KJmacro_aux_rule_match_error_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K380
};

static _KLbyte_stringGVKd_26 K380 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "macro-aux-rule-match-error"
};

static _KLsignatureGVKe K381 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040205,
  &K382
};

static _KLsimple_object_vectorGVKd_3 K382 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLobjectGVKd,
  &KLaux_rewrite_rule_setGVdfmc_macro_expander,
  &KLobjectGVKd
};

_KLsimple_methodGVKe Kcompile_aux_rule_set_definitionVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kcompile_aux_rule_set_definitionVdfmc_macro_expanderMM0I
};

static _KLsignatureGVKe K386 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 45088769,
  &KPempty_vectorVKi
};

_KLsimple_methodGVKe Kcompile_define_macro_rulesVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kcompile_define_macro_rulesVdfmc_macro_expanderMM0I
};

static _KLsymbolGVKd KJcall_as_fragment_tokens_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K390
};

static _KLbyte_stringGVKd_23 K390 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "call-as-fragment-tokens"
};

/* Code */

D Kmatch_constraint_specVdfmc_macro_expanderMM0I (D key_) {
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:477
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:478
  T2 = SLOT_VALUE_INITD(key_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:478
  T3 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:477
  return(T3);
}

D Kmatch_constraint_specVdfmc_macro_expanderMM1I (D key_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:481
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:482
  T3 = SLOT_VALUE_INITD(key_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:482
  T4.vector_element_[0] = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:482
  T2 = KlistVKdI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:481
  return(T2);
}

D Kcompile_macro_case_rulesVdfmc_macro_expanderMM0I (D input_, D exp_) {
  D code_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_8 T18 = {&KLsimple_object_vectorGVKdW, (D) 33};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:10
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:11
  code_ = Kcompile_rewrite_rule_expanderVdfmc_macro_expanderMM0I(exp_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T4 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T6 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLfragment_listG_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJas_fragment_tokens_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T10 = CONGRUENT_CALL1(input_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T17.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T11 = KlistVKdI(&T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T13 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T14 = CONGRUENT_CALL1(code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T15 = CONGRUENT_CALL2(T13, T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T18.vector_element_[0] = T4;
  T18.vector_element_[1] = T5;
  T18.vector_element_[2] = T6;
  T18.vector_element_[3] = T7;
  T18.vector_element_[4] = T8;
  T18.vector_element_[5] = T9;
  T18.vector_element_[6] = T12;
  T18.vector_element_[7] = T15;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:12
  T16 = Kmake_templateVdfmc_macro_expanderI(&T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:10
  return(T16);
}

D Kcompile_rewrite_rule_expanderVdfmc_macro_expanderMM0I (D exp_) {
  D T2;
  D aux_methods_code_;
  D T4;
  D main_code_;
  D intermediate_words_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  _KLsimple_object_vectorGVKd_1 T29 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T30;
  D T31;
  _KLsimple_object_vectorGVKd_5 T32 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_8 T33 = {&KLsimple_object_vectorGVKdW, (D) 33};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:22
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:24
  T29.vector_element_[0] = exp_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:24
  T30 = primitive_copy_vector(&T29);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:24
  T31 = MAKE_CLOSURE_INITD(&Kanonymous_of_compile_rewrite_rule_expanderF383, 1, T30);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:25
  T2 = CALL1(&Kexpander_aux_rule_setsVdfmc_macro_expander, exp_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:24
  aux_methods_code_ = CALL2(&KmapVKd, T31, T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:27
  T4 = CALL1(&Kexpander_main_rule_setVdfmc_macro_expander, exp_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:27
  main_code_ = Kcompile_main_rule_setVdfmc_macro_expanderMM0I(exp_, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:29
  intermediate_words_ = CALL1(&Kexpander_intermediate_wordsVdfmc_macro_expander, exp_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:30
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T7 = CONGRUENT_CALL1(aux_methods_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:30
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUintermediate_wordsU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    T10 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T11 = CONGRUENT_CALL1(intermediate_words_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    T12 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T13 = CONGRUENT_CALL1(main_code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T14 = CONGRUENT_CALL2(T12, T13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    T32.vector_element_[0] = T8;
    T32.vector_element_[1] = T9;
    T32.vector_element_[2] = T10;
    T32.vector_element_[3] = T11;
    T32.vector_element_[4] = T14;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:31
    T15 = Kmake_templateVdfmc_macro_expanderI(&T32);
    T28 = T15;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T16 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUintermediate_wordsU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T18 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T19 = CONGRUENT_CALL1(intermediate_words_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T20 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T21 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlocal_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T22 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T23 = CONGRUENT_CALL2(aux_methods_code_, T22);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T24 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T25 = CONGRUENT_CALL1(main_code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T26 = CONGRUENT_CALL2(T24, T25);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T33.vector_element_[0] = T16;
    T33.vector_element_[1] = T17;
    T33.vector_element_[2] = T18;
    T33.vector_element_[3] = T19;
    T33.vector_element_[4] = T20;
    T33.vector_element_[5] = T21;
    T33.vector_element_[6] = T23;
    T33.vector_element_[7] = T26;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:34
    T27 = Kmake_templateVdfmc_macro_expanderI(&T33);
    T28 = T27;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:30
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:22
  return(T28);
}

static D Kanonymous_of_compile_rewrite_rule_expanderF383I (D args_) {
  D T1;
  D T2;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:24
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:24
  T1 = Kconcatenate_2VKeMM1I(CREF(0), args_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:24
  T2 = APPLY1(&Kcompile_aux_rule_set_definitionVdfmc_macro_expanderMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:24
  return(T2);
}

D Kcompile_main_rule_setVdfmc_macro_expanderMM0I (D exp_, D set_) {
  D T3;
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:40
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:41
  T3 = CALL1(&Krule_set_rewrite_rulesVdfmc_macro_expander, set_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:41
  T4 = Kcompile_rulesVdfmc_macro_expanderMM0I(exp_, &KPfalseVKi, T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:40
  return(T4);
}

D Kcompile_rulesVdfmc_macro_expanderMM0I (D exp_, D set_, D rules_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:50
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:51
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T4 = CONGRUENT_CALL1(rules_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:51
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:52
    CONGRUENT_CALL_PROLOG(&Kgenerate_match_failureVdfmc_macro_expander, 3);
    T5 = CONGRUENT_CALL3(exp_, set_, rules_);
    T9 = T5;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:54
    T6 = CALL1(&KheadVKd, rules_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:54
    T7 = CALL1(&KtailVKd, rules_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:54
    T8 = Kcompile_ruleVdfmc_macro_expanderMM0I(exp_, set_, T6, T7);
    T9 = T8;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:51
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:50
  return(T9);
}

D Kcompile_ruleVdfmc_macro_expanderMM0I (D exp_, D set_, D rule_, D more_rules_) {
  D pattern_;
  D template_code_;
  D binding_matches_;
  D bound_names_;
  D match_code_;
  D more_match_code_;
  D rewrite_code_;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D matched_code_;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  _KLsimple_object_vectorGVKd_2 T44 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T45 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T46 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_14 T47 = {&KLsimple_object_vectorGVKdW, (D) 57};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:75
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:76
  pattern_ = CALL1(&Krule_patternVdfmc_macro_expander, rule_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:77
  template_code_ = CALL1(&Krule_compiled_templateVdfmc_macro_expander, rule_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:78
  binding_matches_ = Kcompute_binding_matchesVdfmc_macro_expanderMM0I(pattern_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:79
  bound_names_ = Kcompute_bound_variable_namesVdfmc_macro_expanderMM0I(pattern_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:80
  match_code_ = CALL2(&Kcompile_body_patternVdfmc_macro_expanderMM0, bound_names_, pattern_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:81
  more_match_code_ = Kcompile_rulesVdfmc_macro_expanderMM0I(exp_, set_, more_rules_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:83
  rewrite_code_ = Kgenerate_bound_name_aux_rule_rewritesVdfmc_macro_expanderMM0I(exp_, set_, binding_matches_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:85
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T12 = CONGRUENT_CALL1(rewrite_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:85
  if (T12 != &KPfalseVKi) {
    matched_code_ = template_code_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:88
    T13 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:88
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T14 = CONGRUENT_CALL2(rewrite_code_, T13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:88
    T15 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:88
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T16 = CONGRUENT_CALL1(template_code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:88
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T17 = CONGRUENT_CALL2(T15, T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:88
    T44.vector_element_[0] = T14;
    T44.vector_element_[1] = T17;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:88
    T18 = Kmake_templateVdfmc_macro_expanderI(&T44);
    matched_code_ = T18;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:85
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T20 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T21 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T22 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T23 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T24 = CONGRUENT_CALL2(bound_names_, T23);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T25 = CONGRUENT_CALL2(T22, T24);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T45.vector_element_[0] = T21;
  T45.vector_element_[1] = T25;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T26 = KlistVKdI(&T45);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T27 = Kmake_parens_fragmentVdfmc_macro_expanderI(T26);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T28 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T29 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T30 = CONGRUENT_CALL1(match_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T31 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T32 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T33 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T34 = Kmake_unary_operator_fragmentVdfmc_macro_expanderI(IKJN_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T35 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T46.vector_element_[0] = T34;
  T46.vector_element_[1] = T35;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T36 = KlistVKdI(&T46);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T37 = Kmake_parens_fragmentVdfmc_macro_expanderI(T36);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T38 = CONGRUENT_CALL1(matched_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJelse_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T40 = CONGRUENT_CALL1(more_match_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T41 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T42 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T47.vector_element_[0] = T20;
  T47.vector_element_[1] = T27;
  T47.vector_element_[2] = T28;
  T47.vector_element_[3] = T29;
  T47.vector_element_[4] = T30;
  T47.vector_element_[5] = T31;
  T47.vector_element_[6] = T32;
  T47.vector_element_[7] = T33;
  T47.vector_element_[8] = T37;
  T47.vector_element_[9] = T38;
  T47.vector_element_[10] = T39;
  T47.vector_element_[11] = T40;
  T47.vector_element_[12] = T41;
  T47.vector_element_[13] = T42;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:90
  T43 = Kmake_templateVdfmc_macro_expanderI(&T47);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:75
  return(T43);
}

D Kcompile_body_patternVdfmc_macro_expanderMM0I (D e_, D mT_) {
  D T3_0;
  D T3_1;
  D parts_;
  D n_parts_;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:137
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:138
  T3_0 = Ksplit_at_semicolonsVdfmc_macro_expanderI(mT_);
  T3_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:138
  parts_ = T3_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:138
  n_parts_ = T3_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:139
  T6 = Kcompile_body_partsVdfmc_macro_expanderMM0I(e_, parts_, n_parts_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:137
  return(T6);
}

D Kgenerate_bound_name_aux_rule_rewritesVdfmc_macro_expanderMM0I (D exp_, D set_, D binding_matches_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10T, T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D aux_set_;
  D bound_nameF16;
  D aux_name_;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D bound_nameF53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D T67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  _KLsimple_object_vectorGVKd_3 T78 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_3 T79 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_7 T80 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_1 T81 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T82 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_5 T83 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_4 T84 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T85;
  _KLsimple_object_vectorGVKd_2 T86 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_7 T87 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_1 T88 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T89 = {&KLsimple_object_vectorGVKdW, (D) 21};
  D T90;
  D T91;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:98
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  T76 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  SLOT_VALUE_SETTER(&KPfalseVKi, T76, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  SLOT_VALUE_SETTER(&KPempty_listVKi, T76, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  SLOT_VALUE_SETTER(T76, T76, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
  T4 = CALL1(&Kforward_iteration_protocolVKd, binding_matches_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
  T5 = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
  T6 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
  T7 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
  T8 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
  T9 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
  T10T = T5;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
    T10 = T10T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
    T11 = CALL3(T8, binding_matches_, T10, T6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
    if (T11 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
      T12 = CALL2(T9, binding_matches_, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:103
      T13 = CALL1(&Kexpander_aux_rule_set_tableVdfmc_macro_expander, exp_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:103
      T14 = CALL1(&Kmatch_symbol_nameVdfmc_macro_expander, T12);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:103
      aux_set_ = CALL4(&KelementVKd, T13, T14, &KJdefault_, &KPfalseVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:105
      if (aux_set_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:106
        bound_nameF16 = CALL1(&Kmatch_variable_nameVdfmc_macro_expander, T12);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:107
        aux_name_ = CALL1(&Krule_set_rewriter_variable_nameVdfmc_macro_expander, aux_set_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:112
        T77 = primitive_instanceQ(T12,&KLkey_sequence_matchGVdfmc_macro_expander);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:112
        if (T77 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T18 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T19 = CONGRUENT_CALL1(bound_nameF16);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T20 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T21 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLlistG_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T22 = Kmake_equal_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmap_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T24 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJcompose_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T25 = CONGRUENT_CALL1(aux_name_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T26 = Kmake_comma_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T27 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJas_fragment_tokens_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T78.vector_element_[0] = T25;
          T78.vector_element_[1] = T26;
          T78.vector_element_[2] = T27;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T28 = KlistVKdI(&T78);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T29 = Kmake_parens_fragmentVdfmc_macro_expanderI(T28);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T30 = Kmake_comma_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T31 = CONGRUENT_CALL1(bound_nameF16);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
          T32 = CONGRUENT_CALL2(T30, T31);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T79.vector_element_[0] = T24;
          T79.vector_element_[1] = T29;
          T79.vector_element_[2] = T32;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T33 = KlistVKdI(&T79);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T34 = Kmake_parens_fragmentVdfmc_macro_expanderI(T33);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T80.vector_element_[0] = T18;
          T80.vector_element_[1] = T19;
          T80.vector_element_[2] = T20;
          T80.vector_element_[3] = T21;
          T80.vector_element_[4] = T22;
          T80.vector_element_[5] = T23;
          T80.vector_element_[6] = T34;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          T35 = Kmake_templateVdfmc_macro_expanderI(&T80);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:113
          Kanonymous_of_generate_bound_name_aux_rule_rewritesF50I(T76, T35);
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T36 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T37 = CONGRUENT_CALL1(bound_nameF16);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T38 = Kmake_equal_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T39 = CONGRUENT_CALL1(aux_name_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T40 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJas_fragment_tokens_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T41 = CONGRUENT_CALL1(bound_nameF16);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T81.vector_element_[0] = T41;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T42 = KlistVKdI(&T81);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T43 = Kmake_parens_fragmentVdfmc_macro_expanderI(T42);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T82.vector_element_[0] = T40;
          T82.vector_element_[1] = T43;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T44 = KlistVKdI(&T82);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T45 = Kmake_parens_fragmentVdfmc_macro_expanderI(T44);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T83.vector_element_[0] = T36;
          T83.vector_element_[1] = T37;
          T83.vector_element_[2] = T38;
          T83.vector_element_[3] = T39;
          T83.vector_element_[4] = T45;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          T46 = Kmake_templateVdfmc_macro_expanderI(&T83);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:117
          Kanonymous_of_generate_bound_name_aux_rule_rewritesF50I(T76, T46);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:112
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:121
        T47 = KEEVKdI(aux_set_, set_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:121
        if (T47 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:122
          T48 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:122
          T49 = Kmake_ellipsis_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:122
          T50 = Kmake_equal_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:122
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T51 = CONGRUENT_CALL1(bound_nameF16);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:122
          T84.vector_element_[0] = T48;
          T84.vector_element_[1] = T49;
          T84.vector_element_[2] = T50;
          T84.vector_element_[3] = T51;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:122
          T52 = Kmake_templateVdfmc_macro_expanderI(&T84);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:122
          Kanonymous_of_generate_bound_name_aux_rule_rewritesF50I(T76, T52);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:121
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:125
        bound_nameF53 = CALL1(&Kmatch_variable_nameVdfmc_macro_expander, T12);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:126
        T85 = primitive_instanceQ(T12,&KLkey_sequence_matchGVdfmc_macro_expander);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:126
        if (T85 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T54 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T55 = CONGRUENT_CALL1(bound_nameF53);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T56 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T57 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLlistG_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T58 = Kmake_equal_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T59 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmap_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T60 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_fragment_tokens_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T61 = Kmake_comma_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T62 = CONGRUENT_CALL1(bound_nameF53);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
          T63 = CONGRUENT_CALL2(T61, T62);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T86.vector_element_[0] = T60;
          T86.vector_element_[1] = T63;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T64 = KlistVKdI(&T86);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T65 = Kmake_parens_fragmentVdfmc_macro_expanderI(T64);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T87.vector_element_[0] = T54;
          T87.vector_element_[1] = T55;
          T87.vector_element_[2] = T56;
          T87.vector_element_[3] = T57;
          T87.vector_element_[4] = T58;
          T87.vector_element_[5] = T59;
          T87.vector_element_[6] = T65;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          T66 = Kmake_templateVdfmc_macro_expanderI(&T87);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:127
          Kanonymous_of_generate_bound_name_aux_rule_rewritesF50I(T76, T66);
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          T67 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T68 = CONGRUENT_CALL1(bound_nameF53);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          T69 = Kmake_equal_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          T70 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_fragment_tokens_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T71 = CONGRUENT_CALL1(bound_nameF53);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          T88.vector_element_[0] = T71;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          T72 = KlistVKdI(&T88);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          T73 = Kmake_parens_fragmentVdfmc_macro_expanderI(T72);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          T89.vector_element_[0] = T67;
          T89.vector_element_[1] = T68;
          T89.vector_element_[2] = T69;
          T89.vector_element_[3] = T70;
          T89.vector_element_[4] = T73;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          T74 = Kmake_templateVdfmc_macro_expanderI(&T89);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:130
          Kanonymous_of_generate_bound_name_aux_rule_rewritesF50I(T76, T74);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:126
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:105
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
      T75 = CALL2(T7, binding_matches_, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
      T10T = T75;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:101
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  T90 = SLOT_VALUE_INITD(T76, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  T91 = T90;
  MV_SET_ELT(0, T90);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:98
  return(T91);
}

static D Kanonymous_of_generate_bound_name_aux_rule_rewritesF50I (D collector_, D value_) {
  D T2;
  D T3;
  D c_head_;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  T2 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  SLOT_VALUE_SETTER(value_, T2, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  SLOT_VALUE_SETTER(&KPempty_listVKi, T2, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  T3 = SLOT_VALUE_INITD(collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  primitive_type_check(T3, &KLpairGVKd);
  c_head_ = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  SLOT_VALUE_SETTER(T2, c_head_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  SLOT_VALUE_SETTER(T2, collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  T5 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:100
  return(T5);
}

D Kcompile_body_partsVdfmc_macro_expanderMM0I (D e_, D parts_, D n_parts_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D matcher_;
  D T13;
  D before_code_;
  D T15;
  D T16;
  D after_code_;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  _KLsimple_object_vectorGVKd_1 T57 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T58 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T59 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_1 T60 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_25 T61 = {&KLsimple_object_vectorGVKdW, (D) 101};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:142
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:143
  CONGRUENT_CALL_PROLOG(&KEVKd, 2);
  T4 = CONGRUENT_CALL2(n_parts_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:143
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:144
    T5 = CALL1(&KfirstVKd, parts_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:144
    T6 = CALL2(&Kcompile_list_patternVdfmc_macro_expanderMM0, e_, T5);
    T56 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:147
    CONGRUENT_CALL_PROLOG(&KEVKd, 2);
    T7 = CONGRUENT_CALL2(n_parts_, (D) 9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:147
    if (T7 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:148
      T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_body_part_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:148
      T57.vector_element_[0] = T8;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:148
      T9 = Kmake_templateVdfmc_macro_expanderI(&T57);
      matcher_ = T9;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:150
      T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_body_part_strict_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:150
      T58.vector_element_[0] = T10;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:150
      T11 = Kmake_templateVdfmc_macro_expanderI(&T58);
      matcher_ = T11;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:147
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:152
    T13 = CALL1(&KfirstVKd, parts_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:152
    before_code_ = Kcompile_nested_list_patternVdfmc_macro_expanderMM0I(T13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:153
    T15 = CALL1(&KtailVKd, parts_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:153
    CONGRUENT_CALL_PROLOG(&K_VKd, 2);
    T16 = CONGRUENT_CALL2(n_parts_, (D) 5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:153
    after_code_ = Kcompile_body_partsVdfmc_macro_expanderMM0I(e_, T15, T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T18 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T19 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T20 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T21 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfT_afterU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T22 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfT_beforeU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T59.vector_element_[0] = T19;
    T59.vector_element_[1] = T20;
    T59.vector_element_[2] = T21;
    T59.vector_element_[3] = T22;
    T59.vector_element_[4] = T23;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T24 = KlistVKdI(&T59);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T25 = Kmake_parens_fragmentVdfmc_macro_expanderI(T24);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T26 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T27 = CONGRUENT_CALL1(matcher_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T28 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T60.vector_element_[0] = T28;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T29 = KlistVKdI(&T60);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T30 = Kmake_parens_fragmentVdfmc_macro_expanderI(T29);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T31 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T32 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T33 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T34 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T35 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T36 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T37 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T38 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfT_beforeU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T39 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T40 = CONGRUENT_CALL1(before_code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T41 = CONGRUENT_CALL2(T39, T40);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T42 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T43 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T44 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T45 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T46 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T47 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T48 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T49 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfT_afterU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T50 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T51 = CONGRUENT_CALL1(after_code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T52 = CONGRUENT_CALL2(T50, T51);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T53 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T54 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T61.vector_element_[0] = T18;
    T61.vector_element_[1] = T25;
    T61.vector_element_[2] = T26;
    T61.vector_element_[3] = T27;
    T61.vector_element_[4] = T30;
    T61.vector_element_[5] = T31;
    T61.vector_element_[6] = T32;
    T61.vector_element_[7] = T33;
    T61.vector_element_[8] = T34;
    T61.vector_element_[9] = T35;
    T61.vector_element_[10] = T36;
    T61.vector_element_[11] = T37;
    T61.vector_element_[12] = T38;
    T61.vector_element_[13] = T41;
    T61.vector_element_[14] = T42;
    T61.vector_element_[15] = T43;
    T61.vector_element_[16] = T44;
    T61.vector_element_[17] = T45;
    T61.vector_element_[18] = T46;
    T61.vector_element_[19] = T47;
    T61.vector_element_[20] = T48;
    T61.vector_element_[21] = T49;
    T61.vector_element_[22] = T52;
    T61.vector_element_[23] = T53;
    T61.vector_element_[24] = T54;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:154
    T55 = Kmake_templateVdfmc_macro_expanderI(&T61);
    T56 = T55;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:143
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:142
  return(T56);
}

D Kcompile_list_patternVdfmc_macro_expanderMM0I (D e_, D mT_) {
  D T3_0;
  D T3_1;
  D parts_;
  D n_parts_;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:175
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:176
  T3_0 = Ksplit_at_commasVdfmc_macro_expanderI(mT_);
  T3_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:176
  parts_ = T3_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:176
  n_parts_ = T3_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:177
  T6 = Kcompile_list_partsVdfmc_macro_expanderMM0I(e_, parts_, n_parts_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:175
  return(T6);
}

D Kcompile_nested_list_patternVdfmc_macro_expanderMM0I (D mT_) {
  D e_;
  D names_;
  D code_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  _KLsimple_object_vectorGVKd_2 T18 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_6 T19 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:168
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:169
  e_ = Kcompute_bound_variable_namesVdfmc_macro_expanderMM0I(mT_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:170
  names_ = Kenv_bound_namesVdfmc_macro_expanderMM0I(e_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:171
  code_ = CALL2(&Kcompile_list_patternVdfmc_macro_expanderMM0, e_, mT_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T6 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T7 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T8 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T9 = CONGRUENT_CALL2(names_, T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T10 = CONGRUENT_CALL2(T7, T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T18.vector_element_[0] = T6;
  T18.vector_element_[1] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T11 = KlistVKdI(&T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T13 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T15 = CONGRUENT_CALL1(code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T16 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T19.vector_element_[0] = T5;
  T19.vector_element_[1] = T12;
  T19.vector_element_[2] = T13;
  T19.vector_element_[3] = T14;
  T19.vector_element_[4] = T15;
  T19.vector_element_[5] = T16;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:172
  T17 = Kmake_templateVdfmc_macro_expanderI(&T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:168
  return(T17);
}

D Kenv_bound_namesVdfmc_macro_expanderMM0I (D e_) {
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:506
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:507
  T2 = e_;
  MV_SET_ELT(0, e_);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:506
  return(T2);
}

D Kcompile_list_partsVdfmc_macro_expanderMM0I (D e_, D parts_, D n_parts_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D matcher_;
  D T13;
  D before_code_;
  D T15;
  D T16;
  D after_code_;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  _KLsimple_object_vectorGVKd_1 T57 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T58 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T59 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_1 T60 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_25 T61 = {&KLsimple_object_vectorGVKdW, (D) 101};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:180
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:181
  CONGRUENT_CALL_PROLOG(&KEVKd, 2);
  T4 = CONGRUENT_CALL2(n_parts_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:181
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:182
    T5 = CALL1(&KfirstVKd, parts_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:182
    T6 = CALL2(&Kcompile_pattern_elementsVdfmc_macro_expanderMM0, e_, T5);
    T56 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:185
    CONGRUENT_CALL_PROLOG(&KEVKd, 2);
    T7 = CONGRUENT_CALL2(n_parts_, (D) 9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:185
    if (T7 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:186
      T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_list_part_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:186
      T57.vector_element_[0] = T8;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:186
      T9 = Kmake_templateVdfmc_macro_expanderI(&T57);
      matcher_ = T9;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:188
      T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_list_part_strict_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:188
      T58.vector_element_[0] = T10;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:188
      T11 = Kmake_templateVdfmc_macro_expanderI(&T58);
      matcher_ = T11;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:185
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:190
    T13 = CALL1(&KfirstVKd, parts_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:190
    before_code_ = Kcompile_nested_pattern_elementsVdfmc_macro_expanderMM0I(T13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:191
    T15 = CALL1(&KtailVKd, parts_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:191
    CONGRUENT_CALL_PROLOG(&K_VKd, 2);
    T16 = CONGRUENT_CALL2(n_parts_, (D) 5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:191
    after_code_ = Kcompile_list_partsVdfmc_macro_expanderMM0I(e_, T15, T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T18 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T19 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T20 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T21 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfT_afterU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T22 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfT_beforeU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T59.vector_element_[0] = T19;
    T59.vector_element_[1] = T20;
    T59.vector_element_[2] = T21;
    T59.vector_element_[3] = T22;
    T59.vector_element_[4] = T23;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T24 = KlistVKdI(&T59);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T25 = Kmake_parens_fragmentVdfmc_macro_expanderI(T24);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T26 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T27 = CONGRUENT_CALL1(matcher_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T28 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T60.vector_element_[0] = T28;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T29 = KlistVKdI(&T60);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T30 = Kmake_parens_fragmentVdfmc_macro_expanderI(T29);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T31 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T32 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T33 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T34 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T35 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T36 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T37 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T38 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfT_beforeU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T39 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T40 = CONGRUENT_CALL1(before_code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T41 = CONGRUENT_CALL2(T39, T40);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T42 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T43 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T44 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T45 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T46 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T47 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T48 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T49 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfT_afterU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T50 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T51 = CONGRUENT_CALL1(after_code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T52 = CONGRUENT_CALL2(T50, T51);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T53 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T54 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T61.vector_element_[0] = T18;
    T61.vector_element_[1] = T25;
    T61.vector_element_[2] = T26;
    T61.vector_element_[3] = T27;
    T61.vector_element_[4] = T30;
    T61.vector_element_[5] = T31;
    T61.vector_element_[6] = T32;
    T61.vector_element_[7] = T33;
    T61.vector_element_[8] = T34;
    T61.vector_element_[9] = T35;
    T61.vector_element_[10] = T36;
    T61.vector_element_[11] = T37;
    T61.vector_element_[12] = T38;
    T61.vector_element_[13] = T41;
    T61.vector_element_[14] = T42;
    T61.vector_element_[15] = T43;
    T61.vector_element_[16] = T44;
    T61.vector_element_[17] = T45;
    T61.vector_element_[18] = T46;
    T61.vector_element_[19] = T47;
    T61.vector_element_[20] = T48;
    T61.vector_element_[21] = T49;
    T61.vector_element_[22] = T52;
    T61.vector_element_[23] = T53;
    T61.vector_element_[24] = T54;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:192
    T55 = Kmake_templateVdfmc_macro_expanderI(&T61);
    T56 = T55;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:181
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:180
  return(T56);
}

D Kcompile_pattern_elementsVdfmc_macro_expanderMM0I (D e_, D mT_) {
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:206
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:207
  T6 = primitive_idQ(mT_,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:207
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:208
    T3 = Kgenerate_empty_codeVdfmc_macro_expanderMM0I(e_);
    T5 = T3;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:210
    T7 = SLOT_VALUE_INITD(mT_, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:210
    T8 = SLOT_VALUE_INITD(mT_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:210
    CONGRUENT_CALL_PROLOG(&Kcompile_pattern_elementVdfmc_macro_expander, 3);
    T4 = CONGRUENT_CALL3(e_, T7, T8);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:207
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:206
  return(T5);
}

D Kcompile_nested_pattern_elementsVdfmc_macro_expanderMM0I (D mT_) {
  D e_;
  D names_;
  D code_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  _KLsimple_object_vectorGVKd_2 T18 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_6 T19 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:312
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:313
  e_ = Kcompute_bound_variable_namesVdfmc_macro_expanderMM0I(mT_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:314
  names_ = Kenv_bound_namesVdfmc_macro_expanderMM0I(e_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:315
  code_ = CALL2(&Kcompile_body_patternVdfmc_macro_expanderMM0, e_, mT_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T6 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T7 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T8 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T9 = CONGRUENT_CALL2(names_, T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T10 = CONGRUENT_CALL2(T7, T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T18.vector_element_[0] = T6;
  T18.vector_element_[1] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T11 = KlistVKdI(&T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T13 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T15 = CONGRUENT_CALL1(code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T16 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T19.vector_element_[0] = T5;
  T19.vector_element_[1] = T12;
  T19.vector_element_[2] = T13;
  T19.vector_element_[3] = T14;
  T19.vector_element_[4] = T15;
  T19.vector_element_[5] = T16;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:316
  T17 = Kmake_templateVdfmc_macro_expanderI(&T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:312
  return(T17);
}

D Kgenerate_empty_codeVdfmc_macro_expanderMM0I (D e_) {
  D success_;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_1 T14 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T15 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T16;
  _KLsimple_object_vectorGVKd_6 T17 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:491
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:492
  success_ = Kgenerate_success_codeVdfmc_macro_expanderMM0I(e_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:493
  Kenv_bound_namesVdfmc_macro_expanderMM0I(e_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T4 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJemptyQ_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T14.vector_element_[0] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T15.vector_element_[0] = T4;
  T15.vector_element_[1] = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T8 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T9 = Kmake_parens_fragmentVdfmc_macro_expanderI(T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T10 = CONGRUENT_CALL1(success_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T11 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJelse_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T16 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPtrueVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T12 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T17.vector_element_[0] = T3;
  T17.vector_element_[1] = T9;
  T17.vector_element_[2] = T10;
  T17.vector_element_[3] = T11;
  T17.vector_element_[4] = T16;
  T17.vector_element_[5] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:494
  T13 = Kmake_templateVdfmc_macro_expanderI(&T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:491
  return(T13);
}

D Kcompile_pattern_elementVdfmc_macro_expanderMM0I (D e_, D m_, D mT_) {
  D m_code_;
  D mT_code_;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_7 T14 = {&KLsimple_object_vectorGVKdW, (D) 29};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:214
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:216
  CONGRUENT_CALL_PROLOG(&Kgenerate_codeVdfmc_macro_expander, 1);
  m_code_ = CONGRUENT_CALL1(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:217
  mT_code_ = CALL2(&Kcompile_pattern_elementsVdfmc_macro_expanderMM0, e_, mT_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T6 = CONGRUENT_CALL1(m_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  T7 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  T8 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  T9 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T11 = CONGRUENT_CALL1(mT_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  T12 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  T14.vector_element_[0] = T6;
  T14.vector_element_[1] = T7;
  T14.vector_element_[2] = T8;
  T14.vector_element_[3] = T9;
  T14.vector_element_[4] = T10;
  T14.vector_element_[5] = T11;
  T14.vector_element_[6] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:218
  T13 = Kmake_templateVdfmc_macro_expanderI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:214
  return(T13);
}

D Kcompile_pattern_elementVdfmc_macro_expanderMM1I (D e_, D m_, D mT_) {
  D T4;
  D T5;
  D mTF6;
  D mT_code_;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  _KLsimple_object_vectorGVKd_3 T31 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T32 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_11 T33 = {&KLsimple_object_vectorGVKdW, (D) 45};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:221
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:223
  T27 = SLOT_VALUE(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:223
  T28 = primitive_idQ(T27,IKJotherwise_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:223
  if (T28 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:227
    T4 = CALL1(&KheadVKd, mT_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:227
    T30 = primitive_instanceQ(T4,&KLequal_greater_fragmentGVdfmc_reader);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:227
    if (T30 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:228
      T5 = CALL1(&KtailVKd, mT_);
      mTF6 = T5;
    } else {
      mTF6 = mT_;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:227
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:232
    mT_code_ = CALL2(&Kcompile_pattern_elementsVdfmc_macro_expanderMM0, e_, mTF6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T9 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T10 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T11 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T31.vector_element_[0] = T9;
    T31.vector_element_[1] = T10;
    T31.vector_element_[2] = T11;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T12 = KlistVKdI(&T31);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T13 = Kmake_parens_fragmentVdfmc_macro_expanderI(T12);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T14 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T15 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_otherwise_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T16 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T32.vector_element_[0] = T16;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T17 = KlistVKdI(&T32);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T18 = Kmake_parens_fragmentVdfmc_macro_expanderI(T17);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T19 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T20 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T21 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T22 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T23 = CONGRUENT_CALL1(mT_code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T24 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T33.vector_element_[0] = T8;
    T33.vector_element_[1] = T13;
    T33.vector_element_[2] = T14;
    T33.vector_element_[3] = T15;
    T33.vector_element_[4] = T18;
    T33.vector_element_[5] = T19;
    T33.vector_element_[6] = T20;
    T33.vector_element_[7] = T21;
    T33.vector_element_[8] = T22;
    T33.vector_element_[9] = T23;
    T33.vector_element_[10] = T24;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:233
    T25 = Kmake_templateVdfmc_macro_expanderI(&T33);
    T26 = T25;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:224
    T29 = Kcompile_pattern_elementVdfmc_macro_expanderMM0I(e_, m_, mT_);
    T26 = T29;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:223
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:221
  return(T26);
}

D Kcompile_pattern_elementVdfmc_macro_expanderMM2I (D e_, D m_, D mT_) {
  D T4;
  D T5;
  D success_code_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D mT_code_;
  D bound_names_;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D T67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D T87;
  D T88;
  D T89;
  D T90;
  D T91;
  D T92;
  D T93;
  D T94;
  D T95;
  D T96;
  D T97;
  D T98;
  D T99;
  D T100;
  D T101;
  D T102;
  D T103;
  D T104;
  D T105;
  D T106;
  _KLsimple_object_vectorGVKd_5 T107 = {&KLsimple_object_vectorGVKdW, (D) 21};
  D T108;
  _KLsimple_object_vectorGVKd_7 T109 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_2 T110 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T111 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T112 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T113 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T114;
  _KLsimple_object_vectorGVKd_3 T115 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_4 T116 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_6 T117 = {&KLsimple_object_vectorGVKdW, (D) 25};
  _KLsimple_object_vectorGVKd_2 T118 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_4 T119 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_37 T120 = {&KLsimple_object_vectorGVKdW, (D) 149};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:238
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:240
  T104 = SLOT_VALUE_INITD(m_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:241
  T4 = Kwildcard_constraintQVdfmc_macro_expanderMM0I(T104);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:241
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:243
    CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
    T5 = CONGRUENT_CALL1(mT_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:241
    if (T5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:244
      success_code_ = Kgenerate_success_codeVdfmc_macro_expanderMM0I(e_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:245
      T106 = SLOT_VALUE_INITD(m_, 2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T8 = CONGRUENT_CALL1(T106);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      T9 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      T11 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T12 = CONGRUENT_CALL1(success_code_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T13 = CONGRUENT_CALL2(T11, T12);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      T107.vector_element_[0] = T7;
      T107.vector_element_[1] = T8;
      T107.vector_element_[2] = T9;
      T107.vector_element_[3] = T10;
      T107.vector_element_[4] = T13;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:246
      T14 = Kmake_templateVdfmc_macro_expanderI(&T107);
      T102 = T14;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:248
      mT_code_ = CALL2(&Kcompile_pattern_elementsVdfmc_macro_expanderMM0, e_, mT_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:249
      T108 = SLOT_VALUE_INITD(m_, 2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:250
      bound_names_ = Kenv_bound_namesVdfmc_macro_expanderMM0I(e_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlocal_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T18 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T19 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUwildcard_loopU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T20 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUcollectorU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T21 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T22 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLlistG_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T23 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T24 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T25 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T26 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLfragment_listG_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T109.vector_element_[0] = T20;
      T109.vector_element_[1] = T21;
      T109.vector_element_[2] = T22;
      T109.vector_element_[3] = T23;
      T109.vector_element_[4] = T24;
      T109.vector_element_[5] = T25;
      T109.vector_element_[6] = T26;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T27 = KlistVKdI(&T109);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T28 = Kmake_parens_fragmentVdfmc_macro_expanderI(T27);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T29 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T30 = CONGRUENT_CALL1(T108);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T31 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T32 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUcollectorU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T33 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T34 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T35 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T36 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T37 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
      T38 = CONGRUENT_CALL2(bound_names_, T37);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T39 = CONGRUENT_CALL2(T36, T38);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T110.vector_element_[0] = T35;
      T110.vector_element_[1] = T39;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T40 = KlistVKdI(&T110);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T41 = Kmake_parens_fragmentVdfmc_macro_expanderI(T40);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T42 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T43 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T44 = CONGRUENT_CALL1(mT_code_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T45 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T46 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T47 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T48 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T111.vector_element_[0] = T48;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T49 = KlistVKdI(&T111);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T50 = Kmake_parens_fragmentVdfmc_macro_expanderI(T49);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T52 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJemptyQ_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T53 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T112.vector_element_[0] = T53;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T54 = KlistVKdI(&T112);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T55 = Kmake_parens_fragmentVdfmc_macro_expanderI(T54);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T113.vector_element_[0] = T52;
      T113.vector_element_[1] = T55;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T56 = KlistVKdI(&T113);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T57 = Kmake_parens_fragmentVdfmc_macro_expanderI(T56);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T114 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPtrueVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T58 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJelse_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T59 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUwildcard_loopU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T60 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJconcatenateX_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T61 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUcollectorU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T62 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T63 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlist_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T64 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T65 = Kmake_dot_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T66 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJhead_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T115.vector_element_[0] = T64;
      T115.vector_element_[1] = T65;
      T115.vector_element_[2] = T66;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T67 = KlistVKdI(&T115);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T68 = Kmake_parens_fragmentVdfmc_macro_expanderI(T67);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T116.vector_element_[0] = T61;
      T116.vector_element_[1] = T62;
      T116.vector_element_[2] = T63;
      T116.vector_element_[3] = T68;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T69 = KlistVKdI(&T116);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T70 = Kmake_parens_fragmentVdfmc_macro_expanderI(T69);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T71 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T72 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T73 = Kmake_dot_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T74 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtail_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T117.vector_element_[0] = T60;
      T117.vector_element_[1] = T70;
      T117.vector_element_[2] = T71;
      T117.vector_element_[3] = T72;
      T117.vector_element_[4] = T73;
      T117.vector_element_[5] = T74;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T75 = KlistVKdI(&T117);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T76 = Kmake_parens_fragmentVdfmc_macro_expanderI(T75);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T77 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T78 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T79 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T80 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJelse_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T81 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalues_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T82 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T83 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T84 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
      T85 = CONGRUENT_CALL2(bound_names_, T84);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T86 = CONGRUENT_CALL2(T83, T85);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T118.vector_element_[0] = T82;
      T118.vector_element_[1] = T86;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T87 = KlistVKdI(&T118);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T88 = Kmake_parens_fragmentVdfmc_macro_expanderI(T87);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T89 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T90 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T91 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T92 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T93 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T94 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUwildcard_loopU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T95 = Kmake_hash_lparen_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T96 = Kmake_rparen_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T97 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T98 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T119.vector_element_[0] = T95;
      T119.vector_element_[1] = T96;
      T119.vector_element_[2] = T97;
      T119.vector_element_[3] = T98;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T99 = KlistVKdI(&T119);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T100 = Kmake_parens_fragmentVdfmc_macro_expanderI(T99);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T120.vector_element_[0] = T17;
      T120.vector_element_[1] = T18;
      T120.vector_element_[2] = T19;
      T120.vector_element_[3] = T28;
      T120.vector_element_[4] = T29;
      T120.vector_element_[5] = T30;
      T120.vector_element_[6] = T31;
      T120.vector_element_[7] = T32;
      T120.vector_element_[8] = T33;
      T120.vector_element_[9] = T34;
      T120.vector_element_[10] = T41;
      T120.vector_element_[11] = T42;
      T120.vector_element_[12] = T43;
      T120.vector_element_[13] = T44;
      T120.vector_element_[14] = T45;
      T120.vector_element_[15] = T46;
      T120.vector_element_[16] = T47;
      T120.vector_element_[17] = T50;
      T120.vector_element_[18] = T51;
      T120.vector_element_[19] = T57;
      T120.vector_element_[20] = T114;
      T120.vector_element_[21] = T58;
      T120.vector_element_[22] = T59;
      T120.vector_element_[23] = T76;
      T120.vector_element_[24] = T77;
      T120.vector_element_[25] = T78;
      T120.vector_element_[26] = T79;
      T120.vector_element_[27] = T80;
      T120.vector_element_[28] = T81;
      T120.vector_element_[29] = T88;
      T120.vector_element_[30] = T89;
      T120.vector_element_[31] = T90;
      T120.vector_element_[32] = T91;
      T120.vector_element_[33] = T92;
      T120.vector_element_[34] = T93;
      T120.vector_element_[35] = T94;
      T120.vector_element_[36] = T100;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:251
      T101 = Kmake_templateVdfmc_macro_expanderI(&T120);
      T102 = T101;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:241
    T103 = T102;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:242
    T105 = Kcompile_pattern_elementVdfmc_macro_expanderMM0I(e_, m_, mT_);
    T103 = T105;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:241
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:238
  return(T103);
}

D Kcompile_pattern_elementVdfmc_macro_expanderMM3I (D e_, D m_, D mT_) {
  D name_code_;
  D type_code_;
  D mT_code_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  _KLsimple_object_vectorGVKd_7 T61 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_1 T62 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_35 T63 = {&KLsimple_object_vectorGVKdW, (D) 141};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:272
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:273
  T59 = SLOT_VALUE_INITD(m_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:273
  CONGRUENT_CALL_PROLOG(&Kgenerate_codeVdfmc_macro_expander, 1);
  name_code_ = CONGRUENT_CALL1(T59);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:274
  T60 = SLOT_VALUE_INITD(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:274
  CONGRUENT_CALL_PROLOG(&Kgenerate_codeVdfmc_macro_expander, 1);
  type_code_ = CONGRUENT_CALL1(T60);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:275
  mT_code_ = CALL2(&Kcompile_pattern_elementsVdfmc_macro_expanderMM0, e_, mT_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T8 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T9 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUafter_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T11 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T12 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUname_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T13 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUtype_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T61.vector_element_[0] = T8;
  T61.vector_element_[1] = T9;
  T61.vector_element_[2] = T10;
  T61.vector_element_[3] = T11;
  T61.vector_element_[4] = T12;
  T61.vector_element_[5] = T13;
  T61.vector_element_[6] = T14;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T15 = KlistVKdI(&T61);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T16 = Kmake_parens_fragmentVdfmc_macro_expanderI(T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T17 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T18 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_variable_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T19 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T62.vector_element_[0] = T19;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T20 = KlistVKdI(&T62);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T21 = Kmake_parens_fragmentVdfmc_macro_expanderI(T20);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T22 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T23 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T24 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T25 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T26 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T27 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T28 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T29 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUname_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T30 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T31 = CONGRUENT_CALL1(name_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T32 = CONGRUENT_CALL2(T30, T31);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T33 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T34 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T35 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T36 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T37 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T38 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T39 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T40 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUtype_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T41 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T42 = CONGRUENT_CALL1(type_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T43 = CONGRUENT_CALL2(T41, T42);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T44 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T45 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T46 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T47 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T48 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T49 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T50 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUafter_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T52 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T53 = CONGRUENT_CALL1(mT_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T54 = CONGRUENT_CALL2(T52, T53);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T55 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T56 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T57 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T63.vector_element_[0] = T7;
  T63.vector_element_[1] = T16;
  T63.vector_element_[2] = T17;
  T63.vector_element_[3] = T18;
  T63.vector_element_[4] = T21;
  T63.vector_element_[5] = T22;
  T63.vector_element_[6] = T23;
  T63.vector_element_[7] = T24;
  T63.vector_element_[8] = T25;
  T63.vector_element_[9] = T26;
  T63.vector_element_[10] = T27;
  T63.vector_element_[11] = T28;
  T63.vector_element_[12] = T29;
  T63.vector_element_[13] = T32;
  T63.vector_element_[14] = T33;
  T63.vector_element_[15] = T34;
  T63.vector_element_[16] = T35;
  T63.vector_element_[17] = T36;
  T63.vector_element_[18] = T37;
  T63.vector_element_[19] = T38;
  T63.vector_element_[20] = T39;
  T63.vector_element_[21] = T40;
  T63.vector_element_[22] = T43;
  T63.vector_element_[23] = T44;
  T63.vector_element_[24] = T45;
  T63.vector_element_[25] = T46;
  T63.vector_element_[26] = T47;
  T63.vector_element_[27] = T48;
  T63.vector_element_[28] = T49;
  T63.vector_element_[29] = T50;
  T63.vector_element_[30] = T51;
  T63.vector_element_[31] = T54;
  T63.vector_element_[32] = T55;
  T63.vector_element_[33] = T56;
  T63.vector_element_[34] = T57;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:276
  T58 = Kmake_templateVdfmc_macro_expanderI(&T63);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:272
  return(T58);
}

D Kcompile_pattern_elementVdfmc_macro_expanderMM4I (D e_, D m_, D mT_) {
  D nested_matcher_;
  D nested_code_;
  D mT_code_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  _KLsimple_object_vectorGVKd_5 T46 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_1 T47 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_25 T48 = {&KLsimple_object_vectorGVKdW, (D) 101};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:294
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:295
  CONGRUENT_CALL_PROLOG(&Kgenerate_nested_matcher_codeVdfmc_macro_expander, 1);
  nested_matcher_ = CONGRUENT_CALL1(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:297
  T45 = SLOT_VALUE_INITD(m_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:297
  nested_code_ = Kcompile_nested_pattern_elementsVdfmc_macro_expanderMM0I(T45);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:298
  mT_code_ = CALL2(&Kcompile_pattern_elementsVdfmc_macro_expanderMM0, e_, mT_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T8 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T9 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUafter_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T11 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T12 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUnested_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T46.vector_element_[0] = T8;
  T46.vector_element_[1] = T9;
  T46.vector_element_[2] = T10;
  T46.vector_element_[3] = T11;
  T46.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T13 = KlistVKdI(&T46);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T14 = Kmake_parens_fragmentVdfmc_macro_expanderI(T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T15 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T16 = CONGRUENT_CALL1(nested_matcher_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T47.vector_element_[0] = T17;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T18 = KlistVKdI(&T47);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T19 = Kmake_parens_fragmentVdfmc_macro_expanderI(T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T20 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T21 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T22 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T24 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T25 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T26 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T27 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUnested_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T28 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T29 = CONGRUENT_CALL1(nested_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T30 = CONGRUENT_CALL2(T28, T29);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T31 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T32 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T33 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ124Z_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T34 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T35 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T36 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T37 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T38 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUafter_fTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T39 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T40 = CONGRUENT_CALL1(mT_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T41 = CONGRUENT_CALL2(T39, T40);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T42 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T43 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T48.vector_element_[0] = T7;
  T48.vector_element_[1] = T14;
  T48.vector_element_[2] = T15;
  T48.vector_element_[3] = T16;
  T48.vector_element_[4] = T19;
  T48.vector_element_[5] = T20;
  T48.vector_element_[6] = T21;
  T48.vector_element_[7] = T22;
  T48.vector_element_[8] = T23;
  T48.vector_element_[9] = T24;
  T48.vector_element_[10] = T25;
  T48.vector_element_[11] = T26;
  T48.vector_element_[12] = T27;
  T48.vector_element_[13] = T30;
  T48.vector_element_[14] = T31;
  T48.vector_element_[15] = T32;
  T48.vector_element_[16] = T33;
  T48.vector_element_[17] = T34;
  T48.vector_element_[18] = T35;
  T48.vector_element_[19] = T36;
  T48.vector_element_[20] = T37;
  T48.vector_element_[21] = T38;
  T48.vector_element_[22] = T41;
  T48.vector_element_[23] = T42;
  T48.vector_element_[24] = T43;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:299
  T44 = Kmake_templateVdfmc_macro_expanderI(&T48);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:294
  return(T44);
}

D Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM0I (D m_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:319
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:320
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_parens_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:320
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:320
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:319
  return(T3);
}

D Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM1I (D m_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:323
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:324
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_brackets_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:324
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:324
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:323
  return(T3);
}

D Kgenerate_nested_matcher_codeVdfmc_macro_expanderMM2I (D m_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:327
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:328
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_braces_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:328
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:328
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:327
  return(T3);
}

D Kgenerate_codeVdfmc_macro_expanderMM0I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  _KLsimple_object_vectorGVKd_3 T17 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T18_0;
  D T19;
  D T20_0;
  _KLsimple_object_vectorGVKd_2 T21 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_5 T22 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:331
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:332
  T16 = SLOT_VALUE(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T17.vector_element_[0] = T3;
  T17.vector_element_[1] = T4;
  T17.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T6 = KlistVKdI(&T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T11 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T20_0 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T18_0 = T20_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T20_0);
    primitive_type_check(T18_0, &KLfragmentGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T19 = T18_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T12 = CONGRUENT_CALL2(T11, T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T21.vector_element_[0] = T10;
  T21.vector_element_[1] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T13 = KlistVKdI(&T21);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T14 = Kmake_parens_fragmentVdfmc_macro_expanderI(T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T22.vector_element_[0] = T2;
  T22.vector_element_[1] = T7;
  T22.vector_element_[2] = T8;
  T22.vector_element_[3] = T9;
  T22.vector_element_[4] = T14;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:333
  T15 = Kmake_templateVdfmc_macro_expanderI(&T22);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:331
  return(T15);
}

D Kgenerate_codeVdfmc_macro_expanderMM1I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  _KLsimple_object_vectorGVKd_3 T17 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T18_0;
  D T19;
  D T20_0;
  _KLsimple_object_vectorGVKd_2 T21 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_5 T22 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:336
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:337
  T16 = SLOT_VALUE(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T17.vector_element_[0] = T3;
  T17.vector_element_[1] = T4;
  T17.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T6 = KlistVKdI(&T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_operator_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T11 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T20_0 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T18_0 = T20_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T20_0);
    primitive_type_check(T18_0, &KLfragmentGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T19 = T18_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T12 = CONGRUENT_CALL2(T11, T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T21.vector_element_[0] = T10;
  T21.vector_element_[1] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T13 = KlistVKdI(&T21);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T14 = Kmake_parens_fragmentVdfmc_macro_expanderI(T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T22.vector_element_[0] = T2;
  T22.vector_element_[1] = T7;
  T22.vector_element_[2] = T8;
  T22.vector_element_[3] = T9;
  T22.vector_element_[4] = T14;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:338
  T15 = Kmake_templateVdfmc_macro_expanderI(&T22);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:336
  return(T15);
}

D Kgenerate_codeVdfmc_macro_expanderMM2I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_3 T14 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T16 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:341
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T14.vector_element_[0] = T3;
  T14.vector_element_[1] = T4;
  T14.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_end_of_modifiers_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T15.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T11 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T16.vector_element_[0] = T2;
  T16.vector_element_[1] = T7;
  T16.vector_element_[2] = T8;
  T16.vector_element_[3] = T9;
  T16.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:342
  T13 = Kmake_templateVdfmc_macro_expanderI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:341
  return(T13);
}

D Kgenerate_codeVdfmc_macro_expanderMM3I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_3 T14 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T16 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:345
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T14.vector_element_[0] = T3;
  T14.vector_element_[1] = T4;
  T14.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_equal_greater_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T15.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T11 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T16.vector_element_[0] = T2;
  T16.vector_element_[1] = T7;
  T16.vector_element_[2] = T8;
  T16.vector_element_[3] = T9;
  T16.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:346
  T13 = Kmake_templateVdfmc_macro_expanderI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:345
  return(T13);
}

D Kgenerate_codeVdfmc_macro_expanderMM4I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_3 T14 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T16 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:349
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T14.vector_element_[0] = T3;
  T14.vector_element_[1] = T4;
  T14.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_hash_next_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T15.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T11 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T16.vector_element_[0] = T2;
  T16.vector_element_[1] = T7;
  T16.vector_element_[2] = T8;
  T16.vector_element_[3] = T9;
  T16.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:350
  T13 = Kmake_templateVdfmc_macro_expanderI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:349
  return(T13);
}

D Kgenerate_codeVdfmc_macro_expanderMM5I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_3 T14 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T16 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:353
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T14.vector_element_[0] = T3;
  T14.vector_element_[1] = T4;
  T14.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_hash_rest_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T15.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T11 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T16.vector_element_[0] = T2;
  T16.vector_element_[1] = T7;
  T16.vector_element_[2] = T8;
  T16.vector_element_[3] = T9;
  T16.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:354
  T13 = Kmake_templateVdfmc_macro_expanderI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:353
  return(T13);
}

D Kgenerate_codeVdfmc_macro_expanderMM6I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_3 T14 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T16 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:357
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T14.vector_element_[0] = T3;
  T14.vector_element_[1] = T4;
  T14.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_hash_key_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T15.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T11 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T16.vector_element_[0] = T2;
  T16.vector_element_[1] = T7;
  T16.vector_element_[2] = T8;
  T16.vector_element_[3] = T9;
  T16.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:358
  T13 = Kmake_templateVdfmc_macro_expanderI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:357
  return(T13);
}

D Kgenerate_codeVdfmc_macro_expanderMM7I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_3 T14 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T16 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:361
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T14.vector_element_[0] = T3;
  T14.vector_element_[1] = T4;
  T14.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_hash_all_keys_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T15.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T11 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T16.vector_element_[0] = T2;
  T16.vector_element_[1] = T7;
  T16.vector_element_[2] = T8;
  T16.vector_element_[3] = T9;
  T16.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:362
  T13 = Kmake_templateVdfmc_macro_expanderI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:361
  return(T13);
}

D Kgenerate_codeVdfmc_macro_expanderMM8I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_3 T14 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T16 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:365
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T14.vector_element_[0] = T3;
  T14.vector_element_[1] = T4;
  T14.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_dot_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T15.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T11 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T16.vector_element_[0] = T2;
  T16.vector_element_[1] = T7;
  T16.vector_element_[2] = T8;
  T16.vector_element_[3] = T9;
  T16.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:366
  T13 = Kmake_templateVdfmc_macro_expanderI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:365
  return(T13);
}

D Kgenerate_codeVdfmc_macro_expanderMM9I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_3 T14 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T16 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:369
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T14.vector_element_[0] = T3;
  T14.vector_element_[1] = T4;
  T14.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T6 = KlistVKdI(&T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_colon_colon_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T15.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T11 = KlistVKdI(&T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T16.vector_element_[0] = T2;
  T16.vector_element_[1] = T7;
  T16.vector_element_[2] = T8;
  T16.vector_element_[3] = T9;
  T16.vector_element_[4] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:370
  T13 = Kmake_templateVdfmc_macro_expanderI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:369
  return(T13);
}

D Kgenerate_codeVdfmc_macro_expanderMM10I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  _KLsimple_object_vectorGVKd_3 T18 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_2 T19 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_5 T20 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:373
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:374
  T17 = SLOT_VALUE(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T18.vector_element_[0] = T3;
  T18.vector_element_[1] = T4;
  T18.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T6 = KlistVKdI(&T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_literal_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T11 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T12 = CONGRUENT_CALL1(T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T13 = CONGRUENT_CALL2(T11, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T19.vector_element_[0] = T10;
  T19.vector_element_[1] = T13;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T14 = KlistVKdI(&T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T15 = Kmake_parens_fragmentVdfmc_macro_expanderI(T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T20.vector_element_[0] = T2;
  T20.vector_element_[1] = T7;
  T20.vector_element_[2] = T8;
  T20.vector_element_[3] = T9;
  T20.vector_element_[4] = T15;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:375
  T16 = Kmake_templateVdfmc_macro_expanderI(&T20);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:373
  return(T16);
}

D Kgenerate_codeVdfmc_macro_expanderMM11I (D m_) {
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:378
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:379
  T3 = SLOT_VALUE_INITD(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:379
  CONGRUENT_CALL_PROLOG(&Kgenerate_codeVdfmc_macro_expander, 1);
  T2 = CONGRUENT_CALL1(T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:378
  return(T2);
}

D Kgenerate_codeVdfmc_macro_expanderMM12I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D matcherF9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D matcherF27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  _KLsimple_object_vectorGVKd_4 T47 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T48;
  _KLsimple_object_vectorGVKd_4 T49 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_3 T50 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_5 T51 = {&KLsimple_object_vectorGVKdW, (D) 21};
  D T52;
  _KLsimple_object_vectorGVKd_4 T53 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T54 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T55 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:382
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:383
  T45 = SLOT_VALUE_INITD(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:384
  T46 = SLOT_VALUE_INITD(m_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:385
  T2 = Kwildcard_constraintQVdfmc_macro_expanderMM0I(T46);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:385
  if (T2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:386
    T3 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:386
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T4 = CONGRUENT_CALL1(T45);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:386
    T5 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:386
    T6 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:386
    T47.vector_element_[0] = T3;
    T47.vector_element_[1] = T4;
    T47.vector_element_[2] = T5;
    T47.vector_element_[3] = T6;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:386
    T7 = Kmake_templateVdfmc_macro_expanderI(&T47);
    T44 = T7;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:387
    T8 = Kbounded_constraintQVdfmc_macro_expanderMM0I(T46);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:385
    if (T8 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:388
      T48 = SLOT_VALUE_INITD(m_, 3);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:388
      CONGRUENT_CALL_PROLOG(&Kgenerate_constraint_function_codeVdfmc_macro_expander, 1);
      matcherF9 = CONGRUENT_CALL1(T48);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T11 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T12 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T13 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T14 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T15 = CONGRUENT_CALL1(T45);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T16 = CONGRUENT_CALL2(T14, T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T49.vector_element_[0] = T11;
      T49.vector_element_[1] = T12;
      T49.vector_element_[2] = T13;
      T49.vector_element_[3] = T16;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T17 = KlistVKdI(&T49);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T18 = Kmake_parens_fragmentVdfmc_macro_expanderI(T17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T19 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T20 = CONGRUENT_CALL1(matcherF9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T21 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T22 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUintermediate_wordsU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T50.vector_element_[0] = T21;
      T50.vector_element_[1] = T22;
      T50.vector_element_[2] = T23;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T24 = KlistVKdI(&T50);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T25 = Kmake_parens_fragmentVdfmc_macro_expanderI(T24);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T51.vector_element_[0] = T10;
      T51.vector_element_[1] = T18;
      T51.vector_element_[2] = T19;
      T51.vector_element_[3] = T20;
      T51.vector_element_[4] = T25;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:389
      T26 = Kmake_templateVdfmc_macro_expanderI(&T51);
      T43 = T26;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:391
      T52 = SLOT_VALUE_INITD(m_, 3);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:391
      CONGRUENT_CALL_PROLOG(&Kgenerate_constraint_function_codeVdfmc_macro_expander, 1);
      matcherF27 = CONGRUENT_CALL1(T52);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T28 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T29 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T30 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T31 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T32 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T33 = CONGRUENT_CALL1(T45);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T34 = CONGRUENT_CALL2(T32, T33);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T53.vector_element_[0] = T29;
      T53.vector_element_[1] = T30;
      T53.vector_element_[2] = T31;
      T53.vector_element_[3] = T34;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T35 = KlistVKdI(&T53);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T36 = Kmake_parens_fragmentVdfmc_macro_expanderI(T35);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T37 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T38 = CONGRUENT_CALL1(matcherF27);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T54.vector_element_[0] = T39;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T40 = KlistVKdI(&T54);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T41 = Kmake_parens_fragmentVdfmc_macro_expanderI(T40);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T55.vector_element_[0] = T28;
      T55.vector_element_[1] = T36;
      T55.vector_element_[2] = T37;
      T55.vector_element_[3] = T38;
      T55.vector_element_[4] = T41;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:392
      T42 = Kmake_templateVdfmc_macro_expanderI(&T55);
      T43 = T42;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:385
    T44 = T43;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:385
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:382
  return(T44);
}

D Kgenerate_codeVdfmc_macro_expanderMM13I (D m_) {
  D name_;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  _KLsimple_object_vectorGVKd_4 T25 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T26_0;
  D T27_0;
  D T28;
  D T29_0;
  D T30_0;
  D T31;
  _KLsimple_object_vectorGVKd_3 T32 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_5 T33 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:428
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:429
  T22 = SLOT_VALUE_INITD(m_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:429
  name_ = CALL1(&Kmatch_variable_nameVdfmc_macro_expander, T22);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:430
  T23 = SLOT_VALUE_INITD(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:431
  T24 = SLOT_VALUE_INITD(m_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T4 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T5 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T6 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T7 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T8 = CONGRUENT_CALL1(name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T9 = CONGRUENT_CALL2(T7, T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T25.vector_element_[0] = T4;
  T25.vector_element_[1] = T5;
  T25.vector_element_[2] = T6;
  T25.vector_element_[3] = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T10 = KlistVKdI(&T25);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T11 = Kmake_parens_fragmentVdfmc_macro_expanderI(T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T12 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T13 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_spliced_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T15 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  CONGRUENT_CALL_PROLOG(&Kmake_literal_fragmentVdfmc_macro_expander, 1);
  T26_0 = CONGRUENT_CALL1(T23);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T27_0 = T26_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T26_0);
    primitive_type_check(T27_0, &KLfragmentGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T28 = T27_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T16 = CONGRUENT_CALL2(T15, T28);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T17 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  CONGRUENT_CALL_PROLOG(&Kmake_literal_fragmentVdfmc_macro_expander, 1);
  T29_0 = CONGRUENT_CALL1(T24);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T30_0 = T29_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T29_0);
    primitive_type_check(T30_0, &KLfragmentGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T31 = T30_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T18 = CONGRUENT_CALL2(T17, T31);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T32.vector_element_[0] = T14;
  T32.vector_element_[1] = T16;
  T32.vector_element_[2] = T18;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T19 = KlistVKdI(&T32);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T20 = Kmake_parens_fragmentVdfmc_macro_expanderI(T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T33.vector_element_[0] = T3;
  T33.vector_element_[1] = T11;
  T33.vector_element_[2] = T12;
  T33.vector_element_[3] = T13;
  T33.vector_element_[4] = T20;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:432
  T21 = Kmake_templateVdfmc_macro_expanderI(&T33);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:428
  return(T21);
}

D Kgenerate_codeVdfmc_macro_expanderMM14I (D m_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6_0;
  D T6_1;
  D rest_name_;
  D rest_constraint_;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15T, T15;
  D T16;
  D T17;
  D key_name_;
  D key_symbol_;
  D key_constraint_;
  D T21;
  D key_default_;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59_0;
  D T59_1;
  _KLsimple_object_vectorGVKd_1 T60 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T61_0;
  D T61_1;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D c_headF67;
  _KLsimple_object_vectorGVKd_3 T68 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T69;
  D T70;
  D c_headF71;
  D T72;
  D T73;
  _KLsimple_object_vectorGVKd_5 T74 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_3 T75 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_5 T76 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:436
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:437
  T58 = SLOT_VALUE_INITD(m_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:439
  if (T58 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:440
    T2 = CALL1(&Kmatch_variable_nameVdfmc_macro_expander, T58);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:440
    T3 = CALL1(&Kmatch_constraintVdfmc_macro_expander, T58);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:440
    T59_0 = T2;
    T59_1 = T3;
    T6_0 = T59_0;
    T6_1 = T59_1;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:442
    T4 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUrestU_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:442
    T60.vector_element_[0] = T4;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:442
    T5 = Kmake_templateVdfmc_macro_expanderI(&T60);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:442
    T61_0 = T5;
    T61_1 = &KPfalseVKi;
    T6_0 = T61_0;
    T6_1 = T61_1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:439
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:438
  rest_name_ = T6_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:438
  rest_constraint_ = T6_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:444
  T62 = SLOT_VALUE_INITD(m_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  T63 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  SLOT_VALUE_SETTER(&KPfalseVKi, T63, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  SLOT_VALUE_SETTER(&KPempty_listVKi, T63, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  SLOT_VALUE_SETTER(T63, T63, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  T64 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  SLOT_VALUE_SETTER(&KPfalseVKi, T64, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  SLOT_VALUE_SETTER(&KPempty_listVKi, T64, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  SLOT_VALUE_SETTER(T64, T64, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
  T9 = CALL1(&Kforward_iteration_protocolVKd, T62);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
  T10 = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
  T11 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
  T12 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
  T13 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
  T14 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
  T15T = T10;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
    T15 = T15T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
    T16 = CALL3(T13, T62, T15, T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
    if (T16 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
      T17 = CALL2(T14, T62, T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:447
      key_name_ = CALL1(&Kmatch_variable_nameVdfmc_macro_expander, T17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      T65 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      SLOT_VALUE_SETTER(key_name_, T65, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      SLOT_VALUE_SETTER(&KPempty_listVKi, T65, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      T66 = SLOT_VALUE_INITD(T63, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      primitive_type_check(T66, &KLpairGVKd);
      c_headF67 = T66;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      SLOT_VALUE_SETTER(T65, c_headF67, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      SLOT_VALUE_SETTER(T65, T63, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:449
      key_symbol_ = CALL1(&Kmatch_symbol_nameVdfmc_macro_expander, T17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:450
      CONGRUENT_CALL_PROLOG(&Kmatch_constraint_specVdfmc_macro_expander, 1);
      key_constraint_ = CONGRUENT_CALL1(T17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:452
      CONGRUENT_CALL_PROLOG(&Kmatch_default_expressionVdfmc_macro_expander, 1);
      T21 = CONGRUENT_CALL1(T17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:452
      CONGRUENT_CALL_PROLOG(&Kgenerate_key_default_thunkVdfmc_macro_expander, 1);
      key_default_ = CONGRUENT_CALL1(T21);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T23 = CONGRUENT_CALL1(key_symbol_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      T24 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T25 = CONGRUENT_CALL1(key_constraint_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T26 = CONGRUENT_CALL2(T24, T25);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      T27 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T28 = CONGRUENT_CALL1(key_default_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T29 = CONGRUENT_CALL2(T27, T28);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      T68.vector_element_[0] = T23;
      T68.vector_element_[1] = T26;
      T68.vector_element_[2] = T29;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:454
      T30 = Kmake_templateVdfmc_macro_expanderI(&T68);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      T69 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      SLOT_VALUE_SETTER(T30, T69, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      SLOT_VALUE_SETTER(&KPempty_listVKi, T69, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      T70 = SLOT_VALUE_INITD(T64, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      primitive_type_check(T70, &KLpairGVKd);
      c_headF71 = T70;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      SLOT_VALUE_SETTER(T69, c_headF71, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
      SLOT_VALUE_SETTER(T69, T64, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
      T31 = CALL2(T12, T62, T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
      T15T = T31;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:446
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  T72 = SLOT_VALUE_INITD(T63, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:445
  T73 = SLOT_VALUE_INITD(T64, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T32 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T33 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfailure_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T34 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T35 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T36 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T37 = CONGRUENT_CALL1(rest_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T38 = CONGRUENT_CALL2(T36, T37);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T39 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T40 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T41 = CONGRUENT_CALL2(T72, T40);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T42 = CONGRUENT_CALL2(T39, T41);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T74.vector_element_[0] = T33;
  T74.vector_element_[1] = T34;
  T74.vector_element_[2] = T35;
  T74.vector_element_[3] = T38;
  T74.vector_element_[4] = T42;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T43 = KlistVKdI(&T74);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T44 = Kmake_parens_fragmentVdfmc_macro_expanderI(T43);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T45 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T46 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_property_list_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T47 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T48 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T49 = CONGRUENT_CALL1(rest_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T50 = CONGRUENT_CALL2(T48, T49);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T51 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T52 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T53 = CONGRUENT_CALL2(T73, T52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T54 = CONGRUENT_CALL2(T51, T53);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T75.vector_element_[0] = T47;
  T75.vector_element_[1] = T50;
  T75.vector_element_[2] = T54;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T55 = KlistVKdI(&T75);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T56 = Kmake_parens_fragmentVdfmc_macro_expanderI(T55);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T76.vector_element_[0] = T32;
  T76.vector_element_[1] = T44;
  T76.vector_element_[2] = T45;
  T76.vector_element_[3] = T46;
  T76.vector_element_[4] = T56;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:459
  T57 = Kmake_templateVdfmc_macro_expanderI(&T76);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:436
  return(T57);
}

D Kgenerate_key_default_thunkVdfmc_macro_expanderMM0I (D expression_) {
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:468
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:469
  T2 = &KPfalseVKi;
  MV_SET_ELT(0, &KPfalseVKi);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:468
  return(T2);
}

D Kgenerate_key_default_thunkVdfmc_macro_expanderMM1I (D expression_) {
  D T2;
  D gen_code_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T11 = {&KLsimple_object_vectorGVKdW, (D) 17};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:472
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:473
  T10.vector_element_[0] = expression_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:473
  T2 = KlistVKdI(&T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:473
  gen_code_ = Kcompile_template_elementsVdfmc_macro_expanderMM0I(T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:474
  T4 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:474
  T5 = KlistVKdI(&KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:474
  T6 = Kmake_parens_fragmentVdfmc_macro_expanderI(T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:474
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T7 = CONGRUENT_CALL1(gen_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:474
  T8 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:474
  T11.vector_element_[0] = T4;
  T11.vector_element_[1] = T6;
  T11.vector_element_[2] = T7;
  T11.vector_element_[3] = T8;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:474
  T9 = Kmake_templateVdfmc_macro_expanderI(&T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:472
  return(T9);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM0I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:396
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:397
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_token_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:397
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:397
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:396
  return(T3);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM1I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:400
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:401
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_name_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:401
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:401
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:400
  return(T3);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM2I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:404
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:405
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_expression_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:405
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:405
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:404
  return(T3);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM3I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:408
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:409
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_variable_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:409
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:409
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:408
  return(T3);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM4I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:412
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:413
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_bounded_body_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:413
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:413
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:412
  return(T3);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM5I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:416
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:417
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_bounded_body_constraint_no_backtracking_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:417
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:417
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:416
  return(T3);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM6I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:420
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:421
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_bounded_case_body_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:421
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:421
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:420
  return(T3);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM7I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:424
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:425
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_macro_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:425
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:425
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:424
  return(T3);
}

D Kgenerate_constraint_function_codeVdfmc_macro_expanderMM8I (D constraint_) {
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:487
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:488
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmatch_symbol_constraint_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:488
  T4.vector_element_[0] = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:488
  T3 = Kmake_templateVdfmc_macro_expanderI(&T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:487
  return(T3);
}

D Kgenerate_success_codeVdfmc_macro_expanderMM0I (D e_) {
  D bound_names_;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  _KLsimple_object_vectorGVKd_2 T12 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T13 = {&KLsimple_object_vectorGVKdW, (D) 9};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:501
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:502
  bound_names_ = Kenv_bound_namesVdfmc_macro_expanderMM0I(e_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalues_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T11 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T4 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T5 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T6 = CONGRUENT_CALL2(bound_names_, T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T7 = CONGRUENT_CALL2(T4, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T12.vector_element_[0] = T11;
  T12.vector_element_[1] = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T8 = KlistVKdI(&T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T9 = Kmake_parens_fragmentVdfmc_macro_expanderI(T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T13.vector_element_[0] = T3;
  T13.vector_element_[1] = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:503
  T10 = Kmake_templateVdfmc_macro_expanderI(&T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:501
  return(T10);
}

D Kgenerate_match_failureVdfmc_macro_expanderMM0I (D exp_, D set_, D rules_) {
  D exp_name_;
  D T5;
  D name_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  _KLsimple_object_vectorGVKd_1 T22 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T23 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_3 T24 = {&KLsimple_object_vectorGVKdW, (D) 13};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:58
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:60
  exp_name_ = CALL1(&Kexpander_nameVdfmc_macro_expander, exp_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:61
  if (exp_name_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:61
    CONGRUENT_CALL_PROLOG(&KasVKd, 2);
    T5 = CONGRUENT_CALL2(&KLsymbolGVKd, exp_name_);
    name_ = T5;
  } else {
    name_ = IKJmacro_case_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:61
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:62
  T21 = SLOT_VALUE_INITD(set_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmacro_aux_rule_match_error_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T9 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdylan_variable_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T11 = CONGRUENT_CALL1(name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T22.vector_element_[0] = T11;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T12 = KlistVKdI(&T22);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T13 = Kmake_parens_fragmentVdfmc_macro_expanderI(T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T14 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T15 = CONGRUENT_CALL1(T21);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T16 = CONGRUENT_CALL2(T14, T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T23.vector_element_[0] = T8;
  T23.vector_element_[1] = T9;
  T23.vector_element_[2] = T10;
  T23.vector_element_[3] = T13;
  T23.vector_element_[4] = T16;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T17 = KlistVKdI(&T23);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T18 = Kmake_parens_fragmentVdfmc_macro_expanderI(T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T19 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T24.vector_element_[0] = T7;
  T24.vector_element_[1] = T18;
  T24.vector_element_[2] = T19;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:63
  T20 = Kmake_templateVdfmc_macro_expanderI(&T24);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:58
  return(T20);
}

D Kgenerate_match_failureVdfmc_macro_expanderMM1I (D exp_, D set_, D rules_) {
  D exp_name_;
  D T5;
  D name_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T18 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_2 T19 = {&KLsimple_object_vectorGVKdW, (D) 9};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:67
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:69
  exp_name_ = CALL1(&Kexpander_nameVdfmc_macro_expander, exp_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:70
  if (exp_name_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:70
    CONGRUENT_CALL_PROLOG(&KasVKd, 2);
    T5 = CONGRUENT_CALL2(&KLsymbolGVKd, exp_name_);
    name_ = T5;
  } else {
    name_ = IKJmacro_case_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:70
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmacro_main_rule_match_error_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T9 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdylan_variable_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T11 = CONGRUENT_CALL1(name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T17.vector_element_[0] = T11;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T12 = KlistVKdI(&T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T13 = Kmake_parens_fragmentVdfmc_macro_expanderI(T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T18.vector_element_[0] = T8;
  T18.vector_element_[1] = T9;
  T18.vector_element_[2] = T10;
  T18.vector_element_[3] = T13;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T14 = KlistVKdI(&T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T15 = Kmake_parens_fragmentVdfmc_macro_expanderI(T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T19.vector_element_[0] = T7;
  T19.vector_element_[1] = T15;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:71
  T16 = Kmake_templateVdfmc_macro_expanderI(&T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:67
  return(T16);
}

D Kcompile_aux_rule_set_definitionVdfmc_macro_expanderMM0I (D exp_, D set_) {
  D T3;
  D rules_code_;
  D name_;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  _KLsimple_object_vectorGVKd_3 T16 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_5 T17 = {&KLsimple_object_vectorGVKdW, (D) 21};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:44
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:45
  T3 = CALL1(&Krule_set_rewrite_rulesVdfmc_macro_expander, set_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:45
  rules_code_ = Kcompile_rulesVdfmc_macro_expanderMM0I(exp_, set_, T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:46
  name_ = CALL1(&Krule_set_rewriter_variable_nameVdfmc_macro_expander, set_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T6 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T7 = CONGRUENT_CALL1(name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T9 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLfragment_listG_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T16.vector_element_[0] = T8;
  T16.vector_element_[1] = T9;
  T16.vector_element_[2] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T11 = KlistVKdI(&T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T13 = CONGRUENT_CALL1(rules_code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T14 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T17.vector_element_[0] = T6;
  T17.vector_element_[1] = T7;
  T17.vector_element_[2] = T12;
  T17.vector_element_[3] = T13;
  T17.vector_element_[4] = T14;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:47
  T15 = Kmake_templateVdfmc_macro_expanderI(&T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:44
  return(T15);
}

D Kcompile_define_macro_rulesVdfmc_macro_expanderMM0I (D input_, D exp_) {
  D code_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_8 T18 = {&KLsimple_object_vectorGVKdW, (D) 33};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:16
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:17
  code_ = Kcompile_rewrite_rule_expanderVdfmc_macro_expanderMM0I(exp_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T4 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJUfTU_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T6 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLfragment_listG_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJcall_as_fragment_tokens_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T10 = CONGRUENT_CALL1(input_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T17.vector_element_[0] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T11 = KlistVKdI(&T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T13 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T14 = CONGRUENT_CALL1(code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T15 = CONGRUENT_CALL2(T13, T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T18.vector_element_[0] = T4;
  T18.vector_element_[1] = T5;
  T18.vector_element_[2] = T6;
  T18.vector_element_[3] = T7;
  T18.vector_element_[4] = T8;
  T18.vector_element_[5] = T9;
  T18.vector_element_[6] = T12;
  T18.vector_element_[7] = T15;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:18
  T16 = Kmake_templateVdfmc_macro_expanderI(&T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-to-code.dylan:16
  return(T16);
}


/* SYSTEM INIT CODE */

void _Init_dfmc_macro_expander__X_pattern_to_code_for_system () {
  extern D KPresolve_symbolVKiI(D);
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJlet_);
    if (T0 != &KJlet_) {
      IKJlet_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUfTU_);
    if (T0 != &KJUfTU_) {
      IKJUfTU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLfragment_listG_);
    if (T0 != &KJLfragment_listG_) {
      IKJLfragment_listG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJas_fragment_tokens_);
    if (T0 != &KJas_fragment_tokens_) {
      IKJas_fragment_tokens_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUintermediate_wordsU_);
    if (T0 != &KJUintermediate_wordsU_) {
      IKJUintermediate_wordsU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJlocal_);
    if (T0 != &KJlocal_) {
      IKJlocal_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJbegin_);
    if (T0 != &KJbegin_) {
      IKJbegin_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJif_);
    if (T0 != &KJif_) {
      IKJif_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJN_);
    if (T0 != &KJN_) {
      IKJN_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJelse_);
    if (T0 != &KJelse_) {
      IKJelse_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLlistG_);
    if (T0 != &KJLlistG_) {
      IKJLlistG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmap_);
    if (T0 != &KJmap_) {
      IKJmap_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcompose_);
    if (T0 != &KJcompose_) {
      IKJcompose_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexport_fragment_tokens_);
    if (T0 != &KJexport_fragment_tokens_) {
      IKJexport_fragment_tokens_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_body_part_);
    if (T0 != &KJmatch_body_part_) {
      IKJmatch_body_part_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_body_part_strict_);
    if (T0 != &KJmatch_body_part_strict_) {
      IKJmatch_body_part_strict_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUfT_afterU_);
    if (T0 != &KJUfT_afterU_) {
      IKJUfT_afterU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUfT_beforeU_);
    if (T0 != &KJUfT_beforeU_) {
      IKJUfT_beforeU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJZ124Z_);
    if (T0 != &KJZ124Z_) {
      IKJZ124Z_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_list_part_);
    if (T0 != &KJmatch_list_part_) {
      IKJmatch_list_part_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_list_part_strict_);
    if (T0 != &KJmatch_list_part_strict_) {
      IKJmatch_list_part_strict_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUafter_fTU_);
    if (T0 != &KJUafter_fTU_) {
      IKJUafter_fTU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUnested_fTU_);
    if (T0 != &KJUnested_fTU_) {
      IKJUnested_fTU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_braces_);
    if (T0 != &KJmatch_braces_) {
      IKJmatch_braces_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_brackets_);
    if (T0 != &KJmatch_brackets_) {
      IKJmatch_brackets_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_parens_);
    if (T0 != &KJmatch_parens_) {
      IKJmatch_parens_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUname_fTU_);
    if (T0 != &KJUname_fTU_) {
      IKJUname_fTU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUtype_fTU_);
    if (T0 != &KJUtype_fTU_) {
      IKJUtype_fTU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_variable_);
    if (T0 != &KJmatch_variable_) {
      IKJmatch_variable_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUrestU_);
    if (T0 != &KJUrestU_) {
      IKJUrestU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_property_list_);
    if (T0 != &KJmatch_property_list_) {
      IKJmatch_property_list_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmethod_);
    if (T0 != &KJmethod_) {
      IKJmethod_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_spliced_name_);
    if (T0 != &KJmatch_spliced_name_) {
      IKJmatch_spliced_name_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_symbol_constraint_);
    if (T0 != &KJmatch_symbol_constraint_) {
      IKJmatch_symbol_constraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsymbol_);
    if (T0 != &KJsymbol_) {
      primitive_slot_value_setter(T0, &K233, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_macro_constraint_);
    if (T0 != &KJmatch_macro_constraint_) {
      IKJmatch_macro_constraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmacro_);
    if (T0 != &KJmacro_) {
      primitive_slot_value_setter(T0, &K240, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_bounded_case_body_constraint_);
    if (T0 != &KJmatch_bounded_case_body_constraint_) {
      IKJmatch_bounded_case_body_constraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcase_body_);
    if (T0 != &KJcase_body_) {
      primitive_slot_value_setter(T0, &K247, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_bounded_body_constraint_no_backtracking_);
    if (T0 != &KJmatch_bounded_body_constraint_no_backtracking_) {
      IKJmatch_bounded_body_constraint_no_backtracking_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJbodyX_);
    if (T0 != &KJbodyX_) {
      primitive_slot_value_setter(T0, &K254, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_bounded_body_constraint_);
    if (T0 != &KJmatch_bounded_body_constraint_) {
      IKJmatch_bounded_body_constraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJbody_);
    if (T0 != &KJbody_) {
      primitive_slot_value_setter(T0, &K261, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_variable_constraint_);
    if (T0 != &KJmatch_variable_constraint_) {
      IKJmatch_variable_constraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJvariable_);
    if (T0 != &KJvariable_) {
      primitive_slot_value_setter(T0, &K268, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_expression_constraint_);
    if (T0 != &KJmatch_expression_constraint_) {
      IKJmatch_expression_constraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexpression_);
    if (T0 != &KJexpression_) {
      primitive_slot_value_setter(T0, &K275, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_name_constraint_);
    if (T0 != &KJmatch_name_constraint_) {
      IKJmatch_name_constraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_token_constraint_);
    if (T0 != &KJmatch_token_constraint_) {
      IKJmatch_token_constraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_literal_);
    if (T0 != &KJmatch_literal_) {
      IKJmatch_literal_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_colon_colon_);
    if (T0 != &KJmatch_colon_colon_) {
      IKJmatch_colon_colon_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_dot_);
    if (T0 != &KJmatch_dot_) {
      IKJmatch_dot_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_hash_all_keys_);
    if (T0 != &KJmatch_hash_all_keys_) {
      IKJmatch_hash_all_keys_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_hash_key_);
    if (T0 != &KJmatch_hash_key_) {
      IKJmatch_hash_key_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_hash_rest_);
    if (T0 != &KJmatch_hash_rest_) {
      IKJmatch_hash_rest_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_hash_next_);
    if (T0 != &KJmatch_hash_next_) {
      IKJmatch_hash_next_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_equal_greater_);
    if (T0 != &KJmatch_equal_greater_) {
      IKJmatch_equal_greater_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_end_of_modifiers_);
    if (T0 != &KJmatch_end_of_modifiers_) {
      IKJmatch_end_of_modifiers_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_operator_);
    if (T0 != &KJmatch_operator_) {
      IKJmatch_operator_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_name_);
    if (T0 != &KJmatch_name_) {
      IKJmatch_name_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUwildcard_loopU_);
    if (T0 != &KJUwildcard_loopU_) {
      IKJUwildcard_loopU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJUcollectorU_);
    if (T0 != &KJUcollectorU_) {
      IKJUcollectorU_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJemptyQ_);
    if (T0 != &KJemptyQ_) {
      IKJemptyQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJconcatenateX_);
    if (T0 != &KJconcatenateX_) {
      IKJconcatenateX_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJlist_);
    if (T0 != &KJlist_) {
      IKJlist_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJhead_);
    if (T0 != &KJhead_) {
      IKJhead_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJtail_);
    if (T0 != &KJtail_) {
      IKJtail_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJotherwise_);
    if (T0 != &KJotherwise_) {
      IKJotherwise_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmatch_otherwise_);
    if (T0 != &KJmatch_otherwise_) {
      IKJmatch_otherwise_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmacro_case_);
    if (T0 != &KJmacro_case_) {
      IKJmacro_case_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmacro_main_rule_match_error_);
    if (T0 != &KJmacro_main_rule_match_error_) {
      IKJmacro_main_rule_match_error_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdylan_variable_name_);
    if (T0 != &KJdylan_variable_name_) {
      IKJdylan_variable_name_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmacro_aux_rule_match_error_);
    if (T0 != &KJmacro_aux_rule_match_error_) {
      IKJmacro_aux_rule_match_error_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcall_as_fragment_tokens_);
    if (T0 != &KJcall_as_fragment_tokens_) {
      IKJcall_as_fragment_tokens_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_macro_expander__X_pattern_to_code_for_user () {
  return;
}


/* eof */
