#include "opendylan/run-time.h"

/* Generated by Open Dylan 2014.1 for x86_64-linux */

/* Typedefs for referenced classes */

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

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

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

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

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

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(22);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(1);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(21);
define__KLbyte_stringGVKd(27);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(29);
define__KLbyte_stringGVKd(15);

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

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value method_slot_descriptor_;
} _KLgetter_methodGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value slot_descriptor_properties_;
  dylan_value init_data_slot_;
  dylan_value slot_owner_;
  dylan_value init_keyword_;
  dylan_value slot_getter_;
  dylan_value slot_setter_;
  dylan_value slot_type_;
} _KLinstance_slot_descriptorGVKe;

typedef struct {
  dylan_value wrapper;
} _KLintegerGVKd;

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

typedef struct {
  dylan_value wrapper;
  dylan_value class_properties_;
  dylan_value iclass_class_;
  dylan_value class_mm_wrapper_;
  dylan_value repeated_slot_descriptor_;
  dylan_value instance_slot_descriptors_;
  dylan_value iclass_dispatch_key_;
  dylan_value class_constructor_;
  dylan_value direct_superclasses_;
  dylan_value class_rcpl_vector_;
  dylan_value class_rcpl_position_;
  dylan_value class_rcpl_other_positions_;
  dylan_value class_known_joint_;
  dylan_value iclass_dependent_generics_;
  dylan_value iclass_subclass_dependent_generics_;
  dylan_value direct_subclasses_;
  dylan_value direct_methods_;
  dylan_value direct_slot_descriptors_;
  dylan_value slot_descriptors_;
  dylan_value direct_inherited_slot_descriptors_;
  dylan_value direct_initialization_argument_descriptors_;
  dylan_value class_slot_descriptors_;
  dylan_value defaulted_initialization_arguments_slot_;
  dylan_value class_slot_storage_;
} _KLimplementation_classGVKe;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(5);
define__KLsimple_object_vectorGVKd(10);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(6);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);

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

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
  dylan_value iep_;
  dylan_value keyword_specifiers_;
} _KLkeyword_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value namespace_name_;
  dylan_value home_library_;
} _KLmoduleGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_keys_;
  dylan_value signature_key_types_;
  dylan_value signature_values_;
} _KLkeyword_signatureAvaluesGVKi;

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

typedef struct {
  dylan_value wrapper;
} _KLstringGVKd;

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

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value method_slot_descriptor_;
} _KLsetter_methodGVKi;

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
} _KLfunctionGVKd;

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

typedef struct {
  dylan_value wrapper;
  dylan_value properties_;
  dylan_value engine_node_callback_;
  dylan_value engine_node_entry_point_;
  dylan_value cache_header_engine_node_next_;
  dylan_value cache_header_engine_node_parent_;
} _KLsimple_typechecked_cache_header_engine_nodeGVKg;

#define  define__KLstandalone_domainGVKe(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value domain_library_; \
    dylan_value domain_next_; \
    dylan_value domain_number_required_; \
    dylan_value domain_type_[nrepeated+1]; \
  } _KLstandalone_domainGVKe_##nrepeated;
define__KLstandalone_domainGVKe(1);

typedef struct {
  dylan_value wrapper;
  dylan_value namespace_name_;
  dylan_value library_major_version_;
  dylan_value library_minor_version_;
  dylan_value library_build_count_;
  dylan_value used_libraries_;
  dylan_value all_used_libraries_;
  dylan_value runtime_module_;
  dylan_value library_defined_generics_;
  dylan_value library_number_static_dispatches_;
  dylan_value library_number_dynamic_dispatches_;
} _KLlibraryGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value subclass_class_;
} _KLsubclassGVKe;


/* Typedefs for defined classes */

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

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
} _KLbinding_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
} _KLsequence_matchGVdfmc_macro_expander;

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

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

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

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

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

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

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

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

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
} _KLstructure_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
} _KLrest_matchGVdfmc_macro_expander;


/* Referenced object declarations */

dylan_value KPadd_classVKeI (dylan_value);
dylan_value KPadd_nonsiblinged_domainVKnI (dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLincremental_generic_functionGVKe KinitializeVKd;
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 KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLkeyword_methodGVKe Kdefault_class_constructorVKi;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
dylan_value Kclass_instanceQ_rcpl_single_smallVKiI (dylan_value, dylan_value);
extern _KLmoduleGVKe Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
dylan_value KerrorVKdMM1I (dylan_value, dylan_value);
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
dylan_value Kclass_instanceQ_initialVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
dylan_value Kunion_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value, dylan_value);
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLclassGVKd KLsetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsetter_methodGVKiW;
dylan_value KmemberQVKdMM2I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe KEEVKd;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsymbolGVKd KJtoken_;
extern _KLsymbolGVKd KJname_;
extern _KLsimple_methodGVKe Kdo_binding_matchesVdfmc_macro_expanderMM1;
extern _KLsimple_methodGVKe Kdo_binding_matchesVdfmc_macro_expanderMM2;
extern _KLsimple_methodGVKe Kdo_binding_matchesVdfmc_macro_expanderMM3;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLclassGVKd KLfragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLfragmentGVdfmc_readerW;
extern _KLsimple_methodGVKe Kdo_body_match_tailsVdfmc_macro_expanderMM1;
extern _KLsimple_methodGVKe Kdo_body_match_tailsVdfmc_macro_expanderMM2;
extern _KLsimple_methodGVKe Kdo_body_match_tailsVdfmc_macro_expanderMM3;
extern _KLincremental_generic_functionGVKe KemptyQVKd;
extern _KLsealed_generic_functionGVKe KheadVKd;
extern _KLsealed_generic_functionGVKe KtailVKd;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLclassGVKd KLstandalone_domainGVKe;
extern _KLmm_wrapperGVKi_0 KLstandalone_domainGVKeW;
extern _KLlibraryGVKe Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLclassGVKd KLsubclassGVKe;
extern _KLmm_wrapperGVKi_0 KLsubclassGVKeW;
dylan_value Ksubclass_instanceQVKiI (dylan_value, dylan_value);

/* Defined object declarations */

extern _KLclassGVKd KLpattern_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLpattern_matchGVdfmc_macro_expanderW;
extern _KLstandalone_domainGVKe_1 KmakeVKdRD_dfmc_macro_expanderRD_1;
extern _KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_macro_expanderRD_1;
extern _KLsealed_generic_functionGVKe Kdo_body_match_tailsVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kdo_binding_matchesVdfmc_macro_expander;
extern _KLclassGVKd KLbinding_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLbinding_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLsequence_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsequence_matchGVdfmc_macro_expanderW;
extern _KLsealed_generic_functionGVKe Kmatch_symbol_nameVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kmatch_variable_nameVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kmatch_constraintVdfmc_macro_expander;
dylan_value Kvalid_match_constraintQVdfmc_macro_expanderI (dylan_value);
extern _KLsealed_generic_functionGVKe Kmatch_constraint_setterVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kmatch_env_index_setterVdfmc_macro_expander;
extern _KLclassGVKd KLsimple_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsimple_matchGVdfmc_macro_expanderW;
extern _KLsealed_generic_functionGVKe Kmatch_source_locationVdfmc_macro_expander;
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;
extern _KLsealed_generic_functionGVKe Kmatch_default_expressionVdfmc_macro_expander;
extern _KLclassGVKd KLproperty_list_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLproperty_list_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLsplicing_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsplicing_matchGVdfmc_macro_expanderW;
dylan_value Kwildcard_constraintQVdfmc_macro_expanderMM0I (dylan_value);
dylan_value Kbounded_constraintQVdfmc_macro_expanderMM0I (dylan_value);
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;
dylan_value Kcompute_bound_variable_namesVdfmc_macro_expanderMM0I (dylan_value);
extern _KLclassGVKd KLnested_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLnested_matchGVdfmc_macro_expanderW;
extern _KLclassGVKd KLvariable_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLvariable_matchGVdfmc_macro_expanderW;
dylan_value Kcompute_binding_matchesVdfmc_macro_expanderMM0I (dylan_value);
extern _KLsealed_generic_functionGVKe Kmatch_env_indexVdfmc_macro_expander;
extern _KLgetter_methodGVKi Kmatch_env_indexVdfmc_macro_expanderMM0;
static _KLpairGVKd K47;
static _KLbyte_stringGVKd_15 K48;
extern _KLinstance_slot_descriptorGVKe Kmatch_env_indexVdfmc_macro_expanderHLbinding_matchG;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_compute_binding_matchesF52;
static dylan_value Kanonymous_of_compute_binding_matchesF52I (dylan_value);
static _KLimplementation_classGVKe K53;
static _KLsimple_object_vectorGVKd_3 K54;
extern _KLkeyword_methodGVKe KLvariable_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLvariable_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K57;
static _KLsimple_object_vectorGVKd_6 K58;
static _KLsimple_object_vectorGVKd_2 K59;
extern _KLinstance_slot_descriptorGVKe Kmatch_variable_name_patternVdfmc_macro_expanderHLvariable_matchG;
extern _KLinstance_slot_descriptorGVKe Kmatch_type_expression_patternVdfmc_macro_expanderHLvariable_matchG;
static _KLsymbolGVKd KJtype_expression_pattern_;
extern _KLsealed_generic_functionGVKe Kmatch_type_expression_patternVdfmc_macro_expander;
extern _KLgetter_methodGVKi Kmatch_type_expression_patternVdfmc_macro_expanderMM0;
static _KLpairGVKd K65;
static _KLbyte_stringGVKd_29 K66;
static _KLbyte_stringGVKd_23 K67;
static _KLsymbolGVKd KJvariable_name_pattern_;
extern _KLsealed_generic_functionGVKe Kmatch_variable_name_patternVdfmc_macro_expander;
extern _KLgetter_methodGVKi Kmatch_variable_name_patternVdfmc_macro_expanderMM0;
static _KLpairGVKd K71;
static _KLbyte_stringGVKd_27 K72;
static _KLbyte_stringGVKd_21 K73;
extern _KLclassGVKd KLstructure_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLstructure_matchGVdfmc_macro_expanderW;
static _KLimplementation_classGVKe K76;
static _KLsimple_object_vectorGVKd_1 K77;
static _KLsimple_object_vectorGVKd_1 K78;
static _KLsimple_object_vectorGVKd_6 K79;
extern _KLinstance_slot_descriptorGVKe Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG;
static _KLsymbolGVKd KJsource_location_;
static _KLbyte_stringGVKd_15 K82;
static _KLbyte_stringGVKd_17 K83;
static _KLbyte_stringGVKd_23 K84;
static _KLkeyword_signatureAvaluesGVKi K85;
static _KLsimple_object_vectorGVKd_6 K86;
static _KLsimple_object_vectorGVKd_3 K87;
static _KLsimple_object_vectorGVKd_1 K88;
static _KLbyte_stringGVKd_16 K89;
static _KLimplementation_classGVKe K90;
static _KLsimple_object_vectorGVKd_2 K91;
static _KLsimple_object_vectorGVKd_6 K92;
static _KLsimple_object_vectorGVKd_1 K93;
extern _KLinstance_slot_descriptorGVKe Kmatch_nested_patternVdfmc_macro_expanderHLnested_matchG;
static _KLsymbolGVKd KJnested_pattern_;
extern _KLsealed_generic_functionGVKe Kmatch_nested_patternVdfmc_macro_expander;
extern _KLgetter_methodGVKi Kmatch_nested_patternVdfmc_macro_expanderMM0;
extern _KLgetter_methodGVKi Kmatch_nested_patternVdfmc_macro_expanderMM1;
static _KLpairGVKd K99;
static _KLpairGVKd K100;
static _KLbyte_stringGVKd_20 K101;
extern _KLinstance_slot_descriptorGVKe Kmatch_nested_patternVdfmc_macro_expanderHLsplicing_matchG;
static _KLbyte_stringGVKd_14 K103;
static _KLbyte_stringGVKd_14 K104;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_compute_bound_variable_namesF107;
static dylan_value Kanonymous_of_compute_bound_variable_namesF107I (dylan_value);
static _KLimplementation_classGVKe K108;
extern _KLkeyword_methodGVKe KLparen_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLparen_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K111;
static _KLsimple_object_vectorGVKd_6 K112;
static _KLkeyword_signatureAvaluesGVKi K113;
static _KLsimple_object_vectorGVKd_4 K114;
static _KLsimple_object_vectorGVKd_2 K115;
static _KLsimple_object_vectorGVKd_1 K116;
static _KLbyte_stringGVKd_13 K117;
static _KLimplementation_classGVKe K118;
extern _KLkeyword_methodGVKe KLbracket_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLbracket_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K121;
static _KLkeyword_signatureAvaluesGVKi K122;
static _KLsimple_object_vectorGVKd_1 K123;
static _KLbyte_stringGVKd_15 K124;
static _KLimplementation_classGVKe K125;
extern _KLkeyword_methodGVKe KLbrace_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLbrace_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K128;
static _KLkeyword_signatureAvaluesGVKi K129;
static _KLsimple_object_vectorGVKd_1 K130;
static _KLbyte_stringGVKd_13 K131;
static _KLsymbolGVKd KJbody_;
static _KLsymbolGVKd KJcase_body_;
static _KLsymbolGVKd KJbodyX_;
static _KLbyte_stringGVKd_5 K135;
static _KLbyte_stringGVKd_9 K136;
static _KLbyte_stringGVKd_4 K137;
static _KLsymbolGVKd KJT_;
static _KLbyte_stringGVKd_1 K139;
static _KLimplementation_classGVKe K140;
static _KLsimple_object_vectorGVKd_4 K141;
extern _KLkeyword_methodGVKe KLsplicing_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLsplicing_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K144;
static _KLsimple_object_vectorGVKd_3 K145;
extern _KLinstance_slot_descriptorGVKe Kmatch_prefixVdfmc_macro_expanderHLsplicing_matchG;
extern _KLinstance_slot_descriptorGVKe Kmatch_suffixVdfmc_macro_expanderHLsplicing_matchG;
static _KLsymbolGVKd KJsuffix_;
extern _KLsealed_generic_functionGVKe Kmatch_suffixVdfmc_macro_expander;
static _KLunionGVKe K150;
static _KLsingletonGVKd K151;
extern _KLgetter_methodGVKi Kmatch_suffixVdfmc_macro_expanderMM0;
static _KLpairGVKd K153;
static _KLbyte_stringGVKd_12 K154;
static _KLbyte_stringGVKd_6 K155;
static _KLsymbolGVKd KJprefix_;
extern _KLsealed_generic_functionGVKe Kmatch_prefixVdfmc_macro_expander;
extern _KLgetter_methodGVKi Kmatch_prefixVdfmc_macro_expanderMM0;
static _KLpairGVKd K159;
static _KLbyte_stringGVKd_12 K160;
static _KLbyte_stringGVKd_6 K161;
static _KLkeyword_signatureAvaluesGVKi K162;
static _KLsimple_object_vectorGVKd_8 K163;
static _KLsimple_object_vectorGVKd_4 K164;
static _KLsimple_object_vectorGVKd_1 K165;
static _KLbyte_stringGVKd_16 K166;
static _KLimplementation_classGVKe K167;
static _KLsimple_object_vectorGVKd_3 K168;
extern _KLkeyword_methodGVKe KLproperty_list_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLproperty_list_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K171;
static _KLsimple_object_vectorGVKd_2 K172;
extern _KLinstance_slot_descriptorGVKe Kmatch_rest_patternVdfmc_macro_expanderHLproperty_list_matchG;
extern _KLinstance_slot_descriptorGVKe Kmatch_key_patternsVdfmc_macro_expanderHLproperty_list_matchG;
static _KLsymbolGVKd KJkey_patterns_;
extern _KLsealed_generic_functionGVKe Kmatch_key_patternsVdfmc_macro_expander;
extern _KLgetter_methodGVKi Kmatch_key_patternsVdfmc_macro_expanderMM0;
static _KLpairGVKd K178;
static _KLbyte_stringGVKd_18 K179;
static _KLbyte_stringGVKd_12 K180;
static _KLsymbolGVKd KJrest_pattern_;
extern _KLsealed_generic_functionGVKe Kmatch_rest_patternVdfmc_macro_expander;
extern _KLgetter_methodGVKi Kmatch_rest_patternVdfmc_macro_expanderMM0;
static _KLpairGVKd K184;
static _KLbyte_stringGVKd_18 K185;
static _KLbyte_stringGVKd_12 K186;
static _KLkeyword_signatureAvaluesGVKi K187;
static _KLsimple_object_vectorGVKd_6 K188;
static _KLsimple_object_vectorGVKd_3 K189;
static _KLsimple_object_vectorGVKd_1 K190;
static _KLbyte_stringGVKd_21 K191;
extern _KLgetter_methodGVKi Kmatch_default_expressionVdfmc_macro_expanderMM0;
extern _KLgetter_methodGVKi Kmatch_default_expressionVdfmc_macro_expanderMM1;
static _KLpairGVKd K194;
static _KLpairGVKd K195;
static _KLbyte_stringGVKd_24 K196;
extern _KLinstance_slot_descriptorGVKe Kmatch_default_expressionVdfmc_macro_expanderHLkey_sequence_matchG;
static _KLsymbolGVKd KJdefault_expression_;
static _KLbyte_stringGVKd_18 K199;
extern _KLinstance_slot_descriptorGVKe Kmatch_default_expressionVdfmc_macro_expanderHLkey_matchG;
static _KLimplementation_classGVKe K201;
static _KLsimple_object_vectorGVKd_6 K202;
extern _KLkeyword_methodGVKe KLkey_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLkey_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K205;
static _KLsimple_object_vectorGVKd_6 K206;
static _KLsimple_object_vectorGVKd_1 K207;
static _KLsymbolGVKd KJsymbol_name_;
static _KLsymbolGVKd KJvariable_name_;
static _KLsymbolGVKd KJconstraint_;
static _KLbyte_stringGVKd_10 K211;
static _KLbyte_stringGVKd_13 K212;
static _KLbyte_stringGVKd_11 K213;
static _KLkeyword_signatureAvaluesGVKi K214;
static _KLsimple_object_vectorGVKd_10 K215;
static _KLsimple_object_vectorGVKd_5 K216;
static _KLsimple_object_vectorGVKd_1 K217;
extern _KLinstance_slot_descriptorGVKe Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG;
extern _KLinstance_slot_descriptorGVKe Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG;
extern _KLinstance_slot_descriptorGVKe Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG;
extern _KLsealed_generic_functionGVKe Kmatch_variable_name_setterVdfmc_macro_expander;
extern _KLsetter_methodGVKi Kmatch_variable_name_setterVdfmc_macro_expanderMM0;
static _KLpairGVKd K223;
static _KLbyte_stringGVKd_26 K224;
extern _KLsealed_generic_functionGVKe Kmatch_symbol_name_setterVdfmc_macro_expander;
extern _KLsetter_methodGVKi Kmatch_symbol_name_setterVdfmc_macro_expanderMM0;
static _KLpairGVKd K227;
static _KLbyte_stringGVKd_24 K228;
static _KLbyte_stringGVKd_11 K229;
static _KLimplementation_classGVKe K230;
static _KLsimple_object_vectorGVKd_6 K231;
extern _KLkeyword_methodGVKe KLkey_sequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLkey_sequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K234;
static _KLsimple_object_vectorGVKd_6 K235;
static _KLsimple_object_vectorGVKd_1 K236;
static _KLkeyword_signatureAvaluesGVKi K237;
static _KLsimple_object_vectorGVKd_1 K238;
static _KLbyte_stringGVKd_20 K239;
extern _KLgetter_methodGVKi Kmatch_source_locationVdfmc_macro_expanderMM0;
static _KLpairGVKd K241;
static _KLbyte_stringGVKd_21 K242;
static _KLimplementation_classGVKe K243;
static _KLsimple_object_vectorGVKd_5 K244;
extern _KLkeyword_methodGVKe KLsimple_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLsimple_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K247;
static _KLkeyword_signatureAvaluesGVKi K248;
static _KLsimple_object_vectorGVKd_8 K249;
static _KLsimple_object_vectorGVKd_4 K250;
static _KLsimple_object_vectorGVKd_1 K251;
static _KLbyte_stringGVKd_14 K252;
extern _KLsetter_methodGVKi Kmatch_env_index_setterVdfmc_macro_expanderMM0;
static _KLpairGVKd K254;
static _KLbyte_stringGVKd_22 K255;
extern _KLsetter_methodGVKi Kmatch_constraint_setterVdfmc_macro_expanderMM0;
static _KLpairGVKd K257;
static _KLbyte_stringGVKd_23 K258;
static _KLsimple_object_vectorGVKd_10 K259;
static _KLsymbolGVKd KJexpression_;
static _KLsymbolGVKd KJvariable_;
static _KLsymbolGVKd KJmacro_;
static _KLsymbolGVKd KJsymbol_;
static _KLbyte_stringGVKd_6 K264;
static _KLbyte_stringGVKd_5 K265;
static _KLbyte_stringGVKd_8 K266;
static _KLbyte_stringGVKd_10 K267;
extern _KLgetter_methodGVKi Kmatch_constraintVdfmc_macro_expanderMM0;
static _KLpairGVKd K269;
static _KLbyte_stringGVKd_16 K270;
extern _KLgetter_methodGVKi Kmatch_variable_nameVdfmc_macro_expanderMM0;
static _KLpairGVKd K272;
static _KLbyte_stringGVKd_19 K273;
extern _KLgetter_methodGVKi Kmatch_symbol_nameVdfmc_macro_expanderMM0;
static _KLpairGVKd K275;
static _KLbyte_stringGVKd_17 K276;
static _KLimplementation_classGVKe K277;
extern _KLkeyword_methodGVKe KLsequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLsequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K280;
static _KLkeyword_signatureAvaluesGVKi K281;
static _KLbyte_stringGVKd_16 K282;
static _KLimplementation_classGVKe K283;
static _KLsimple_object_vectorGVKd_6 K284;
static _KLsimple_object_vectorGVKd_4 K285;
static _KLbyte_stringGVKd_15 K286;
extern _KLsimple_methodGVKe Kdo_binding_matchesVdfmc_macro_expanderMM0;
dylan_value Kdo_binding_matchesVdfmc_macro_expanderMM0I (dylan_value, dylan_value);
static _KLpairGVKd K289;
static _KLpairGVKd K290;
static _KLpairGVKd K291;
static _KLpairGVKd K292;
static _KLbyte_stringGVKd_18 K293;
extern _KLsealed_generic_functionGVKe Kdo_match_binding_matchesVdfmc_macro_expander;
extern _KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM0;
dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM0I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM1;
dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM1I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM2;
dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM2I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM3;
dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM3I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM4;
dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM4I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM5;
dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM5I (dylan_value, dylan_value);
static _KLpairGVKd K307;
static _KLpairGVKd K308;
static _KLpairGVKd K309;
static _KLpairGVKd K310;
static _KLpairGVKd K311;
static _KLpairGVKd K312;
static _KLbyte_stringGVKd_24 K313;
static _KLsignatureGVKe K314;
static _KLsimple_object_vectorGVKd_2 K315;
static _KLsignatureGVKe K316;
static _KLsimple_object_vectorGVKd_2 K317;
static _KLsignatureGVKe K318;
static _KLsimple_object_vectorGVKd_2 K319;
static _KLsignatureGVKe K320;
static _KLsimple_object_vectorGVKd_2 K321;
static _KLsignatureGVKe K322;
static _KLsimple_object_vectorGVKd_2 K323;
static _KLsignatureGVKe K324;
static _KLsimple_object_vectorGVKd_2 K325;
static _KLunionGVKe K326;
extern _KLsimple_methodGVKe Kdo_body_match_tailsVdfmc_macro_expanderMM0;
dylan_value Kdo_body_match_tailsVdfmc_macro_expanderMM0I (dylan_value, dylan_value);
static _KLpairGVKd K329;
static _KLpairGVKd K330;
static _KLpairGVKd K331;
static _KLpairGVKd K332;
static _KLbyte_stringGVKd_19 K333;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K334;
extern _KLsealed_generic_functionGVKe Kdo_match_body_match_tailsVdfmc_macro_expander;
extern _KLsimple_methodGVKe Kdo_match_body_match_tailsVdfmc_macro_expanderMM0;
dylan_value Kdo_match_body_match_tailsVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdo_match_body_match_tailsVdfmc_macro_expanderMM1;
dylan_value Kdo_match_body_match_tailsVdfmc_macro_expanderMM1I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdo_match_body_match_tailsVdfmc_macro_expanderMM2;
dylan_value Kdo_match_body_match_tailsVdfmc_macro_expanderMM2I (dylan_value, dylan_value, dylan_value);
static _KLpairGVKd K342;
static _KLpairGVKd K343;
static _KLpairGVKd K344;
static _KLbyte_stringGVKd_25 K345;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K346;
static _KLsignatureGVKe K347;
static _KLsimple_object_vectorGVKd_3 K348;
static _KLsignatureGVKe K349;
static _KLsimple_object_vectorGVKd_3 K350;
static _KLsignatureGVKe K351;
static _KLsimple_object_vectorGVKd_3 K352;
static _KLsignatureGVKe K353;
static _KLsimple_object_vectorGVKd_2 K354;
extern _KLclassGVKd KLrest_matchGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLrest_matchGVdfmc_macro_expanderW;
static _KLimplementation_classGVKe K357;
extern _KLkeyword_methodGVKe KLrest_matchGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLrest_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K360;
static _KLkeyword_signatureAvaluesGVKi K361;
static _KLsimple_object_vectorGVKd_1 K362;
static _KLbyte_stringGVKd_12 K363;
static _KLsubclassGVKe K364;
static _KLimplementation_classGVKe K365;
static _KLsimple_object_vectorGVKd_1 K366;
static _KLsimple_object_vectorGVKd_6 K367;
static _KLbyte_stringGVKd_15 K368;
static _KLpairGVKd K369;
static _KLpairGVKd K370;
static _KLpairGVKd K371;
static _KLpairGVKd K372;
static _KLpairGVKd K373;
static _KLpairGVKd K374;
static _KLpairGVKd K375;
static _KLpairGVKd K376;
static _KLpairGVKd K377;
static _KLpairGVKd K378;
static _KLpairGVKd K379;
static _KLpairGVKd K380;
static _KLpairGVKd K381;
static _KLpairGVKd K382;

/* Indirection variables */

static dylan_value IKJtype_expression_pattern_ = &KJtype_expression_pattern_;
static dylan_value IKJvariable_name_pattern_ = &KJvariable_name_pattern_;
static dylan_value IKJsource_location_ = &KJsource_location_;
static dylan_value IKJnested_pattern_ = &KJnested_pattern_;
static dylan_value IKJbody_ = &KJbody_;
static dylan_value IKJcase_body_ = &KJcase_body_;
static dylan_value IKJbodyX_ = &KJbodyX_;
static dylan_value IKJT_ = &KJT_;
static dylan_value IKJsuffix_ = &KJsuffix_;
static dylan_value IKJprefix_ = &KJprefix_;
static dylan_value IKJkey_patterns_ = &KJkey_patterns_;
static dylan_value IKJrest_pattern_ = &KJrest_pattern_;
static dylan_value IKJdefault_expression_ = &KJdefault_expression_;
static dylan_value IKJsymbol_name_ = &KJsymbol_name_;
static dylan_value IKJvariable_name_ = &KJvariable_name_;
static dylan_value IKJconstraint_ = &KJconstraint_;
static dylan_value IKJexpression_ = &KJexpression_;
static dylan_value IKJvariable_ = &KJvariable_;
static dylan_value IKJmacro_ = &KJmacro_;
static dylan_value IKJsymbol_ = &KJsymbol_;

/* Variables */

dylan_value do_body_match_tailsVdfmc_macro_expander = &Kdo_body_match_tailsVdfmc_macro_expander;
dylan_value do_binding_matchesVdfmc_macro_expander = &Kdo_binding_matchesVdfmc_macro_expander;
dylan_value match_default_expressionVdfmc_macro_expander = &Kmatch_default_expressionVdfmc_macro_expander;
dylan_value match_symbol_nameVdfmc_macro_expander = &Kmatch_symbol_nameVdfmc_macro_expander;
dylan_value match_variable_nameVdfmc_macro_expander = &Kmatch_variable_nameVdfmc_macro_expander;
dylan_value match_constraintVdfmc_macro_expander = &Kmatch_constraintVdfmc_macro_expander;
dylan_value match_constraint_setterVdfmc_macro_expander = &Kmatch_constraint_setterVdfmc_macro_expander;
dylan_value match_env_indexVdfmc_macro_expander = &Kmatch_env_indexVdfmc_macro_expander;
dylan_value match_env_index_setterVdfmc_macro_expander = &Kmatch_env_index_setterVdfmc_macro_expander;
dylan_value match_source_locationVdfmc_macro_expander = &Kmatch_source_locationVdfmc_macro_expander;
dylan_value Lpattern_matchGVdfmc_macro_expander = &KLpattern_matchGVdfmc_macro_expander;
dylan_value Lbinding_matchGVdfmc_macro_expander = &KLbinding_matchGVdfmc_macro_expander;
dylan_value Lsimple_matchGVdfmc_macro_expander = &KLsimple_matchGVdfmc_macro_expander;
dylan_value Lsequence_matchGVdfmc_macro_expander = &KLsequence_matchGVdfmc_macro_expander;
dylan_value Lstructure_matchGVdfmc_macro_expander = &KLstructure_matchGVdfmc_macro_expander;
dylan_value Lnested_matchGVdfmc_macro_expander = &KLnested_matchGVdfmc_macro_expander;
dylan_value Lparen_matchGVdfmc_macro_expander = &KLparen_matchGVdfmc_macro_expander;
dylan_value Lbracket_matchGVdfmc_macro_expander = &KLbracket_matchGVdfmc_macro_expander;
dylan_value Lbrace_matchGVdfmc_macro_expander = &KLbrace_matchGVdfmc_macro_expander;
dylan_value Lvariable_matchGVdfmc_macro_expander = &KLvariable_matchGVdfmc_macro_expander;
dylan_value Lproperty_list_matchGVdfmc_macro_expander = &KLproperty_list_matchGVdfmc_macro_expander;
dylan_value Lrest_matchGVdfmc_macro_expander = &KLrest_matchGVdfmc_macro_expander;
dylan_value Lkey_matchGVdfmc_macro_expander = &KLkey_matchGVdfmc_macro_expander;
dylan_value Lkey_sequence_matchGVdfmc_macro_expander = &KLkey_sequence_matchGVdfmc_macro_expander;
dylan_value Lsplicing_matchGVdfmc_macro_expander = &KLsplicing_matchGVdfmc_macro_expander;
dylan_value Dvalid_constraintsVdfmc_macro_expander = &K259;

/* Objects */

_KLclassGVKd KLpattern_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K368,
  &K365,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLpattern_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K365,
  (dylan_value) 1,
  5,
  33554439,
  (dylan_value) 1
};

_KLstandalone_domainGVKe_1 KmakeVKdRD_dfmc_macro_expanderRD_1 = {
  &KLstandalone_domainGVKeW /* wrapper */,
  &Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander,
  &KPfalseVKi,
  (dylan_value) 5,
  &K364
};

_KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_macro_expanderRD_1 = {
  &KLstandalone_domainGVKeW /* wrapper */,
  &Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander,
  &KPfalseVKi,
  (dylan_value) 5,
  &KLpattern_matchGVdfmc_macro_expander
};

_KLsealed_generic_functionGVKe Kdo_body_match_tailsVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (dylan_value) 5,
  &K333,
  &K329,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kdo_binding_matchesVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (dylan_value) 1,
  &K293,
  &K289,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLclassGVKd KLbinding_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K286,
  &K283,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLbinding_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K283,
  (dylan_value) 1,
  21,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLsequence_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K282,
  &K277,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLsequence_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K277,
  (dylan_value) 1,
  21,
  33554439,
  (dylan_value) 1
};

_KLsealed_generic_functionGVKe Kmatch_symbol_nameVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K276,
  &K275,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kmatch_variable_nameVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K273,
  &K272,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kmatch_constraintVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K270,
  &K269,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kmatch_constraint_setterVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K258,
  &K257,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kmatch_env_index_setterVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K255,
  &K254,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLclassGVKd KLsimple_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K252,
  &K243,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLsimple_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K243,
  (dylan_value) 1,
  21,
  33554439,
  (dylan_value) 1
};

_KLsealed_generic_functionGVKe Kmatch_source_locationVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K242,
  &K241,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLclassGVKd KLkey_sequence_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K239,
  &K230,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLkey_sequence_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K230,
  (dylan_value) 1,
  25,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLkey_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K229,
  &K201,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLkey_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K201,
  (dylan_value) 1,
  25,
  33554439,
  (dylan_value) 1
};

_KLsealed_generic_functionGVKe Kmatch_default_expressionVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K196,
  &K194,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLclassGVKd KLproperty_list_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K191,
  &K167,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLproperty_list_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K167,
  (dylan_value) 1,
  13,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLsplicing_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K166,
  &K140,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLsplicing_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K140,
  (dylan_value) 1,
  17,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLbrace_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K131,
  &K125,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLbrace_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K125,
  (dylan_value) 1,
  9,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLbracket_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K124,
  &K118,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLbracket_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K118,
  (dylan_value) 1,
  9,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLparen_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K117,
  &K108,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLparen_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K108,
  (dylan_value) 1,
  9,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLnested_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K104,
  &K90,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLnested_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K90,
  (dylan_value) 1,
  9,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLvariable_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K89,
  &K53,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLvariable_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K53,
  (dylan_value) 1,
  13,
  33554439,
  (dylan_value) 1
};

_KLsealed_generic_functionGVKe Kmatch_env_indexVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K48,
  &K47,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kmatch_env_indexVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_env_indexVdfmc_macro_expanderHLbinding_matchG
};

static _KLpairGVKd K47 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_env_indexVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_15 K48 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "match-env-index"
};

_KLinstance_slot_descriptorGVKe Kmatch_env_indexVdfmc_macro_expanderHLbinding_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  (dylan_value) 1,
  &KLbinding_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &Kmatch_env_indexVdfmc_macro_expander,
  &Kmatch_env_index_setterVdfmc_macro_expander,
  &KLintegerGVKd
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_compute_binding_matchesF52 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_compute_binding_matchesF52I,
  (dylan_value) 1
};

static _KLimplementation_classGVKe K53 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433741,
  &KLvariable_matchGVdfmc_macro_expander,
  &KLvariable_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K54,
  (dylan_value) -3,
  &KLvariable_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K57,
  &K58,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K59,
  &K54,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_3 K54 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG,
  &Kmatch_variable_name_patternVdfmc_macro_expanderHLvariable_matchG,
  &Kmatch_type_expression_patternVdfmc_macro_expanderHLvariable_matchG
};

_KLkeyword_methodGVKe KLvariable_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K85,
  &key_mep_2,
  &KLvariable_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K86
};

static _KLsimple_object_vectorGVKd_1 K57 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLstructure_matchGVdfmc_macro_expander
};

static _KLsimple_object_vectorGVKd_6 K58 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLvariable_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_2 K59 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &Kmatch_variable_name_patternVdfmc_macro_expanderHLvariable_matchG,
  &Kmatch_type_expression_patternVdfmc_macro_expanderHLvariable_matchG
};

_KLinstance_slot_descriptorGVKe Kmatch_variable_name_patternVdfmc_macro_expanderHLvariable_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLvariable_matchGVdfmc_macro_expander,
  &KJvariable_name_pattern_,
  &Kmatch_variable_name_patternVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

_KLinstance_slot_descriptorGVKe Kmatch_type_expression_patternVdfmc_macro_expanderHLvariable_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLvariable_matchGVdfmc_macro_expander,
  &KJtype_expression_pattern_,
  &Kmatch_type_expression_patternVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

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

_KLsealed_generic_functionGVKe Kmatch_type_expression_patternVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K66,
  &K65,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kmatch_type_expression_patternVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_type_expression_patternVdfmc_macro_expanderHLvariable_matchG
};

static _KLpairGVKd K65 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_type_expression_patternVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_29 K66 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 117,
  "match-type-expression-pattern"
};

static _KLbyte_stringGVKd_23 K67 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "type-expression-pattern"
};

static _KLsymbolGVKd KJvariable_name_pattern_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K73
};

_KLsealed_generic_functionGVKe Kmatch_variable_name_patternVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K72,
  &K71,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kmatch_variable_name_patternVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_variable_name_patternVdfmc_macro_expanderHLvariable_matchG
};

static _KLpairGVKd K71 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_variable_name_patternVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_27 K72 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 109,
  "match-variable-name-pattern"
};

static _KLbyte_stringGVKd_21 K73 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 85,
  "variable-name-pattern"
};

_KLclassGVKd KLstructure_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K83,
  &K76,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLstructure_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K76,
  (dylan_value) 1,
  5,
  33554439,
  (dylan_value) 1
};

static _KLimplementation_classGVKe K76 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 410255365,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K77,
  (dylan_value) -3,
  &Kdefault_class_constructorVKi,
  &K78,
  &K79,
  (dylan_value) 9,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K376,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K77,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_1 K77 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG
};

static _KLsimple_object_vectorGVKd_1 K78 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLpattern_matchGVdfmc_macro_expander
};

static _KLsimple_object_vectorGVKd_6 K79 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

_KLinstance_slot_descriptorGVKe Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPfalseVKi,
  &KLpattern_matchGVdfmc_macro_expander,
  &KJsource_location_,
  &Kmatch_source_locationVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

static _KLsymbolGVKd KJsource_location_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K82
};

static _KLbyte_stringGVKd_15 K82 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "source-location"
};

static _KLbyte_stringGVKd_17 K83 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "<structure-match>"
};

static _KLbyte_stringGVKd_23 K84 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "Missing init keyword %="
};

static _KLkeyword_signatureAvaluesGVKi K85 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K87,
  &KDsignature_LobjectG_typesVKi,
  &K88
};

static _KLsimple_object_vectorGVKd_6 K86 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KJsource_location_,
  &KPfalseVKi,
  &KJvariable_name_pattern_,
  &KPunboundVKi,
  &KJtype_expression_pattern_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_3 K87 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KJsource_location_,
  &KJvariable_name_pattern_,
  &KJtype_expression_pattern_
};

static _KLsimple_object_vectorGVKd_1 K88 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLvariable_matchGVdfmc_macro_expander
};

static _KLbyte_stringGVKd_16 K89 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "<variable-match>"
};

static _KLimplementation_classGVKe K90 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 460587017,
  &KLnested_matchGVdfmc_macro_expander,
  &KLnested_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K91,
  (dylan_value) -3,
  &Kdefault_class_constructorVKi,
  &K57,
  &K92,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K380,
  &KPempty_vectorVKi,
  &K93,
  &K91,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_2 K91 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG,
  &Kmatch_nested_patternVdfmc_macro_expanderHLnested_matchG
};

static _KLsimple_object_vectorGVKd_6 K92 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLnested_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_1 K93 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &Kmatch_nested_patternVdfmc_macro_expanderHLnested_matchG
};

_KLinstance_slot_descriptorGVKe Kmatch_nested_patternVdfmc_macro_expanderHLnested_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLnested_matchGVdfmc_macro_expander,
  &KJnested_pattern_,
  &Kmatch_nested_patternVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

static _KLsymbolGVKd KJnested_pattern_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K103
};

_KLsealed_generic_functionGVKe Kmatch_nested_patternVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K101,
  &K99,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kmatch_nested_patternVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_nested_patternVdfmc_macro_expanderHLnested_matchG
};

_KLgetter_methodGVKi Kmatch_nested_patternVdfmc_macro_expanderMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_nested_patternVdfmc_macro_expanderHLsplicing_matchG
};

static _KLpairGVKd K99 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_nested_patternVdfmc_macro_expanderMM0,
  &K100
};

static _KLpairGVKd K100 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_nested_patternVdfmc_macro_expanderMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K101 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "match-nested-pattern"
};

_KLinstance_slot_descriptorGVKe Kmatch_nested_patternVdfmc_macro_expanderHLsplicing_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLsplicing_matchGVdfmc_macro_expander,
  &KJnested_pattern_,
  &Kmatch_nested_patternVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

static _KLbyte_stringGVKd_14 K103 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "nested-pattern"
};

static _KLbyte_stringGVKd_14 K104 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "<nested-match>"
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_compute_bound_variable_namesF107 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_compute_bound_variable_namesF107I,
  (dylan_value) 1
};

static _KLimplementation_classGVKe K108 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 477102089,
  &KLparen_matchGVdfmc_macro_expander,
  &KLparen_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K91,
  (dylan_value) -3,
  &KLparen_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K111,
  &K112,
  (dylan_value) 17,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K91,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLparen_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K113,
  &key_mep_2,
  &KLparen_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K114
};

static _KLsimple_object_vectorGVKd_1 K111 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLnested_matchGVdfmc_macro_expander
};

static _KLsimple_object_vectorGVKd_6 K112 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLnested_matchGVdfmc_macro_expander,
  &KLparen_matchGVdfmc_macro_expander,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K113 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K115,
  &KDsignature_LobjectG_typesVKi,
  &K116
};

static _KLsimple_object_vectorGVKd_4 K114 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJsource_location_,
  &KPfalseVKi,
  &KJnested_pattern_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_2 K115 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJsource_location_,
  &KJnested_pattern_
};

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

static _KLbyte_stringGVKd_13 K117 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 53,
  "<paren-match>"
};

static _KLimplementation_classGVKe K118 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 477102089,
  &KLbracket_matchGVdfmc_macro_expander,
  &KLbracket_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K91,
  (dylan_value) -3,
  &KLbracket_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K111,
  &K121,
  (dylan_value) 17,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K91,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLbracket_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K122,
  &key_mep_2,
  &KLbracket_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K114
};

static _KLsimple_object_vectorGVKd_6 K121 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLnested_matchGVdfmc_macro_expander,
  &KLbracket_matchGVdfmc_macro_expander,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K122 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K115,
  &KDsignature_LobjectG_typesVKi,
  &K123
};

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

static _KLbyte_stringGVKd_15 K124 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "<bracket-match>"
};

static _KLimplementation_classGVKe K125 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 477102089,
  &KLbrace_matchGVdfmc_macro_expander,
  &KLbrace_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K91,
  (dylan_value) -3,
  &KLbrace_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K111,
  &K128,
  (dylan_value) 17,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K91,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLbrace_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K129,
  &key_mep_2,
  &KLbrace_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K114
};

static _KLsimple_object_vectorGVKd_6 K128 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLnested_matchGVdfmc_macro_expander,
  &KLbrace_matchGVdfmc_macro_expander,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K129 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K115,
  &KDsignature_LobjectG_typesVKi,
  &K130
};

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

static _KLbyte_stringGVKd_13 K131 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 53,
  "<brace-match>"
};

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

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

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

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

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

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

static _KLsymbolGVKd KJT_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K139
};

static _KLbyte_stringGVKd_1 K139 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 5,
  "*"
};

static _KLimplementation_classGVKe K140 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433745,
  &KLsplicing_matchGVdfmc_macro_expander,
  &KLsplicing_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K141,
  (dylan_value) -3,
  &KLsplicing_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K57,
  &K144,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K145,
  &K141,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_4 K141 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG,
  &Kmatch_nested_patternVdfmc_macro_expanderHLsplicing_matchG,
  &Kmatch_prefixVdfmc_macro_expanderHLsplicing_matchG,
  &Kmatch_suffixVdfmc_macro_expanderHLsplicing_matchG
};

_KLkeyword_methodGVKe KLsplicing_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K162,
  &key_mep_2,
  &KLsplicing_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K163
};

static _KLsimple_object_vectorGVKd_6 K144 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLsplicing_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_3 K145 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &Kmatch_nested_patternVdfmc_macro_expanderHLsplicing_matchG,
  &Kmatch_prefixVdfmc_macro_expanderHLsplicing_matchG,
  &Kmatch_suffixVdfmc_macro_expanderHLsplicing_matchG
};

_KLinstance_slot_descriptorGVKe Kmatch_prefixVdfmc_macro_expanderHLsplicing_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLsplicing_matchGVdfmc_macro_expander,
  &KJprefix_,
  &Kmatch_prefixVdfmc_macro_expander,
  &KPfalseVKi,
  &K150
};

_KLinstance_slot_descriptorGVKe Kmatch_suffixVdfmc_macro_expanderHLsplicing_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLsplicing_matchGVdfmc_macro_expander,
  &KJsuffix_,
  &Kmatch_suffixVdfmc_macro_expander,
  &KPfalseVKi,
  &K150
};

static _KLsymbolGVKd KJsuffix_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K155
};

_KLsealed_generic_functionGVKe Kmatch_suffixVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K154,
  &K153,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLunionGVKe K150 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K151,
  &KLstringGVKd
};

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

_KLgetter_methodGVKi Kmatch_suffixVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_suffixVdfmc_macro_expanderHLsplicing_matchG
};

static _KLpairGVKd K153 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_suffixVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_12 K154 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "match-suffix"
};

static _KLbyte_stringGVKd_6 K155 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "suffix"
};

static _KLsymbolGVKd KJprefix_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K161
};

_KLsealed_generic_functionGVKe Kmatch_prefixVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K160,
  &K159,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kmatch_prefixVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_prefixVdfmc_macro_expanderHLsplicing_matchG
};

static _KLpairGVKd K159 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_prefixVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_12 K160 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "match-prefix"
};

static _KLbyte_stringGVKd_6 K161 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "prefix"
};

static _KLkeyword_signatureAvaluesGVKi K162 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K164,
  &KDsignature_LobjectG_typesVKi,
  &K165
};

static _KLsimple_object_vectorGVKd_8 K163 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KJsource_location_,
  &KPfalseVKi,
  &KJnested_pattern_,
  &KPunboundVKi,
  &KJprefix_,
  &KPunboundVKi,
  &KJsuffix_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_4 K164 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJsource_location_,
  &KJnested_pattern_,
  &KJprefix_,
  &KJsuffix_
};

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

static _KLbyte_stringGVKd_16 K166 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "<splicing-match>"
};

static _KLimplementation_classGVKe K167 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433741,
  &KLproperty_list_matchGVdfmc_macro_expander,
  &KLproperty_list_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K168,
  (dylan_value) -3,
  &KLproperty_list_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K57,
  &K171,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K172,
  &K168,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_3 K168 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG,
  &Kmatch_rest_patternVdfmc_macro_expanderHLproperty_list_matchG,
  &Kmatch_key_patternsVdfmc_macro_expanderHLproperty_list_matchG
};

_KLkeyword_methodGVKe KLproperty_list_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K187,
  &key_mep_2,
  &KLproperty_list_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K188
};

static _KLsimple_object_vectorGVKd_6 K171 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLproperty_list_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_2 K172 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &Kmatch_rest_patternVdfmc_macro_expanderHLproperty_list_matchG,
  &Kmatch_key_patternsVdfmc_macro_expanderHLproperty_list_matchG
};

_KLinstance_slot_descriptorGVKe Kmatch_rest_patternVdfmc_macro_expanderHLproperty_list_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPfalseVKi,
  &KLproperty_list_matchGVdfmc_macro_expander,
  &KJrest_pattern_,
  &Kmatch_rest_patternVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

_KLinstance_slot_descriptorGVKe Kmatch_key_patternsVdfmc_macro_expanderHLproperty_list_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPempty_listVKi,
  &KLproperty_list_matchGVdfmc_macro_expander,
  &KJkey_patterns_,
  &Kmatch_key_patternsVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

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

_KLsealed_generic_functionGVKe Kmatch_key_patternsVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K179,
  &K178,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kmatch_key_patternsVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_key_patternsVdfmc_macro_expanderHLproperty_list_matchG
};

static _KLpairGVKd K178 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_key_patternsVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_18 K179 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "match-key-patterns"
};

static _KLbyte_stringGVKd_12 K180 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "key-patterns"
};

static _KLsymbolGVKd KJrest_pattern_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K186
};

_KLsealed_generic_functionGVKe Kmatch_rest_patternVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K185,
  &K184,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kmatch_rest_patternVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_rest_patternVdfmc_macro_expanderHLproperty_list_matchG
};

static _KLpairGVKd K184 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_rest_patternVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_18 K185 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "match-rest-pattern"
};

static _KLbyte_stringGVKd_12 K186 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "rest-pattern"
};

static _KLkeyword_signatureAvaluesGVKi K187 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K189,
  &KDsignature_LobjectG_typesVKi,
  &K190
};

static _KLsimple_object_vectorGVKd_6 K188 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KJsource_location_,
  &KPfalseVKi,
  &KJrest_pattern_,
  &KPfalseVKi,
  &KJkey_patterns_,
  &KPempty_listVKi
};

static _KLsimple_object_vectorGVKd_3 K189 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KJsource_location_,
  &KJrest_pattern_,
  &KJkey_patterns_
};

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

static _KLbyte_stringGVKd_21 K191 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 85,
  "<property-list-match>"
};

_KLgetter_methodGVKi Kmatch_default_expressionVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_default_expressionVdfmc_macro_expanderHLkey_matchG
};

_KLgetter_methodGVKi Kmatch_default_expressionVdfmc_macro_expanderMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_default_expressionVdfmc_macro_expanderHLkey_sequence_matchG
};

static _KLpairGVKd K194 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_default_expressionVdfmc_macro_expanderMM0,
  &K195
};

static _KLpairGVKd K195 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_default_expressionVdfmc_macro_expanderMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K196 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 97,
  "match-default-expression"
};

_KLinstance_slot_descriptorGVKe Kmatch_default_expressionVdfmc_macro_expanderHLkey_sequence_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPfalseVKi,
  &KLkey_sequence_matchGVdfmc_macro_expander,
  &KJdefault_expression_,
  &Kmatch_default_expressionVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

static _KLsymbolGVKd KJdefault_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K199
};

static _KLbyte_stringGVKd_18 K199 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "default-expression"
};

_KLinstance_slot_descriptorGVKe Kmatch_default_expressionVdfmc_macro_expanderHLkey_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPfalseVKi,
  &KLkey_matchGVdfmc_macro_expander,
  &KJdefault_expression_,
  &Kmatch_default_expressionVdfmc_macro_expander,
  &KPfalseVKi,
  &KLobjectGVKd
};

static _KLimplementation_classGVKe K201 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433753,
  &KLkey_matchGVdfmc_macro_expander,
  &KLkey_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K202,
  (dylan_value) -3,
  &KLkey_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K205,
  &K206,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K207,
  &K202,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_6 K202 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG,
  &Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_env_indexVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_default_expressionVdfmc_macro_expanderHLkey_matchG
};

_KLkeyword_methodGVKe KLkey_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_7,
  &K214,
  &key_mep_2,
  &KLkey_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K215
};

static _KLsimple_object_vectorGVKd_1 K205 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLbinding_matchGVdfmc_macro_expander
};

static _KLsimple_object_vectorGVKd_6 K206 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLbinding_matchGVdfmc_macro_expander,
  &KLkey_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_1 K207 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &Kmatch_default_expressionVdfmc_macro_expanderHLkey_matchG
};

static _KLsymbolGVKd KJsymbol_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K213
};

static _KLsymbolGVKd KJvariable_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K212
};

static _KLsymbolGVKd KJconstraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K211
};

static _KLbyte_stringGVKd_10 K211 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "constraint"
};

static _KLbyte_stringGVKd_13 K212 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 53,
  "variable-name"
};

static _KLbyte_stringGVKd_11 K213 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "symbol-name"
};

static _KLkeyword_signatureAvaluesGVKi K214 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K216,
  &KDsignature_LobjectG_typesVKi,
  &K217
};

static _KLsimple_object_vectorGVKd_10 K215 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 41,
  &KJsource_location_,
  &KPfalseVKi,
  &KJsymbol_name_,
  &KPunboundVKi,
  &KJvariable_name_,
  &KPunboundVKi,
  &KJconstraint_,
  &KPunboundVKi,
  &KJdefault_expression_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_5 K216 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 21,
  &KJsource_location_,
  &KJsymbol_name_,
  &KJvariable_name_,
  &KJconstraint_,
  &KJdefault_expression_
};

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

_KLinstance_slot_descriptorGVKe Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLbinding_matchGVdfmc_macro_expander,
  &KJsymbol_name_,
  &Kmatch_symbol_nameVdfmc_macro_expander,
  &Kmatch_symbol_name_setterVdfmc_macro_expander,
  &KLobjectGVKd
};

_KLinstance_slot_descriptorGVKe Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLbinding_matchGVdfmc_macro_expander,
  &KJvariable_name_,
  &Kmatch_variable_nameVdfmc_macro_expander,
  &Kmatch_variable_name_setterVdfmc_macro_expander,
  &KLobjectGVKd
};

_KLinstance_slot_descriptorGVKe Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLbinding_matchGVdfmc_macro_expander,
  &KJconstraint_,
  &Kmatch_constraintVdfmc_macro_expander,
  &Kmatch_constraint_setterVdfmc_macro_expander,
  &KLobjectGVKd
};

_KLsealed_generic_functionGVKe Kmatch_variable_name_setterVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K224,
  &K223,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Kmatch_variable_name_setterVdfmc_macro_expanderMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG
};

static _KLpairGVKd K223 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_variable_name_setterVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_26 K224 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 105,
  "match-variable-name-setter"
};

_KLsealed_generic_functionGVKe Kmatch_symbol_name_setterVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K228,
  &K227,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Kmatch_symbol_name_setterVdfmc_macro_expanderMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG
};

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

static _KLbyte_stringGVKd_24 K228 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 97,
  "match-symbol-name-setter"
};

static _KLbyte_stringGVKd_11 K229 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "<key-match>"
};

static _KLimplementation_classGVKe K230 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433753,
  &KLkey_sequence_matchGVdfmc_macro_expander,
  &KLkey_sequence_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K231,
  (dylan_value) -3,
  &KLkey_sequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K234,
  &K235,
  (dylan_value) 17,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K236,
  &K231,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_6 K231 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG,
  &Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_env_indexVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_default_expressionVdfmc_macro_expanderHLkey_sequence_matchG
};

_KLkeyword_methodGVKe KLkey_sequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_7,
  &K237,
  &key_mep_2,
  &KLkey_sequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K215
};

static _KLsimple_object_vectorGVKd_1 K234 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLsequence_matchGVdfmc_macro_expander
};

static _KLsimple_object_vectorGVKd_6 K235 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLbinding_matchGVdfmc_macro_expander,
  &KLsequence_matchGVdfmc_macro_expander,
  &KLkey_sequence_matchGVdfmc_macro_expander,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_1 K236 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &Kmatch_default_expressionVdfmc_macro_expanderHLkey_sequence_matchG
};

static _KLkeyword_signatureAvaluesGVKi K237 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K216,
  &KDsignature_LobjectG_typesVKi,
  &K238
};

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

static _KLbyte_stringGVKd_20 K239 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "<key-sequence-match>"
};

_KLgetter_methodGVKi Kmatch_source_locationVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG
};

static _KLpairGVKd K241 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_source_locationVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_21 K242 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 85,
  "match-source-location"
};

static _KLimplementation_classGVKe K243 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433749,
  &KLsimple_matchGVdfmc_macro_expander,
  &KLsimple_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K244,
  (dylan_value) -3,
  &KLsimple_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K205,
  &K247,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K244,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_5 K244 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 21,
  &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG,
  &Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_env_indexVdfmc_macro_expanderHLbinding_matchG
};

_KLkeyword_methodGVKe KLsimple_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K248,
  &key_mep_2,
  &KLsimple_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K249
};

static _KLsimple_object_vectorGVKd_6 K247 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLbinding_matchGVdfmc_macro_expander,
  &KLsimple_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K248 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K250,
  &KDsignature_LobjectG_typesVKi,
  &K251
};

static _KLsimple_object_vectorGVKd_8 K249 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KJsource_location_,
  &KPfalseVKi,
  &KJsymbol_name_,
  &KPunboundVKi,
  &KJvariable_name_,
  &KPunboundVKi,
  &KJconstraint_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_4 K250 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJsource_location_,
  &KJsymbol_name_,
  &KJvariable_name_,
  &KJconstraint_
};

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

static _KLbyte_stringGVKd_14 K252 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "<simple-match>"
};

_KLsetter_methodGVKi Kmatch_env_index_setterVdfmc_macro_expanderMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kmatch_env_indexVdfmc_macro_expanderHLbinding_matchG
};

static _KLpairGVKd K254 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_env_index_setterVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_22 K255 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 89,
  "match-env-index-setter"
};

_KLsetter_methodGVKi Kmatch_constraint_setterVdfmc_macro_expanderMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG
};

static _KLpairGVKd K257 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_constraint_setterVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_23 K258 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "match-constraint-setter"
};

static _KLsimple_object_vectorGVKd_10 K259 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 41,
  &KJT_,
  &KJtoken_,
  &KJname_,
  &KJexpression_,
  &KJvariable_,
  &KJbody_,
  &KJbodyX_,
  &KJcase_body_,
  &KJmacro_,
  &KJsymbol_
};

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

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

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

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

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

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

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

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

_KLgetter_methodGVKi Kmatch_constraintVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG
};

static _KLpairGVKd K269 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_constraintVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_16 K270 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "match-constraint"
};

_KLgetter_methodGVKi Kmatch_variable_nameVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG
};

static _KLpairGVKd K272 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_variable_nameVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_19 K273 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 77,
  "match-variable-name"
};

_KLgetter_methodGVKi Kmatch_symbol_nameVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG
};

static _KLpairGVKd K275 = {
  &KLpairGVKdW /* wrapper */,
  &Kmatch_symbol_nameVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_17 K276 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "match-symbol-name"
};

static _KLimplementation_classGVKe K277 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 477102101,
  &KLsequence_matchGVdfmc_macro_expander,
  &KLsequence_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K244,
  (dylan_value) -3,
  &KLsequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K205,
  &K280,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K375,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K244,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLsequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K281,
  &key_mep_2,
  &KLsequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K249
};

static _KLsimple_object_vectorGVKd_6 K280 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLbinding_matchGVdfmc_macro_expander,
  &KLsequence_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K281 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K250,
  &KDsignature_LobjectG_typesVKi,
  &K234
};

static _KLbyte_stringGVKd_16 K282 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "<sequence-match>"
};

static _KLimplementation_classGVKe K283 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 460587029,
  &KLbinding_matchGVdfmc_macro_expander,
  &KLbinding_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K244,
  (dylan_value) -3,
  &Kdefault_class_constructorVKi,
  &K78,
  &K284,
  (dylan_value) 9,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K371,
  &KPempty_vectorVKi,
  &K285,
  &K244,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_6 K284 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLbinding_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_4 K285 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG,
  &Kmatch_env_indexVdfmc_macro_expanderHLbinding_matchG
};

static _KLbyte_stringGVKd_15 K286 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "<binding-match>"
};

_KLsimple_methodGVKe Kdo_binding_matchesVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kdo_binding_matchesVdfmc_macro_expanderMM0I
};

static _KLpairGVKd K289 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_binding_matchesVdfmc_macro_expanderMM0,
  &K290
};

static _KLpairGVKd K290 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_binding_matchesVdfmc_macro_expanderMM1,
  &K291
};

static _KLpairGVKd K291 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_binding_matchesVdfmc_macro_expanderMM2,
  &K292
};

static _KLpairGVKd K292 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_binding_matchesVdfmc_macro_expanderMM3,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_18 K293 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "do-binding-matches"
};

_KLsealed_generic_functionGVKe Kdo_match_binding_matchesVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (dylan_value) 1,
  &K313,
  &K307,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K324,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K322,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM1I
};

_KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K320,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM2I
};

_KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K318,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM3I
};

_KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K316,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM4I
};

_KLsimple_methodGVKe Kdo_match_binding_matchesVdfmc_macro_expanderMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K314,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM5I
};

static _KLpairGVKd K307 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM0,
  &K308
};

static _KLpairGVKd K308 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM1,
  &K309
};

static _KLpairGVKd K309 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM2,
  &K310
};

static _KLpairGVKd K310 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM3,
  &K311
};

static _KLpairGVKd K311 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM4,
  &K312
};

static _KLpairGVKd K312 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_binding_matchesVdfmc_macro_expanderMM5,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K313 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 97,
  "do-match-binding-matches"
};

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

static _KLsimple_object_vectorGVKd_2 K315 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLobjectGVKd,
  &KLproperty_list_matchGVdfmc_macro_expander
};

static _KLsignatureGVKe K316 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040201,
  &K317
};

static _KLsimple_object_vectorGVKd_2 K317 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLobjectGVKd,
  &KLsplicing_matchGVdfmc_macro_expander
};

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

static _KLsimple_object_vectorGVKd_2 K319 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLobjectGVKd,
  &KLvariable_matchGVdfmc_macro_expander
};

static _KLsignatureGVKe K320 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040201,
  &K321
};

static _KLsimple_object_vectorGVKd_2 K321 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLobjectGVKd,
  &KLnested_matchGVdfmc_macro_expander
};

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

static _KLsimple_object_vectorGVKd_2 K323 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLobjectGVKd,
  &KLbinding_matchGVdfmc_macro_expander
};

static _KLsignatureGVKe K324 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040201,
  &K325
};

static _KLsimple_object_vectorGVKd_2 K325 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLobjectGVKd,
  &K326
};

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

_KLsimple_methodGVKe Kdo_body_match_tailsVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K353,
  &Kdo_body_match_tailsVdfmc_macro_expanderMM0I
};

static _KLpairGVKd K329 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_body_match_tailsVdfmc_macro_expanderMM0,
  &K330
};

static _KLpairGVKd K330 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_body_match_tailsVdfmc_macro_expanderMM1,
  &K331
};

static _KLpairGVKd K331 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_body_match_tailsVdfmc_macro_expanderMM2,
  &K332
};

static _KLpairGVKd K332 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_body_match_tailsVdfmc_macro_expanderMM3,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_19 K333 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 77,
  "do-body-match-tails"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K334 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (dylan_value) 65593,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdo_match_body_match_tailsVdfmc_macro_expander
};

_KLsealed_generic_functionGVKe Kdo_match_body_match_tailsVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (dylan_value) 5,
  &K345,
  &K342,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kdo_match_body_match_tailsVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K351,
  &Kdo_match_body_match_tailsVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kdo_match_body_match_tailsVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K349,
  &Kdo_match_body_match_tailsVdfmc_macro_expanderMM1I
};

_KLsimple_methodGVKe Kdo_match_body_match_tailsVdfmc_macro_expanderMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K347,
  &Kdo_match_body_match_tailsVdfmc_macro_expanderMM2I
};

static _KLpairGVKd K342 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_body_match_tailsVdfmc_macro_expanderMM0,
  &K343
};

static _KLpairGVKd K343 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_body_match_tailsVdfmc_macro_expanderMM1,
  &K344
};

static _KLpairGVKd K344 = {
  &KLpairGVKdW /* wrapper */,
  &Kdo_match_body_match_tailsVdfmc_macro_expanderMM2,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_25 K345 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 101,
  "do-match-body-match-tails"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K346 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (dylan_value) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdo_body_match_tailsVdfmc_macro_expander
};

static _KLsignatureGVKe K347 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943053,
  &K348
};

static _KLsimple_object_vectorGVKd_3 K348 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLfunctionGVKd,
  &KLnested_matchGVdfmc_macro_expander,
  &KLobjectGVKd
};

static _KLsignatureGVKe K349 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943053,
  &K350
};

static _KLsimple_object_vectorGVKd_3 K350 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLfunctionGVKd,
  &KLsimple_matchGVdfmc_macro_expander,
  &KLobjectGVKd
};

static _KLsignatureGVKe K351 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943053,
  &K352
};

static _KLsimple_object_vectorGVKd_3 K352 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLfunctionGVKd,
  &K326,
  &KLobjectGVKd
};

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

static _KLsimple_object_vectorGVKd_2 K354 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLfunctionGVKd,
  &KLobjectGVKd
};

_KLclassGVKd KLrest_matchGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K363,
  &K357,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLrest_matchGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K357,
  (dylan_value) 1,
  21,
  33554439,
  (dylan_value) 1
};

static _KLimplementation_classGVKe K357 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 477102101,
  &KLrest_matchGVdfmc_macro_expander,
  &KLrest_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K244,
  (dylan_value) -3,
  &KLrest_matchGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K205,
  &K360,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K244,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLrest_matchGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K361,
  &key_mep_2,
  &KLrest_matchGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &K249
};

static _KLsimple_object_vectorGVKd_6 K360 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLbinding_matchGVdfmc_macro_expander,
  &KLrest_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K361 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K250,
  &KDsignature_LobjectG_typesVKi,
  &K362
};

static _KLsimple_object_vectorGVKd_1 K362 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLrest_matchGVdfmc_macro_expander
};

static _KLbyte_stringGVKd_12 K363 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "<rest-match>"
};

static _KLsubclassGVKe K364 = {
  &KLsubclassGVKeW /* wrapper */,
  &Ksubclass_instanceQVKiI,
  &KLpattern_matchGVdfmc_macro_expander
};

static _KLimplementation_classGVKe K365 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 410255365,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLpattern_matchGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K77,
  (dylan_value) -3,
  &Kdefault_class_constructorVKi,
  &K366,
  &K367,
  (dylan_value) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K369,
  &KPempty_vectorVKi,
  &K77,
  &K77,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_1 K366 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLobjectGVKd
};

static _KLsimple_object_vectorGVKd_6 K367 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLpattern_matchGVdfmc_macro_expander,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLbyte_stringGVKd_15 K368 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "<pattern-match>"
};

static _KLpairGVKd K369 = {
  &KLpairGVKdW /* wrapper */,
  &KLstructure_matchGVdfmc_macro_expander,
  &K370
};

static _KLpairGVKd K370 = {
  &KLpairGVKdW /* wrapper */,
  &KLbinding_matchGVdfmc_macro_expander,
  &KPempty_listVKi
};

static _KLpairGVKd K371 = {
  &KLpairGVKdW /* wrapper */,
  &KLkey_matchGVdfmc_macro_expander,
  &K372
};

static _KLpairGVKd K372 = {
  &KLpairGVKdW /* wrapper */,
  &KLrest_matchGVdfmc_macro_expander,
  &K373
};

static _KLpairGVKd K373 = {
  &KLpairGVKdW /* wrapper */,
  &KLsequence_matchGVdfmc_macro_expander,
  &K374
};

static _KLpairGVKd K374 = {
  &KLpairGVKdW /* wrapper */,
  &KLsimple_matchGVdfmc_macro_expander,
  &KPempty_listVKi
};

static _KLpairGVKd K375 = {
  &KLpairGVKdW /* wrapper */,
  &KLkey_sequence_matchGVdfmc_macro_expander,
  &KPempty_listVKi
};

static _KLpairGVKd K376 = {
  &KLpairGVKdW /* wrapper */,
  &KLsplicing_matchGVdfmc_macro_expander,
  &K377
};

static _KLpairGVKd K377 = {
  &KLpairGVKdW /* wrapper */,
  &KLproperty_list_matchGVdfmc_macro_expander,
  &K378
};

static _KLpairGVKd K378 = {
  &KLpairGVKdW /* wrapper */,
  &KLvariable_matchGVdfmc_macro_expander,
  &K379
};

static _KLpairGVKd K379 = {
  &KLpairGVKdW /* wrapper */,
  &KLnested_matchGVdfmc_macro_expander,
  &KPempty_listVKi
};

static _KLpairGVKd K380 = {
  &KLpairGVKdW /* wrapper */,
  &KLbrace_matchGVdfmc_macro_expander,
  &K381
};

static _KLpairGVKd K381 = {
  &KLpairGVKdW /* wrapper */,
  &KLbracket_matchGVdfmc_macro_expander,
  &K382
};

static _KLpairGVKd K382 = {
  &KLpairGVKdW /* wrapper */,
  &KLparen_matchGVdfmc_macro_expander,
  &KPempty_listVKi
};

/* Code */

dylan_value Kvalid_match_constraintQVdfmc_macro_expanderI (dylan_value constraint_) {
  dylan_value T2_0;
  dylan_value T3_0;
  dylan_value T4;
  dylan_value T5_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:183
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:184
  T4 = primitive_not(constraint_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:184
  if (constraint_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:185
    T5_0 = KmemberQVKdMM2I(constraint_, Dvalid_constraintsVdfmc_macro_expander, &KPempty_vectorVKi, &KEEVKd);
    T3_0 = T5_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:184
    T2_0 = T4;
    T3_0 = T2_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:184
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:183
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Kwildcard_constraintQVdfmc_macro_expanderMM0I (dylan_value constraint_) {
  dylan_value T2;
  dylan_value T3;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:76
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:77
  T2 = primitive_idQ(constraint_,IKJT_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:77
  T3 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:76
  return(T3);
}

dylan_value Kbounded_constraintQVdfmc_macro_expanderMM0I (dylan_value constraint_) {
  dylan_value Utmp_;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:80
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
  T5 = primitive_idQ(constraint_,IKJbody_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
  if (T5 != &KPfalseVKi) {
    Utmp_ = T5;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
    T6 = primitive_idQ(constraint_,IKJcase_body_);
    Utmp_ = T6;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
  if (Utmp_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
    T3 = Utmp_;
    MV_SET_ELT(0, Utmp_);
    MV_SET_COUNT(1);
    T4 = T3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
    T7 = primitive_idQ(constraint_,IKJbodyX_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
    T8 = T7;
    MV_SET_ELT(0, T7);
    MV_SET_COUNT(1);
    T4 = T8;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:80
  return(T4);
}

dylan_value Kcompute_bound_variable_namesVdfmc_macro_expanderMM0I (dylan_value mT_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:113
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  T3 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  SLOT_VALUE_SETTER(&KPfalseVKi, T3, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  SLOT_VALUE_SETTER(&KPempty_listVKi, T3, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  SLOT_VALUE_SETTER(T3, T3, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:116
  T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_compute_bound_variable_namesF107, 1, T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:115
  CONGRUENT_CALL_PROLOG(&Kdo_binding_matchesVdfmc_macro_expander, 2);
  CONGRUENT_CALL2(T2, mT_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  T4 = SLOT_VALUE_INITD(T3, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  T5 = T4;
  MV_SET_ELT(0, T4);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:113
  return(T5);
}

dylan_value Kcompute_binding_matchesVdfmc_macro_expanderMM0I (dylan_value mT_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:106
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  T3 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  SLOT_VALUE_SETTER(&KPfalseVKi, T3, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  SLOT_VALUE_SETTER(&KPempty_listVKi, T3, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  SLOT_VALUE_SETTER(T3, T3, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:109
  T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_compute_binding_matchesF52, 1, T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:108
  CONGRUENT_CALL_PROLOG(&Kdo_binding_matchesVdfmc_macro_expander, 2);
  CONGRUENT_CALL2(T2, mT_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  T4 = SLOT_VALUE_INITD(T3, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  T5 = T4;
  MV_SET_ELT(0, T4);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:106
  return(T5);
}

static dylan_value Kanonymous_of_compute_binding_matchesF52I (dylan_value name_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value c_head_;
  dylan_value T5;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:109
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  T2 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  SLOT_VALUE_SETTER(name_, T2, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  SLOT_VALUE_SETTER(&KPempty_listVKi, T2, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  T3 = SLOT_VALUE_INITD(CREF(0), 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  primitive_type_check(T3, &KLpairGVKd);
  c_head_ = T3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  SLOT_VALUE_SETTER(T2, c_head_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  SLOT_VALUE_SETTER(T2, CREF(0), 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:107
  T5 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:109
  return(T5);
}

dylan_value KLvariable_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_variable_name_pattern_, dylan_value Uunique_match_type_expression_pattern_) {
  dylan_value T6;
  dylan_value Uunique_match_variable_name_patternF7;
  dylan_value T8;
  dylan_value Uunique_match_type_expression_patternF9;
  dylan_value T10;
  dylan_value T11_0;
  dylan_value T12;
  _KLsimple_object_vectorGVKd_1 T13 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T14;
  dylan_value T15;
  _KLsimple_object_vectorGVKd_1 T16 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T17;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
  T12 = primitive_idQ(Uunique_match_variable_name_pattern_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
  if (T12 != &KPfalseVKi) {
    T13.vector_element_[0] = IKJvariable_name_pattern_;
    T14 = KerrorVKdMM1I(&K84, &T13);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
    T6 = T14;
    Uunique_match_variable_name_patternF7 = T6;
  } else {
    Uunique_match_variable_name_patternF7 = Uunique_match_variable_name_pattern_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
  T15 = primitive_idQ(Uunique_match_type_expression_pattern_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
  if (T15 != &KPfalseVKi) {
    T16.vector_element_[0] = IKJtype_expression_pattern_;
    T17 = KerrorVKdMM1I(&K84, &T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
    T8 = T17;
    Uunique_match_type_expression_patternF9 = T8;
  } else {
    Uunique_match_type_expression_patternF9 = Uunique_match_type_expression_pattern_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
  T10 = primitive_object_allocate_filled(4,&KLvariable_matchGVdfmc_macro_expanderW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T10, 0);
  SLOT_VALUE_SETTER(Uunique_match_variable_name_patternF7, T10, 1);
  SLOT_VALUE_SETTER(Uunique_match_type_expression_patternF9, T10, 2);
  T11_0 = T10;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:41
  MV_SET_COUNT(1);
  return(T11_0);
}

static dylan_value Kanonymous_of_compute_bound_variable_namesF107I (dylan_value name_) {
  dylan_value T1;
  dylan_value T2;
  dylan_value T3;
  dylan_value c_head_;
  dylan_value T5;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:116
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:116
  T1 = CALL1(&Kmatch_variable_nameVdfmc_macro_expander, name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  T2 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  SLOT_VALUE_SETTER(T1, T2, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  SLOT_VALUE_SETTER(&KPempty_listVKi, T2, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  T3 = SLOT_VALUE_INITD(CREF(0), 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  primitive_type_check(T3, &KLpairGVKd);
  c_head_ = T3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  SLOT_VALUE_SETTER(T2, c_head_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  SLOT_VALUE_SETTER(T2, CREF(0), 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:114
  T5 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:116
  return(T5);
}

dylan_value KLparen_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_nested_pattern_) {
  dylan_value T5;
  dylan_value Uunique_match_nested_patternF6;
  dylan_value T7;
  dylan_value T8_0;
  dylan_value T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T11;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:37
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:37
  T9 = primitive_idQ(Uunique_match_nested_pattern_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:37
  if (T9 != &KPfalseVKi) {
    T10.vector_element_[0] = IKJnested_pattern_;
    T11 = KerrorVKdMM1I(&K84, &T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:37
    T5 = T11;
    Uunique_match_nested_patternF6 = T5;
  } else {
    Uunique_match_nested_patternF6 = Uunique_match_nested_pattern_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:37
  T7 = primitive_object_allocate_filled(3,&KLparen_matchGVdfmc_macro_expanderW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T7, 0);
  SLOT_VALUE_SETTER(Uunique_match_nested_patternF6, T7, 1);
  T8_0 = T7;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:37
  MV_SET_COUNT(1);
  return(T8_0);
}

dylan_value KLbracket_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_nested_pattern_) {
  dylan_value T5;
  dylan_value Uunique_match_nested_patternF6;
  dylan_value T7;
  dylan_value T8_0;
  dylan_value T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T11;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:38
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:38
  T9 = primitive_idQ(Uunique_match_nested_pattern_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:38
  if (T9 != &KPfalseVKi) {
    T10.vector_element_[0] = IKJnested_pattern_;
    T11 = KerrorVKdMM1I(&K84, &T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:38
    T5 = T11;
    Uunique_match_nested_patternF6 = T5;
  } else {
    Uunique_match_nested_patternF6 = Uunique_match_nested_pattern_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:38
  T7 = primitive_object_allocate_filled(3,&KLbracket_matchGVdfmc_macro_expanderW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T7, 0);
  SLOT_VALUE_SETTER(Uunique_match_nested_patternF6, T7, 1);
  T8_0 = T7;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:38
  MV_SET_COUNT(1);
  return(T8_0);
}

dylan_value KLbrace_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_nested_pattern_) {
  dylan_value T5;
  dylan_value Uunique_match_nested_patternF6;
  dylan_value T7;
  dylan_value T8_0;
  dylan_value T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T11;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:39
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:39
  T9 = primitive_idQ(Uunique_match_nested_pattern_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:39
  if (T9 != &KPfalseVKi) {
    T10.vector_element_[0] = IKJnested_pattern_;
    T11 = KerrorVKdMM1I(&K84, &T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:39
    T5 = T11;
    Uunique_match_nested_patternF6 = T5;
  } else {
    Uunique_match_nested_patternF6 = Uunique_match_nested_pattern_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:39
  T7 = primitive_object_allocate_filled(3,&KLbrace_matchGVdfmc_macro_expanderW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T7, 0);
  SLOT_VALUE_SETTER(Uunique_match_nested_patternF6, T7, 1);
  T8_0 = T7;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:39
  MV_SET_COUNT(1);
  return(T8_0);
}

dylan_value KLsplicing_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_nested_pattern_, dylan_value Uunique_match_prefix_, dylan_value Uunique_match_suffix_) {
  dylan_value T7;
  dylan_value Uunique_match_nested_patternF8;
  dylan_value T9;
  dylan_value Uunique_match_prefixF10;
  dylan_value T11;
  dylan_value Uunique_match_suffixF12;
  dylan_value T13;
  dylan_value Uunique_match_prefixF14;
  dylan_value Uunique_match_suffixF15;
  dylan_value T16_0;
  dylan_value T17;
  _KLsimple_object_vectorGVKd_1 T18 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T19;
  dylan_value T20;
  _KLsimple_object_vectorGVKd_1 T21 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T22;
  dylan_value T23;
  _KLsimple_object_vectorGVKd_1 T24 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T25;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  T17 = primitive_idQ(Uunique_match_nested_pattern_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  if (T17 != &KPfalseVKi) {
    T18.vector_element_[0] = IKJnested_pattern_;
    T19 = KerrorVKdMM1I(&K84, &T18);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
    T7 = T19;
    Uunique_match_nested_patternF8 = T7;
  } else {
    Uunique_match_nested_patternF8 = Uunique_match_nested_pattern_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  T20 = primitive_idQ(Uunique_match_prefix_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  if (T20 != &KPfalseVKi) {
    T21.vector_element_[0] = IKJprefix_;
    T22 = KerrorVKdMM1I(&K84, &T21);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
    T9 = T22;
    Uunique_match_prefixF10 = T9;
  } else {
    Uunique_match_prefixF10 = Uunique_match_prefix_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  T23 = primitive_idQ(Uunique_match_suffix_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  if (T23 != &KPfalseVKi) {
    T24.vector_element_[0] = IKJsuffix_;
    T25 = KerrorVKdMM1I(&K84, &T24);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
    T11 = T25;
    Uunique_match_suffixF12 = T11;
  } else {
    Uunique_match_suffixF12 = Uunique_match_suffix_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  T13 = primitive_object_allocate_filled(5,&KLsplicing_matchGVdfmc_macro_expanderW,4,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T13, 0);
  SLOT_VALUE_SETTER(Uunique_match_nested_patternF8, T13, 1);
  primitive_type_check(Uunique_match_prefixF10, &K150);
  Uunique_match_prefixF14 = Uunique_match_prefixF10;
  SLOT_VALUE_SETTER(Uunique_match_prefixF14, T13, 2);
  primitive_type_check(Uunique_match_suffixF12, &K150);
  Uunique_match_suffixF15 = Uunique_match_suffixF12;
  SLOT_VALUE_SETTER(Uunique_match_suffixF15, T13, 3);
  T16_0 = T13;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:67
  MV_SET_COUNT(1);
  return(T16_0);
}

dylan_value KLproperty_list_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_rest_pattern_, dylan_value Uunique_match_key_patterns_) {
  dylan_value T6;
  dylan_value T7_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:48
  T6 = primitive_object_allocate_filled(4,&KLproperty_list_matchGVdfmc_macro_expanderW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T6, 0);
  SLOT_VALUE_SETTER(Uunique_match_rest_pattern_, T6, 1);
  SLOT_VALUE_SETTER(Uunique_match_key_patterns_, T6, 2);
  T7_0 = T6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:48
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value KLkey_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_symbol_name_, dylan_value Uunique_match_variable_name_, dylan_value Uunique_match_constraint_, dylan_value Uunique_match_default_expression_) {
  dylan_value T8;
  dylan_value Uunique_match_symbol_nameF9;
  dylan_value T10;
  dylan_value Uunique_match_variable_nameF11;
  dylan_value T12;
  dylan_value Uunique_match_constraintF13;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T16;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T18;
  dylan_value T19;
  _KLsimple_object_vectorGVKd_1 T20 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T21;
  dylan_value T22;
  _KLsimple_object_vectorGVKd_1 T23 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T24;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  T16 = primitive_idQ(Uunique_match_symbol_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  if (T16 != &KPfalseVKi) {
    T17.vector_element_[0] = IKJsymbol_name_;
    T18 = KerrorVKdMM1I(&K84, &T17);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
    T8 = T18;
    Uunique_match_symbol_nameF9 = T8;
  } else {
    Uunique_match_symbol_nameF9 = Uunique_match_symbol_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  T19 = primitive_idQ(Uunique_match_variable_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  if (T19 != &KPfalseVKi) {
    T20.vector_element_[0] = IKJvariable_name_;
    T21 = KerrorVKdMM1I(&K84, &T20);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
    T10 = T21;
    Uunique_match_variable_nameF11 = T10;
  } else {
    Uunique_match_variable_nameF11 = Uunique_match_variable_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  T22 = primitive_idQ(Uunique_match_constraint_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  if (T22 != &KPfalseVKi) {
    T23.vector_element_[0] = IKJconstraint_;
    T24 = KerrorVKdMM1I(&K84, &T23);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
    T12 = T24;
    Uunique_match_constraintF13 = T12;
  } else {
    Uunique_match_constraintF13 = Uunique_match_constraint_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  T14 = primitive_object_allocate_filled(7,&KLkey_matchGVdfmc_macro_expanderW,6,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T14, 0);
  SLOT_VALUE_SETTER(Uunique_match_symbol_nameF9, T14, 1);
  SLOT_VALUE_SETTER(Uunique_match_variable_nameF11, T14, 2);
  SLOT_VALUE_SETTER(Uunique_match_constraintF13, T14, 3);
  SLOT_VALUE_SETTER((dylan_value) 1, T14, 4);
  SLOT_VALUE_SETTER(Uunique_match_default_expression_, T14, 5);
  T15_0 = T14;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:57
  MV_SET_COUNT(1);
  return(T15_0);
}

dylan_value KLkey_sequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_symbol_name_, dylan_value Uunique_match_variable_name_, dylan_value Uunique_match_constraint_, dylan_value Uunique_match_default_expression_) {
  dylan_value T8;
  dylan_value Uunique_match_symbol_nameF9;
  dylan_value T10;
  dylan_value Uunique_match_variable_nameF11;
  dylan_value T12;
  dylan_value Uunique_match_constraintF13;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T16;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T18;
  dylan_value T19;
  _KLsimple_object_vectorGVKd_1 T20 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T21;
  dylan_value T22;
  _KLsimple_object_vectorGVKd_1 T23 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T24;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  T16 = primitive_idQ(Uunique_match_symbol_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  if (T16 != &KPfalseVKi) {
    T17.vector_element_[0] = IKJsymbol_name_;
    T18 = KerrorVKdMM1I(&K84, &T17);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
    T8 = T18;
    Uunique_match_symbol_nameF9 = T8;
  } else {
    Uunique_match_symbol_nameF9 = Uunique_match_symbol_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  T19 = primitive_idQ(Uunique_match_variable_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  if (T19 != &KPfalseVKi) {
    T20.vector_element_[0] = IKJvariable_name_;
    T21 = KerrorVKdMM1I(&K84, &T20);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
    T10 = T21;
    Uunique_match_variable_nameF11 = T10;
  } else {
    Uunique_match_variable_nameF11 = Uunique_match_variable_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  T22 = primitive_idQ(Uunique_match_constraint_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  if (T22 != &KPfalseVKi) {
    T23.vector_element_[0] = IKJconstraint_;
    T24 = KerrorVKdMM1I(&K84, &T23);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
    T12 = T24;
    Uunique_match_constraintF13 = T12;
  } else {
    Uunique_match_constraintF13 = Uunique_match_constraint_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  T14 = primitive_object_allocate_filled(7,&KLkey_sequence_matchGVdfmc_macro_expanderW,6,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T14, 0);
  SLOT_VALUE_SETTER(Uunique_match_symbol_nameF9, T14, 1);
  SLOT_VALUE_SETTER(Uunique_match_variable_nameF11, T14, 2);
  SLOT_VALUE_SETTER(Uunique_match_constraintF13, T14, 3);
  SLOT_VALUE_SETTER((dylan_value) 1, T14, 4);
  SLOT_VALUE_SETTER(Uunique_match_default_expression_, T14, 5);
  T15_0 = T14;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:62
  MV_SET_COUNT(1);
  return(T15_0);
}

dylan_value KLsimple_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_symbol_name_, dylan_value Uunique_match_variable_name_, dylan_value Uunique_match_constraint_) {
  dylan_value T7;
  dylan_value Uunique_match_symbol_nameF8;
  dylan_value T9;
  dylan_value Uunique_match_variable_nameF10;
  dylan_value T11;
  dylan_value Uunique_match_constraintF12;
  dylan_value T13;
  dylan_value T14_0;
  dylan_value T15;
  _KLsimple_object_vectorGVKd_1 T16 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T17;
  dylan_value T18;
  _KLsimple_object_vectorGVKd_1 T19 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T20;
  dylan_value T21;
  _KLsimple_object_vectorGVKd_1 T22 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T23;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  T15 = primitive_idQ(Uunique_match_symbol_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  if (T15 != &KPfalseVKi) {
    T16.vector_element_[0] = IKJsymbol_name_;
    T17 = KerrorVKdMM1I(&K84, &T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
    T7 = T17;
    Uunique_match_symbol_nameF8 = T7;
  } else {
    Uunique_match_symbol_nameF8 = Uunique_match_symbol_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  T18 = primitive_idQ(Uunique_match_variable_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  if (T18 != &KPfalseVKi) {
    T19.vector_element_[0] = IKJvariable_name_;
    T20 = KerrorVKdMM1I(&K84, &T19);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
    T9 = T20;
    Uunique_match_variable_nameF10 = T9;
  } else {
    Uunique_match_variable_nameF10 = Uunique_match_variable_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  T21 = primitive_idQ(Uunique_match_constraint_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  if (T21 != &KPfalseVKi) {
    T22.vector_element_[0] = IKJconstraint_;
    T23 = KerrorVKdMM1I(&K84, &T22);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
    T11 = T23;
    Uunique_match_constraintF12 = T11;
  } else {
    Uunique_match_constraintF12 = Uunique_match_constraint_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  T13 = primitive_object_allocate_filled(6,&KLsimple_matchGVdfmc_macro_expanderW,5,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T13, 0);
  SLOT_VALUE_SETTER(Uunique_match_symbol_nameF8, T13, 1);
  SLOT_VALUE_SETTER(Uunique_match_variable_nameF10, T13, 2);
  SLOT_VALUE_SETTER(Uunique_match_constraintF12, T13, 3);
  SLOT_VALUE_SETTER((dylan_value) 1, T13, 4);
  T14_0 = T13;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:27
  MV_SET_COUNT(1);
  return(T14_0);
}

dylan_value KLsequence_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_symbol_name_, dylan_value Uunique_match_variable_name_, dylan_value Uunique_match_constraint_) {
  dylan_value T7;
  dylan_value Uunique_match_symbol_nameF8;
  dylan_value T9;
  dylan_value Uunique_match_variable_nameF10;
  dylan_value T11;
  dylan_value Uunique_match_constraintF12;
  dylan_value T13;
  dylan_value T14_0;
  dylan_value T15;
  _KLsimple_object_vectorGVKd_1 T16 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T17;
  dylan_value T18;
  _KLsimple_object_vectorGVKd_1 T19 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T20;
  dylan_value T21;
  _KLsimple_object_vectorGVKd_1 T22 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T23;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  T15 = primitive_idQ(Uunique_match_symbol_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  if (T15 != &KPfalseVKi) {
    T16.vector_element_[0] = IKJsymbol_name_;
    T17 = KerrorVKdMM1I(&K84, &T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
    T7 = T17;
    Uunique_match_symbol_nameF8 = T7;
  } else {
    Uunique_match_symbol_nameF8 = Uunique_match_symbol_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  T18 = primitive_idQ(Uunique_match_variable_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  if (T18 != &KPfalseVKi) {
    T19.vector_element_[0] = IKJvariable_name_;
    T20 = KerrorVKdMM1I(&K84, &T19);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
    T9 = T20;
    Uunique_match_variable_nameF10 = T9;
  } else {
    Uunique_match_variable_nameF10 = Uunique_match_variable_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  T21 = primitive_idQ(Uunique_match_constraint_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  if (T21 != &KPfalseVKi) {
    T22.vector_element_[0] = IKJconstraint_;
    T23 = KerrorVKdMM1I(&K84, &T22);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
    T11 = T23;
    Uunique_match_constraintF12 = T11;
  } else {
    Uunique_match_constraintF12 = Uunique_match_constraint_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  T13 = primitive_object_allocate_filled(6,&KLsequence_matchGVdfmc_macro_expanderW,5,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T13, 0);
  SLOT_VALUE_SETTER(Uunique_match_symbol_nameF8, T13, 1);
  SLOT_VALUE_SETTER(Uunique_match_variable_nameF10, T13, 2);
  SLOT_VALUE_SETTER(Uunique_match_constraintF12, T13, 3);
  SLOT_VALUE_SETTER((dylan_value) 1, T13, 4);
  T14_0 = T13;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:28
  MV_SET_COUNT(1);
  return(T14_0);
}

dylan_value Kdo_binding_matchesVdfmc_macro_expanderMM0I (dylan_value f_, dylan_value mT_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9T, T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:120
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
  T3 = CALL1(&Kforward_iteration_protocolVKd, mT_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
  T4 = T3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
  T5 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
  T6 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
  T7 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
  T8 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
  T9T = T4;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
    T9 = T9T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
    T10 = CALL3(T7, mT_, T9, T5);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
    if (T10 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
      T11 = CALL2(T8, mT_, T9);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
      CONGRUENT_CALL_PROLOG(&Kdo_match_binding_matchesVdfmc_macro_expander, 2);
      CONGRUENT_CALL2(f_, T11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
      T12 = CALL2(T6, mT_, T9);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
      T9T = T12;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
    T13 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:121
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:120
  return(T13);
}

dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM0I (dylan_value f_, dylan_value m_) {
  dylan_value T3_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:124
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:124
  T3_0 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:124
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM1I (dylan_value f_, dylan_value m_) {
  dylan_value T3;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:128
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:129
  primitive_type_check(f_, &KLfunctionGVKd);
  T3 = f_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:129
  T4 = CALL1(T3, m_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:128
  return(T4);
}

dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM2I (dylan_value f_, dylan_value m_) {
  dylan_value T3;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:132
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:133
  T4 = SLOT_VALUE_INITD(m_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:133
  CONGRUENT_CALL_PROLOG(&Kdo_binding_matchesVdfmc_macro_expander, 2);
  T3 = CONGRUENT_CALL2(f_, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:132
  return(T3);
}

dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM3I (dylan_value f_, dylan_value m_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:136
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:137
  T4 = SLOT_VALUE_INITD(m_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:137
  CONGRUENT_CALL_PROLOG(&Kdo_match_binding_matchesVdfmc_macro_expander, 2);
  CONGRUENT_CALL2(f_, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:138
  T5 = SLOT_VALUE_INITD(m_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:138
  CONGRUENT_CALL_PROLOG(&Kdo_match_binding_matchesVdfmc_macro_expander, 2);
  T3 = CONGRUENT_CALL2(f_, T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:136
  return(T3);
}

dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM4I (dylan_value f_, dylan_value m_) {
  dylan_value T3;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:141
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:142
  T4 = SLOT_VALUE_INITD(m_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:142
  CONGRUENT_CALL_PROLOG(&Kdo_match_binding_matchesVdfmc_macro_expander, 2);
  T3 = CONGRUENT_CALL2(f_, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:141
  return(T3);
}

dylan_value Kdo_match_binding_matchesVdfmc_macro_expanderMM5I (dylan_value f_, dylan_value m_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:145
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:146
  T4 = SLOT_VALUE_INITD(m_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:146
  if (T4 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:147
    CONGRUENT_CALL_PROLOG(&Kdo_match_binding_matchesVdfmc_macro_expander, 2);
    CONGRUENT_CALL2(f_, T4);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:146
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:149
  T5 = SLOT_VALUE_INITD(m_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:149
  CONGRUENT_CALL_PROLOG(&Kdo_binding_matchesVdfmc_macro_expander, 2);
  T3 = CONGRUENT_CALL2(f_, T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:145
  return(T3);
}

dylan_value Kdo_body_match_tailsVdfmc_macro_expanderMM0I (dylan_value f_, dylan_value mT_) {
  dylan_value m_tail_T, m_tail_;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:154
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
  m_tail_T = mT_;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
    m_tail_ = m_tail_T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
    CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
    T7 = CONGRUENT_CALL1(m_tail_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
    if (T7 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:156
      T4 = CALL1(&KheadVKd, m_tail_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:156
      T5 = CALL1(&KtailVKd, m_tail_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:156
      ENGINE_NODE_CALL_PROLOG(&Kdo_match_body_match_tailsVdfmc_macro_expander, &K334, 3);
      ENGINE_NODE_CALL3(&K334, f_, T4, T5);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
      T6 = CALL1(&KtailVKd, m_tail_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
      m_tail_T = T6;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
    T8 = &KPfalseVKi;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:155
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:154
  MV_SET_COUNT(0);
  return(T8);
}

dylan_value Kdo_match_body_match_tailsVdfmc_macro_expanderMM0I (dylan_value f_, dylan_value m_, dylan_value m_tail_) {
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:160
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:160
  T4 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:160
  MV_SET_COUNT(0);
  return(T4);
}

dylan_value Kdo_match_body_match_tailsVdfmc_macro_expanderMM1I (dylan_value f_, dylan_value m_, dylan_value m_tail_) {
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:165
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:167
  T8 = SLOT_VALUE_INITD(m_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:167
  T4 = Kbounded_constraintQVdfmc_macro_expanderMM0I(T8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:167
  if (T4 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:168
    T5 = CALL2(f_, m_, m_tail_);
    T7 = T5;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:167
    T6 = &KPfalseVKi;
    T7 = T6;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:167
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:165
  MV_SET_COUNT(0);
  return(T7);
}

dylan_value Kdo_match_body_match_tailsVdfmc_macro_expanderMM2I (dylan_value f_, dylan_value m_, dylan_value m_tail_) {
  dylan_value T4;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:172
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:174
  T4 = SLOT_VALUE_INITD(m_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:174
  ENGINE_NODE_CALL_PROLOG(&Kdo_body_match_tailsVdfmc_macro_expander, &K346, 2);
  T5 = ENGINE_NODE_CALL2(&K346, f_, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:172
  MV_SET_COUNT(0);
  return(T5);
}

dylan_value KLrest_matchGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_match_source_location_, dylan_value Uunique_match_symbol_name_, dylan_value Uunique_match_variable_name_, dylan_value Uunique_match_constraint_) {
  dylan_value T7;
  dylan_value Uunique_match_symbol_nameF8;
  dylan_value T9;
  dylan_value Uunique_match_variable_nameF10;
  dylan_value T11;
  dylan_value Uunique_match_constraintF12;
  dylan_value T13;
  dylan_value T14_0;
  dylan_value T15;
  _KLsimple_object_vectorGVKd_1 T16 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T17;
  dylan_value T18;
  _KLsimple_object_vectorGVKd_1 T19 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T20;
  dylan_value T21;
  _KLsimple_object_vectorGVKd_1 T22 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T23;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  T15 = primitive_idQ(Uunique_match_symbol_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  if (T15 != &KPfalseVKi) {
    T16.vector_element_[0] = IKJsymbol_name_;
    T17 = KerrorVKdMM1I(&K84, &T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
    T7 = T17;
    Uunique_match_symbol_nameF8 = T7;
  } else {
    Uunique_match_symbol_nameF8 = Uunique_match_symbol_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  T18 = primitive_idQ(Uunique_match_variable_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  if (T18 != &KPfalseVKi) {
    T19.vector_element_[0] = IKJvariable_name_;
    T20 = KerrorVKdMM1I(&K84, &T19);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
    T9 = T20;
    Uunique_match_variable_nameF10 = T9;
  } else {
    Uunique_match_variable_nameF10 = Uunique_match_variable_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  T21 = primitive_idQ(Uunique_match_constraint_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  if (T21 != &KPfalseVKi) {
    T22.vector_element_[0] = IKJconstraint_;
    T23 = KerrorVKdMM1I(&K84, &T22);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
    T11 = T23;
    Uunique_match_constraintF12 = T11;
  } else {
    Uunique_match_constraintF12 = Uunique_match_constraint_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  T13 = primitive_object_allocate_filled(6,&KLrest_matchGVdfmc_macro_expanderW,5,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_match_source_location_, T13, 0);
  SLOT_VALUE_SETTER(Uunique_match_symbol_nameF8, T13, 1);
  SLOT_VALUE_SETTER(Uunique_match_variable_nameF10, T13, 2);
  SLOT_VALUE_SETTER(Uunique_match_constraintF12, T13, 3);
  SLOT_VALUE_SETTER((dylan_value) 1, T13, 4);
  T14_0 = T13;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:55
  MV_SET_COUNT(1);
  return(T14_0);
}


/* SYSTEM INIT CODE */

void _Init_dfmc_macro_expander__X_pattern_elements_for_system () {
  extern dylan_value KPresolve_symbolVKiI(dylan_value);
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJtype_expression_pattern_);
    if (T0 != &KJtype_expression_pattern_) {
      primitive_repeated_slot_value_setter(T0, &K87, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K86, 1, 4);
      IKJtype_expression_pattern_ = T0;
      primitive_slot_value_setter(T0, &Kmatch_type_expression_patternVdfmc_macro_expanderHLvariable_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJvariable_name_pattern_);
    if (T0 != &KJvariable_name_pattern_) {
      primitive_repeated_slot_value_setter(T0, &K87, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K86, 1, 2);
      IKJvariable_name_pattern_ = T0;
      primitive_slot_value_setter(T0, &Kmatch_variable_name_patternVdfmc_macro_expanderHLvariable_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsource_location_);
    if (T0 != &KJsource_location_) {
      primitive_repeated_slot_value_setter(T0, &K250, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K249, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K216, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K215, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K189, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K188, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K164, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K163, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K115, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K114, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K87, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K86, 1, 0);
      primitive_slot_value_setter(T0, &Kmatch_source_locationVdfmc_macro_expanderHLpattern_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJnested_pattern_);
    if (T0 != &KJnested_pattern_) {
      primitive_repeated_slot_value_setter(T0, &K164, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K163, 1, 2);
      IKJnested_pattern_ = T0;
      primitive_repeated_slot_value_setter(T0, &K115, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K114, 1, 2);
      primitive_slot_value_setter(T0, &Kmatch_nested_patternVdfmc_macro_expanderHLsplicing_matchG, 3);
      primitive_slot_value_setter(T0, &Kmatch_nested_patternVdfmc_macro_expanderHLnested_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJbody_);
    if (T0 != &KJbody_) {
      primitive_repeated_slot_value_setter(T0, &K259, 1, 5);
      IKJbody_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJcase_body_);
    if (T0 != &KJcase_body_) {
      primitive_repeated_slot_value_setter(T0, &K259, 1, 7);
      IKJcase_body_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJbodyX_);
    if (T0 != &KJbodyX_) {
      primitive_repeated_slot_value_setter(T0, &K259, 1, 6);
      IKJbodyX_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJT_);
    if (T0 != &KJT_) {
      primitive_repeated_slot_value_setter(T0, &K259, 1, 0);
      IKJT_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsuffix_);
    if (T0 != &KJsuffix_) {
      primitive_repeated_slot_value_setter(T0, &K164, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K163, 1, 6);
      IKJsuffix_ = T0;
      primitive_slot_value_setter(T0, &Kmatch_suffixVdfmc_macro_expanderHLsplicing_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJprefix_);
    if (T0 != &KJprefix_) {
      primitive_repeated_slot_value_setter(T0, &K164, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K163, 1, 4);
      IKJprefix_ = T0;
      primitive_slot_value_setter(T0, &Kmatch_prefixVdfmc_macro_expanderHLsplicing_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJkey_patterns_);
    if (T0 != &KJkey_patterns_) {
      primitive_repeated_slot_value_setter(T0, &K189, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K188, 1, 4);
      primitive_slot_value_setter(T0, &Kmatch_key_patternsVdfmc_macro_expanderHLproperty_list_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJrest_pattern_);
    if (T0 != &KJrest_pattern_) {
      primitive_repeated_slot_value_setter(T0, &K189, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K188, 1, 2);
      primitive_slot_value_setter(T0, &Kmatch_rest_patternVdfmc_macro_expanderHLproperty_list_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdefault_expression_);
    if (T0 != &KJdefault_expression_) {
      primitive_repeated_slot_value_setter(T0, &K216, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K215, 1, 8);
      primitive_slot_value_setter(T0, &Kmatch_default_expressionVdfmc_macro_expanderHLkey_matchG, 3);
      primitive_slot_value_setter(T0, &Kmatch_default_expressionVdfmc_macro_expanderHLkey_sequence_matchG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsymbol_name_);
    if (T0 != &KJsymbol_name_) {
      IKJsymbol_name_ = T0;
      primitive_repeated_slot_value_setter(T0, &K250, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K249, 1, 2);
      primitive_slot_value_setter(T0, &Kmatch_symbol_nameVdfmc_macro_expanderHLbinding_matchG, 3);
      primitive_repeated_slot_value_setter(T0, &K216, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K215, 1, 2);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJvariable_name_);
    if (T0 != &KJvariable_name_) {
      IKJvariable_name_ = T0;
      primitive_repeated_slot_value_setter(T0, &K250, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K249, 1, 4);
      primitive_slot_value_setter(T0, &Kmatch_variable_nameVdfmc_macro_expanderHLbinding_matchG, 3);
      primitive_repeated_slot_value_setter(T0, &K216, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K215, 1, 4);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJconstraint_);
    if (T0 != &KJconstraint_) {
      IKJconstraint_ = T0;
      primitive_repeated_slot_value_setter(T0, &K250, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K249, 1, 6);
      primitive_slot_value_setter(T0, &Kmatch_constraintVdfmc_macro_expanderHLbinding_matchG, 3);
      primitive_repeated_slot_value_setter(T0, &K216, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K215, 1, 6);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexpression_);
    if (T0 != &KJexpression_) {
      primitive_repeated_slot_value_setter(T0, &K259, 1, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJvariable_);
    if (T0 != &KJvariable_) {
      primitive_repeated_slot_value_setter(T0, &K259, 1, 4);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmacro_);
    if (T0 != &KJmacro_) {
      primitive_repeated_slot_value_setter(T0, &K259, 1, 8);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsymbol_);
    if (T0 != &KJsymbol_) {
      primitive_repeated_slot_value_setter(T0, &K259, 1, 9);
    }
  }
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:9
  T0 = KPadd_classVKeI(&KLpattern_matchGVdfmc_macro_expander);
  goto I0;
}
I0:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_macro_expander__X_pattern_elements_for_user () {
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:14
  T0 = KPadd_nonsiblinged_domainVKnI(&KmakeVKd, &KmakeVKdRD_dfmc_macro_expanderRD_1);
  goto I4;
}
I4:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/pattern-elements.dylan:15
  T0 = KPadd_nonsiblinged_domainVKnI(&KinitializeVKd, &KinitializeVKdRD_dfmc_macro_expanderRD_1);
  goto I6;
}
I6:

  return;
}


/* eof */
