#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;
  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;
} _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;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

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(42);
define__KLbyte_stringGVKd(68);
define__KLbyte_stringGVKd(34);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(53);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(30);
define__KLbyte_stringGVKd(0);

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

#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(11);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(4);

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

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

#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 signature_properties_;
  dylan_value signature_required_;
} _KLsignatureGVKe;

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_;
  dylan_value signature_values_;
} _KLsignatureAvaluesGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_template_;
  dylan_value element_compiled_template_;
} _KLmacro_call_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_template_;
  dylan_value element_compiled_template_;
  dylan_value element_rule_name_;
  dylan_value element_aux_rule_env_;
  dylan_value element_aux_rule_index_;
} _KLaux_rule_call_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
  dylan_value element_separator_;
} _KLsimple_sequence_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLsimple_element_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLas_symbol_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLas_string_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
  dylan_value element_name_substitution_;
  dylan_value element_prefix_;
  dylan_value element_suffix_;
} _KLsplicing_substitutionGVdfmc_macro_expander;

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;
  dylan_value xep_;
  dylan_value method_slot_descriptor_;
} _KLsetter_methodGVKi;

typedef struct {
  dylan_value wrapper;
} _KLppmlGVppml;

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 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 subclass_class_;
} _KLsubclassGVKe;

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;

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 init_arg_type_;
} _KLinit_arg_descriptorGVKe;

typedef struct {
  dylan_value wrapper;
} _KLconditionGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
} _KLsimple_conditionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
} _KLprogram_conditionGVdfmc_conditions;

typedef struct {
  dylan_value wrapper;
} _KLwarningGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
} _KLprogram_noteGVdfmc_conditions;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
} _KLprogram_warningGVdfmc_conditions;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
} _KLserious_program_warningGVdfmc_conditions;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
} _KLreader_errorGVdfmc_reader;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
} _KLmanual_parser_errorGVdfmc_reader;

typedef struct {
  dylan_value wrapper;
} _KLsequenceGVKd;

#define  define__KLkeyword_closure_methodGVKe(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value xep_; \
    dylan_value function_signature_; \
    dylan_value mep_; \
    dylan_value iep_; \
    dylan_value keyword_specifiers_; \
    dylan_value environment_size_; \
    dylan_value environment_element_[nrepeated+1]; \
  } _KLkeyword_closure_methodGVKe_##nrepeated;
define__KLkeyword_closure_methodGVKe(0);

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_keys_;
  dylan_value signature_key_types_;
} _KLkeyword_signatureGVKe;

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


/* Typedefs for defined classes */

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_variable_name_;
} _KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_fragment_;
} _KLnon_macro_in_template_macro_callGVdfmc_macro_expander;


/* Referenced object declarations */

dylan_value KPadd_classVKeI (dylan_value);
dylan_value KPadd_a_methodVKnI (dylan_value, dylan_value, dylan_value, dylan_value, 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 _KLlibraryGVKe Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLsealed_generic_functionGVKe Kconvert_condition_slots_to_ppmlVdfmc_conditions;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLsealed_generic_functionGVKe Kas_fragment_tokensVdfmc_macro_expander;
dylan_value Kmatch_macro_constraintVdfmc_macro_expanderI (dylan_value);
extern _KLincremental_generic_functionGVKe KnoteVdfmc_conditions;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_Lsimple_object_vectorG_typesVKi;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LmethodG_typesVKi;
extern _KLclassGVKd KLmacro_call_substitutionGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLmacro_call_substitutionGVdfmc_macro_expanderW;
dylan_value Klookup_aux_rule_functionVdfmc_macro_expanderI (dylan_value, dylan_value);
extern _KLclassGVKd KLaux_rule_call_substitutionGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLaux_rule_call_substitutionGVdfmc_macro_expanderW;
extern _KLsealed_generic_functionGVKe Kgenerate_constructor_functionVdfmc_macro_expander;
dylan_value Klookup_matchVdfmc_macro_expanderI (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Ksubstitute_sequenceVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Ksubstitute_sequence_separatedVdfmc_macro_expander;
extern _KLclassGVKd KLsimple_sequence_substitutionGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsimple_sequence_substitutionGVdfmc_macro_expanderW;
extern _KLsealed_generic_functionGVKe Kelement_env_indexVdfmc_macro_expander;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLsealed_generic_functionGVKe Kelement_variable_nameVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kelement_source_locationVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Ksubstitute_spliced_as_nameVdfmc_macro_expander;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LfunctionG_typesVKi;
extern _KLclassGVKd KLsimple_element_substitutionGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsimple_element_substitutionGVdfmc_macro_expanderW;
extern _KLsealed_generic_functionGVKe Ksubstitute_spliced_as_symbolVdfmc_macro_expander;
extern _KLclassGVKd KLas_symbol_substitutionGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLas_symbol_substitutionGVdfmc_macro_expanderW;
extern _KLsealed_generic_functionGVKe Ksubstitute_spliced_as_stringVdfmc_macro_expander;
extern _KLclassGVKd KLas_string_substitutionGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLas_string_substitutionGVdfmc_macro_expanderW;
extern _KLclassGVKd KLsplicing_substitutionGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsplicing_substitutionGVdfmc_macro_expanderW;
extern _KLsimple_methodGVKe Ksubstitute_as_symbolVdfmc_macro_expanderMM0;
extern _KLsimple_methodGVKe Ksubstitute_as_stringVdfmc_macro_expanderMM0;
extern _KLsealed_generic_functionGVKe Kimport_to_templateVdfmc_macro_expander;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLsealed_generic_functionGVKe Kcondition_fragmentVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kcondition_fragment_setterVdfmc_macro_expander;
extern _KLclassGVKd KLsetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsetter_methodGVKiW;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLppmlGVppml;
extern _KLmm_wrapperGVKi_0 KLppmlGVppmlW;
dylan_value KerrorVKdMM1I (dylan_value, dylan_value);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
dylan_value KmemberQVKdMM2I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsymbolGVKd KJformat_arguments_;
extern _KLsimple_methodGVKe KEEVKd;
dylan_value KlistVKdI (dylan_value);
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLsubclassGVKe;
extern _KLmm_wrapperGVKi_0 KLsubclassGVKeW;
dylan_value Ksubclass_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLclassGVKd KLinit_arg_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinit_arg_descriptorGVKeW;
extern _KLsymbolGVKd KJformat_string_;
extern _KLclassGVKd KLconditionGVKd;
extern _KLmm_wrapperGVKi_0 KLconditionGVKdW;
extern _KLclassGVKd KLsimple_conditionGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_conditionGVKeW;
extern _KLclassGVKd KLprogram_conditionGVdfmc_conditions;
extern _KLmm_wrapperGVKi_0 KLprogram_conditionGVdfmc_conditionsW;
extern _KLclassGVKd KLwarningGVKd;
extern _KLmm_wrapperGVKi_0 KLwarningGVKdW;
extern _KLclassGVKd KLprogram_noteGVdfmc_conditions;
extern _KLmm_wrapperGVKi_0 KLprogram_noteGVdfmc_conditionsW;
extern _KLclassGVKd KLprogram_warningGVdfmc_conditions;
extern _KLmm_wrapperGVKi_0 KLprogram_warningGVdfmc_conditionsW;
extern _KLclassGVKd KLserious_program_warningGVdfmc_conditions;
extern _KLmm_wrapperGVKi_0 KLserious_program_warningGVdfmc_conditionsW;
extern _KLclassGVKd KLreader_errorGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLreader_errorGVdfmc_readerW;
extern _KLclassGVKd KLmanual_parser_errorGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLmanual_parser_errorGVdfmc_readerW;
dylan_value Kdefaulted_initialization_argumentsVKiI (dylan_value);
dylan_value Kconcatenate_2VKeMM1I (dylan_value, dylan_value);
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLincremental_generic_functionGVKe KinitializeVKd;
extern _KLfunction_classGVKi KLkeyword_closure_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_closure_methodGVKeW;
extern _KLbyte_stringGVKd_0 KPempty_stringVKi;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLinstance_slot_descriptorGVKe Kcondition_format_stringVKdHLsimple_conditionG;
extern _KLinstance_slot_descriptorGVKe Kcondition_format_argumentsVKdHLsimple_conditionG;
extern _KLinstance_slot_descriptorGVKe Kcondition_source_locationVdfmc_conditionsHLprogram_conditionG;
extern _KLinstance_slot_descriptorGVKe Kcondition_program_note_creatorVdfmc_conditionsHLprogram_conditionG;
extern _KLinstance_slot_descriptorGVKe Kcondition_compilation_stageVdfmc_conditionsHLprogram_conditionG;
extern _KLinstance_slot_descriptorGVKe Kcondition_context_idVdfmc_conditionsHLprogram_noteG;
extern _KLinstance_slot_descriptorGVKe KsubnotesVdfmc_conditionsHLprogram_noteG;
dylan_value Kclass_instanceQ_initialVKiI (dylan_value, dylan_value);
extern _KLmoduleGVKe Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern dylan_value Tcurrent_dependentTVdfmc_common;
extern dylan_value Tcurrent_stageTVdfmc_common;

/* Defined object declarations */

extern _KLclassGVKd KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expanderW;
extern _KLkeyword_methodGVKe KmakeVKdMdfmc_macro_expanderM9;
dylan_value KmakeVKdMdfmc_macro_expanderM9I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM10;
dylan_value Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM10I (dylan_value);
extern _KLclassGVKd KLnon_macro_in_template_macro_callGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLnon_macro_in_template_macro_callGVdfmc_macro_expanderW;
extern _KLkeyword_methodGVKe KmakeVKdMdfmc_macro_expanderM10;
dylan_value KmakeVKdMdfmc_macro_expanderM10I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM11;
dylan_value Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM11I (dylan_value);
extern _KLsetter_methodGVKi Kcondition_fragment_setterVdfmc_macro_expanderMM1;
extern _KLgetter_methodGVKi Kcondition_fragmentVdfmc_macro_expanderMM1;
extern _KLsealed_generic_functionGVKe Kgenerate_substitution_functionVdfmc_macro_expander;
extern _KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM0;
dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM0I (dylan_value);
extern _KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM1;
dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM1I (dylan_value);
extern _KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM2;
dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM2I (dylan_value);
extern _KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM3;
dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM3I (dylan_value);
extern _KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM4;
dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM4I (dylan_value);
extern _KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM5;
dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM5I (dylan_value);
extern _KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM6;
dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM6I (dylan_value);
static _KLpairGVKd K35;
static _KLpairGVKd K36;
static _KLpairGVKd K37;
static _KLpairGVKd K38;
static _KLpairGVKd K39;
static _KLpairGVKd K40;
static _KLpairGVKd K41;
static _KLbyte_stringGVKd_30 K42;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF45;
static dylan_value Kanonymous_of_generate_substitution_functionF45I (dylan_value);
static _KLsymbolGVKd KJsource_location_;
static _KLsymbolGVKd KJfragment_;
static _KLbyte_stringGVKd_8 K48;
static _KLbyte_stringGVKd_15 K49;
static _KLsignatureGVKe K50;
static _KLsignatureAvaluesGVKi K51;
static _KLsimple_object_vectorGVKd_1 K52;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF55;
static dylan_value Kanonymous_of_generate_substitution_functionF55I (dylan_value);
static _KLsignatureAvaluesGVKi K56;
static _KLsimple_object_vectorGVKd_1 K57;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF71;
static dylan_value Kanonymous_of_generate_substitution_functionF71I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF70;
static dylan_value Kanonymous_of_generate_substitution_functionF70I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF67;
static dylan_value Kanonymous_of_generate_substitution_functionF67I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF66;
static dylan_value Kanonymous_of_generate_substitution_functionF66I (dylan_value);
static _KLsymbolGVKd KJvariable_name_;
static _KLbyte_stringGVKd_13 K69;
static _KLsignatureAvaluesGVKi K72;
static _KLsimple_object_vectorGVKd_1 K73;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF96;
static dylan_value Kanonymous_of_generate_substitution_functionF96I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF95;
static dylan_value Kanonymous_of_generate_substitution_functionF95I (dylan_value);
extern _KLsealed_generic_functionGVKe Ksplicing_functionVdfmc_macro_expander;
extern _KLsimple_methodGVKe Ksplicing_functionVdfmc_macro_expanderMM0;
dylan_value Ksplicing_functionVdfmc_macro_expanderMM0I (dylan_value);
extern _KLsimple_methodGVKe Ksplicing_functionVdfmc_macro_expanderMM1;
dylan_value Ksplicing_functionVdfmc_macro_expanderMM1I (dylan_value);
extern _KLsimple_methodGVKe Ksplicing_functionVdfmc_macro_expanderMM2;
dylan_value Ksplicing_functionVdfmc_macro_expanderMM2I (dylan_value);
static _KLpairGVKd K85;
static _KLpairGVKd K86;
static _KLpairGVKd K87;
static _KLbyte_stringGVKd_17 K88;
static _KLsignatureAvaluesGVKi K89;
static _KLsimple_object_vectorGVKd_1 K90;
static _KLsignatureAvaluesGVKi K91;
static _KLsimple_object_vectorGVKd_1 K92;
static _KLsignatureAvaluesGVKi K93;
static _KLsimple_object_vectorGVKd_1 K94;
static _KLsignatureAvaluesGVKi K97;
static _KLsimple_object_vectorGVKd_1 K98;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF104;
static dylan_value Kanonymous_of_generate_substitution_functionF104I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF103;
static dylan_value Kanonymous_of_generate_substitution_functionF103I (dylan_value);
static _KLsignatureAvaluesGVKi K105;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF111;
static dylan_value Kanonymous_of_generate_substitution_functionF111I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF110;
static dylan_value Kanonymous_of_generate_substitution_functionF110I (dylan_value);
static _KLsignatureAvaluesGVKi K112;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF118;
static dylan_value Kanonymous_of_generate_substitution_functionF118I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF117;
static dylan_value Kanonymous_of_generate_substitution_functionF117I (dylan_value);
static _KLsignatureAvaluesGVKi K119;
extern _KLinstance_slot_descriptorGVKe Kcondition_fragmentVdfmc_macro_expanderHLnon_macro_in_template_macro_callG;
static _KLbyte_stringGVKd_15 K121;
static _KLsignatureGVKe K122;
static _KLsimple_object_vectorGVKd_1 K123;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_makeF126;
static dylan_value Kanonymous_of_makeF126I (dylan_value);
static _KLsignatureGVKe K127;
static _KLkeyword_signatureAvaluesGVKi K128;
static _KLsimple_object_vectorGVKd_2 K129;
static _KLsimple_object_vectorGVKd_1 K130;
static _KLsimple_object_vectorGVKd_1 K131;
static _KLsubclassGVKe K132;
static _KLimplementation_classGVKe K133;
static _KLsimple_object_vectorGVKd_8 K134;
extern _KLkeyword_methodGVKe KLnon_macro_in_template_macro_callGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLnon_macro_in_template_macro_callGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K137;
static _KLsimple_object_vectorGVKd_11 K138;
static _KLsimple_object_vectorGVKd_1 K139;
static _KLsimple_object_vectorGVKd_1 K140;
static _KLinit_arg_descriptorGVKe Kformat_stringHLnon_macro_in_template_macro_callGVdfmc_macro_expander;
static _KLbyte_stringGVKd_53 K142;
static _KLkeyword_closure_methodGVKe_0 Kdefaulted_initializeF145;
static dylan_value Kdefaulted_initializeF145I (dylan_value object_, dylan_value init_args_, dylan_value Uunique_condition_format_string_, dylan_value Uunique_condition_format_arguments_, dylan_value Uunique_condition_source_location_, dylan_value Uunique_condition_program_note_creator_, dylan_value Uunique_condition_compilation_stage_, dylan_value Uunique_condition_context_id_, dylan_value Uunique_subnotes_, dylan_value Uunique_condition_fragment_);
static _KLbyte_stringGVKd_23 K146;
static _KLkeyword_signatureGVKe K147;
static _KLsimple_object_vectorGVKd_16 K148;
static _KLsymbolGVKd KJprogram_note_creator_;
static _KLsymbolGVKd KJcompilation_stage_;
static _KLsymbolGVKd KJcontext_id_;
static _KLsymbolGVKd KJsubnotes_;
static _KLbyte_stringGVKd_8 K153;
static _KLbyte_stringGVKd_10 K154;
static _KLbyte_stringGVKd_17 K155;
static _KLbyte_stringGVKd_20 K156;
static _KLsimple_object_vectorGVKd_8 K157;
static _KLkeyword_signatureAvaluesGVKi K158;
static _KLbyte_stringGVKd_34 K159;
static _KLsignatureGVKe K160;
static _KLsimple_object_vectorGVKd_1 K161;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_makeF164;
static dylan_value Kanonymous_of_makeF164I (dylan_value);
static _KLkeyword_signatureAvaluesGVKi K165;
static _KLsimple_object_vectorGVKd_2 K166;
static _KLsimple_object_vectorGVKd_1 K167;
static _KLsimple_object_vectorGVKd_1 K168;
static _KLsubclassGVKe K169;
static _KLimplementation_classGVKe K170;
static _KLsimple_object_vectorGVKd_8 K171;
extern _KLkeyword_methodGVKe KLsubstitution_of_unbound_pattern_variableGZ32ZconstructorVdfmc_macro_expanderMM0;
dylan_value KLsubstitution_of_unbound_pattern_variableGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_11 K174;
static _KLsimple_object_vectorGVKd_1 K175;
static _KLsimple_object_vectorGVKd_1 K176;
static _KLinit_arg_descriptorGVKe Kformat_stringHLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander;
static _KLbyte_stringGVKd_68 K178;
extern _KLinstance_slot_descriptorGVKe Kcondition_variable_nameVdfmc_macro_expanderHLsubstitution_of_unbound_pattern_variableG;
extern _KLsealed_generic_functionGVKe Kcondition_variable_nameVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kcondition_variable_name_setterVdfmc_macro_expander;
extern _KLsetter_methodGVKi Kcondition_variable_name_setterVdfmc_macro_expanderMM0;
static _KLpairGVKd K183;
static _KLbyte_stringGVKd_30 K184;
extern _KLgetter_methodGVKi Kcondition_variable_nameVdfmc_macro_expanderMM0;
static _KLpairGVKd K186;
static _KLbyte_stringGVKd_23 K187;
static _KLkeyword_closure_methodGVKe_0 Kdefaulted_initializeF190;
static dylan_value Kdefaulted_initializeF190I (dylan_value object_, dylan_value init_args_, dylan_value Uunique_condition_format_string_, dylan_value Uunique_condition_format_arguments_, dylan_value Uunique_condition_source_location_, dylan_value Uunique_condition_program_note_creator_, dylan_value Uunique_condition_compilation_stage_, dylan_value Uunique_condition_context_id_, dylan_value Uunique_subnotes_, dylan_value Uunique_condition_variable_name_);
static _KLkeyword_signatureGVKe K191;
static _KLsimple_object_vectorGVKd_16 K192;
static _KLsimple_object_vectorGVKd_8 K193;
static _KLkeyword_signatureAvaluesGVKi K194;
static _KLbyte_stringGVKd_42 K195;

/* Indirection variables */

static dylan_value IKJsource_location_ = &KJsource_location_;
static dylan_value IKJfragment_ = &KJfragment_;
static dylan_value IKJvariable_name_ = &KJvariable_name_;
static dylan_value IKJprogram_note_creator_ = &KJprogram_note_creator_;
static dylan_value IKJcompilation_stage_ = &KJcompilation_stage_;
static dylan_value IKJcontext_id_ = &KJcontext_id_;
static dylan_value IKJsubnotes_ = &KJsubnotes_;

/* Variables */

dylan_value generate_substitution_functionVdfmc_macro_expander = &Kgenerate_substitution_functionVdfmc_macro_expander;
dylan_value Lsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander = &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander;
dylan_value Lnon_macro_in_template_macro_callGVdfmc_macro_expander = &KLnon_macro_in_template_macro_callGVdfmc_macro_expander;

/* Objects */

_KLclassGVKd KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K195,
  &K170,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K170,
  (dylan_value) 1,
  33,
  33554439,
  (dylan_value) 1
};

_KLkeyword_methodGVKe KmakeVKdMdfmc_macro_expanderM9 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K165,
  &key_mep_3,
  &KmakeVKdMdfmc_macro_expanderM9I,
  &K166
};

_KLsimple_methodGVKe Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM10 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K160,
  &Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM10I
};

_KLclassGVKd KLnon_macro_in_template_macro_callGVdfmc_macro_expander = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K159,
  &K133,
  (dylan_value) 1,
  &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander
};

_KLmm_wrapperGVKi_0 KLnon_macro_in_template_macro_callGVdfmc_macro_expanderW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K133,
  (dylan_value) 1,
  33,
  33554439,
  (dylan_value) 1
};

_KLkeyword_methodGVKe KmakeVKdMdfmc_macro_expanderM10 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K128,
  &key_mep_3,
  &KmakeVKdMdfmc_macro_expanderM10I,
  &K129
};

_KLsimple_methodGVKe Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM11 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K122,
  &Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM11I
};

_KLsetter_methodGVKi Kcondition_fragment_setterVdfmc_macro_expanderMM1 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kcondition_fragmentVdfmc_macro_expanderHLnon_macro_in_template_macro_callG
};

_KLgetter_methodGVKi Kcondition_fragmentVdfmc_macro_expanderMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kcondition_fragmentVdfmc_macro_expanderHLnon_macro_in_template_macro_callG
};

_KLsealed_generic_functionGVKe Kgenerate_substitution_functionVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K42,
  &K35,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K119,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K112,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM1I
};

_KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K105,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM2I
};

_KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K97,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM3I
};

_KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K72,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM4I
};

_KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K56,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM5I
};

_KLsimple_methodGVKe Kgenerate_substitution_functionVdfmc_macro_expanderMM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K51,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM6I
};

static _KLpairGVKd K35 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM0,
  &K36
};

static _KLpairGVKd K36 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM1,
  &K37
};

static _KLpairGVKd K37 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM2,
  &K38
};

static _KLpairGVKd K38 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM3,
  &K39
};

static _KLpairGVKd K39 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM4,
  &K40
};

static _KLpairGVKd K40 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM5,
  &K41
};

static _KLpairGVKd K41 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_substitution_functionVdfmc_macro_expanderMM6,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_30 K42 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 121,
  "generate-substitution-function"
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF45 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF45I,
  (dylan_value) 1
};

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

static _KLsymbolGVKd KJfragment_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K48
};

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

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

static _KLsignatureGVKe K50 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944069,
  &KDsignature_Lsimple_object_vectorG_typesVKi
};

static _KLsignatureAvaluesGVKi K51 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K52,
  &KDsignature_LmethodG_typesVKi
};

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF55 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF55I,
  (dylan_value) 1
};

static _KLsignatureAvaluesGVKi K56 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K57,
  &KDsignature_LmethodG_typesVKi
};

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF71 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF71I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF70 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF70I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF67 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF67I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF66 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF66I,
  (dylan_value) 1
};

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

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

static _KLsignatureAvaluesGVKi K72 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K73,
  &KDsignature_LmethodG_typesVKi
};

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF96 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF96I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF95 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF95I,
  (dylan_value) 1
};

_KLsealed_generic_functionGVKe Ksplicing_functionVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K88,
  &K85,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Ksplicing_functionVdfmc_macro_expanderMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K93,
  &Ksplicing_functionVdfmc_macro_expanderMM0I
};

_KLsimple_methodGVKe Ksplicing_functionVdfmc_macro_expanderMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K91,
  &Ksplicing_functionVdfmc_macro_expanderMM1I
};

_KLsimple_methodGVKe Ksplicing_functionVdfmc_macro_expanderMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K89,
  &Ksplicing_functionVdfmc_macro_expanderMM2I
};

static _KLpairGVKd K85 = {
  &KLpairGVKdW /* wrapper */,
  &Ksplicing_functionVdfmc_macro_expanderMM0,
  &K86
};

static _KLpairGVKd K86 = {
  &KLpairGVKdW /* wrapper */,
  &Ksplicing_functionVdfmc_macro_expanderMM1,
  &K87
};

static _KLpairGVKd K87 = {
  &KLpairGVKdW /* wrapper */,
  &Ksplicing_functionVdfmc_macro_expanderMM2,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_17 K88 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "splicing-function"
};

static _KLsignatureAvaluesGVKi K89 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K90,
  &KDsignature_LfunctionG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K91 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K92,
  &KDsignature_LfunctionG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K93 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K94,
  &KDsignature_LfunctionG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K97 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K98,
  &KDsignature_LmethodG_typesVKi
};

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF104 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF104I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF103 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF103I,
  (dylan_value) 1
};

static _KLsignatureAvaluesGVKi K105 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K92,
  &KDsignature_LmethodG_typesVKi
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF111 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF111I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF110 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF110I,
  (dylan_value) 1
};

static _KLsignatureAvaluesGVKi K112 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K94,
  &KDsignature_LmethodG_typesVKi
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF118 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF118I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_substitution_functionF117 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K50,
  &Kanonymous_of_generate_substitution_functionF117I,
  (dylan_value) 1
};

static _KLsignatureAvaluesGVKi K119 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K90,
  &KDsignature_LmethodG_typesVKi
};

_KLinstance_slot_descriptorGVKe Kcondition_fragmentVdfmc_macro_expanderHLnon_macro_in_template_macro_callG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLnon_macro_in_template_macro_callGVdfmc_macro_expander,
  &KJfragment_,
  &Kcondition_fragmentVdfmc_macro_expander,
  &Kcondition_fragment_setterVdfmc_macro_expander,
  &KLobjectGVKd
};

static _KLbyte_stringGVKd_15 K121 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "No next method."
};

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

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_makeF126 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K127,
  &Kanonymous_of_makeF126I,
  (dylan_value) 1
};

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

static _KLkeyword_signatureAvaluesGVKi K128 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 39060485,
  &K130,
  &K131,
  &KDsignature_LobjectG_typesVKi,
  &K123
};

static _KLsimple_object_vectorGVKd_2 K129 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJfragment_,
  &KPfalseVKi
};

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

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

static _KLsubclassGVKe K132 = {
  &KLsubclassGVKeW /* wrapper */,
  &Ksubclass_instanceQVKiI,
  &KLnon_macro_in_template_macro_callGVdfmc_macro_expander
};

static _KLimplementation_classGVKe K133 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433761,
  &KLnon_macro_in_template_macro_callGVdfmc_macro_expander,
  &KLnon_macro_in_template_macro_callGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K134,
  (dylan_value) -3,
  &KLnon_macro_in_template_macro_callGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K137,
  &K138,
  (dylan_value) 41,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K139,
  &K134,
  &KPempty_vectorVKi,
  &K140,
  &KPempty_vectorVKi,
  (dylan_value) -7,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_8 K134 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &Kcondition_format_stringVKdHLsimple_conditionG,
  &Kcondition_format_argumentsVKdHLsimple_conditionG,
  &Kcondition_source_locationVdfmc_conditionsHLprogram_conditionG,
  &Kcondition_program_note_creatorVdfmc_conditionsHLprogram_conditionG,
  &Kcondition_compilation_stageVdfmc_conditionsHLprogram_conditionG,
  &Kcondition_context_idVdfmc_conditionsHLprogram_noteG,
  &KsubnotesVdfmc_conditionsHLprogram_noteG,
  &Kcondition_fragmentVdfmc_macro_expanderHLnon_macro_in_template_macro_callG
};

_KLkeyword_methodGVKe KLnon_macro_in_template_macro_callGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_2,
  &K158,
  &key_mep_2,
  &KLnon_macro_in_template_macro_callGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &KPempty_vectorVKi
};

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

static _KLsimple_object_vectorGVKd_11 K138 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 45,
  &KLobjectGVKd,
  &KLconditionGVKd,
  &KLsimple_conditionGVKe,
  &KLprogram_conditionGVdfmc_conditions,
  &KLwarningGVKd,
  &KLprogram_noteGVdfmc_conditions,
  &KLprogram_warningGVdfmc_conditions,
  &KLserious_program_warningGVdfmc_conditions,
  &KLreader_errorGVdfmc_reader,
  &KLmanual_parser_errorGVdfmc_reader,
  &KLnon_macro_in_template_macro_callGVdfmc_macro_expander
};

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

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

static _KLinit_arg_descriptorGVKe Kformat_stringHLnon_macro_in_template_macro_callGVdfmc_macro_expander = {
  &KLinit_arg_descriptorGVKeW /* wrapper */,
  (dylan_value) 29,
  &K142,
  &KLnon_macro_in_template_macro_callGVdfmc_macro_expander,
  &KJformat_string_,
  &KLobjectGVKd
};

static _KLbyte_stringGVKd_53 K142 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 213,
  "Template macro call ?@{ %s } is not to a known macro."
};

static _KLkeyword_closure_methodGVKe_0 Kdefaulted_initializeF145 = {
  &KLkeyword_closure_methodGVKeW /* wrapper */,
  &rest_key_xep,
  &K147,
  &key_mep,
  &Kdefaulted_initializeF145I,
  &K148,
  (dylan_value) 1
};

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

static _KLkeyword_signatureGVKe K147 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 45875205,
  &K123,
  &K157,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_16 K148 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 65,
  &KJformat_string_,
  &KPempty_stringVKi,
  &KJformat_arguments_,
  &KPempty_vectorVKi,
  &KJsource_location_,
  &KPfalseVKi,
  &KJprogram_note_creator_,
  &KPunboundVKi,
  &KJcompilation_stage_,
  &KPunboundVKi,
  &KJcontext_id_,
  &KPfalseVKi,
  &KJsubnotes_,
  &KPempty_vectorVKi,
  &KJfragment_,
  &KPunboundVKi
};

static _KLsymbolGVKd KJprogram_note_creator_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K156
};

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

static _KLsymbolGVKd KJcontext_id_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K154
};

static _KLsymbolGVKd KJsubnotes_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K153
};

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

static _KLbyte_stringGVKd_10 K154 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "context-id"
};

static _KLbyte_stringGVKd_17 K155 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "compilation-stage"
};

static _KLbyte_stringGVKd_20 K156 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "program-note-creator"
};

static _KLsimple_object_vectorGVKd_8 K157 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KJformat_string_,
  &KJformat_arguments_,
  &KJsource_location_,
  &KJprogram_note_creator_,
  &KJcompilation_stage_,
  &KJcontext_id_,
  &KJsubnotes_,
  &KJfragment_
};

static _KLkeyword_signatureAvaluesGVKi K158 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K123
};

static _KLbyte_stringGVKd_34 K159 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 137,
  "<non-macro-in-template-macro-call>"
};

static _KLsignatureGVKe K160 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 46137349,
  &K161
};

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_makeF164 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K127,
  &Kanonymous_of_makeF164I,
  (dylan_value) 1
};

static _KLkeyword_signatureAvaluesGVKi K165 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 39060485,
  &K167,
  &K168,
  &KDsignature_LobjectG_typesVKi,
  &K161
};

static _KLsimple_object_vectorGVKd_2 K166 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJvariable_name_,
  &KPfalseVKi
};

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

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

static _KLsubclassGVKe K169 = {
  &KLsubclassGVKeW /* wrapper */,
  &Ksubclass_instanceQVKiI,
  &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander
};

static _KLimplementation_classGVKe K170 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433761,
  &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander,
  &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expanderW,
  &KPfalseVKi,
  &K171,
  (dylan_value) -3,
  &KLsubstitution_of_unbound_pattern_variableGZ32ZconstructorVdfmc_macro_expanderMM0,
  &K137,
  &K174,
  (dylan_value) 41,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K175,
  &K171,
  &KPempty_vectorVKi,
  &K176,
  &KPempty_vectorVKi,
  (dylan_value) -7,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_8 K171 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &Kcondition_format_stringVKdHLsimple_conditionG,
  &Kcondition_format_argumentsVKdHLsimple_conditionG,
  &Kcondition_source_locationVdfmc_conditionsHLprogram_conditionG,
  &Kcondition_program_note_creatorVdfmc_conditionsHLprogram_conditionG,
  &Kcondition_compilation_stageVdfmc_conditionsHLprogram_conditionG,
  &Kcondition_context_idVdfmc_conditionsHLprogram_noteG,
  &KsubnotesVdfmc_conditionsHLprogram_noteG,
  &Kcondition_variable_nameVdfmc_macro_expanderHLsubstitution_of_unbound_pattern_variableG
};

_KLkeyword_methodGVKe KLsubstitution_of_unbound_pattern_variableGZ32ZconstructorVdfmc_macro_expanderMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_2,
  &K194,
  &key_mep_2,
  &KLsubstitution_of_unbound_pattern_variableGZ32ZconstructorVdfmc_macro_expanderMM0I,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_11 K174 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 45,
  &KLobjectGVKd,
  &KLconditionGVKd,
  &KLsimple_conditionGVKe,
  &KLprogram_conditionGVdfmc_conditions,
  &KLwarningGVKd,
  &KLprogram_noteGVdfmc_conditions,
  &KLprogram_warningGVdfmc_conditions,
  &KLserious_program_warningGVdfmc_conditions,
  &KLreader_errorGVdfmc_reader,
  &KLmanual_parser_errorGVdfmc_reader,
  &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander
};

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

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

static _KLinit_arg_descriptorGVKe Kformat_stringHLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander = {
  &KLinit_arg_descriptorGVKeW /* wrapper */,
  (dylan_value) 29,
  &K178,
  &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander,
  &KJformat_string_,
  &KLobjectGVKd
};

static _KLbyte_stringGVKd_68 K178 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 273,
  "Reference to unbound pattern variable %= while expanding macro call."
};

_KLinstance_slot_descriptorGVKe Kcondition_variable_nameVdfmc_macro_expanderHLsubstitution_of_unbound_pattern_variableG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander,
  &KJvariable_name_,
  &Kcondition_variable_nameVdfmc_macro_expander,
  &Kcondition_variable_name_setterVdfmc_macro_expander,
  &KLobjectGVKd
};

_KLsealed_generic_functionGVKe Kcondition_variable_nameVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K187,
  &K186,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kcondition_variable_name_setterVdfmc_macro_expander = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K184,
  &K183,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Kcondition_variable_name_setterVdfmc_macro_expanderMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kcondition_variable_nameVdfmc_macro_expanderHLsubstitution_of_unbound_pattern_variableG
};

static _KLpairGVKd K183 = {
  &KLpairGVKdW /* wrapper */,
  &Kcondition_variable_name_setterVdfmc_macro_expanderMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_30 K184 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 121,
  "condition-variable-name-setter"
};

_KLgetter_methodGVKi Kcondition_variable_nameVdfmc_macro_expanderMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kcondition_variable_nameVdfmc_macro_expanderHLsubstitution_of_unbound_pattern_variableG
};

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

static _KLbyte_stringGVKd_23 K187 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "condition-variable-name"
};

static _KLkeyword_closure_methodGVKe_0 Kdefaulted_initializeF190 = {
  &KLkeyword_closure_methodGVKeW /* wrapper */,
  &rest_key_xep,
  &K191,
  &key_mep,
  &Kdefaulted_initializeF190I,
  &K192,
  (dylan_value) 1
};

static _KLkeyword_signatureGVKe K191 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 45875205,
  &K161,
  &K193,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_16 K192 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 65,
  &KJformat_string_,
  &KPempty_stringVKi,
  &KJformat_arguments_,
  &KPempty_vectorVKi,
  &KJsource_location_,
  &KPfalseVKi,
  &KJprogram_note_creator_,
  &KPunboundVKi,
  &KJcompilation_stage_,
  &KPunboundVKi,
  &KJcontext_id_,
  &KPfalseVKi,
  &KJsubnotes_,
  &KPempty_vectorVKi,
  &KJvariable_name_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_8 K193 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KJformat_string_,
  &KJformat_arguments_,
  &KJsource_location_,
  &KJprogram_note_creator_,
  &KJcompilation_stage_,
  &KJcontext_id_,
  &KJsubnotes_,
  &KJvariable_name_
};

static _KLkeyword_signatureAvaluesGVKi K194 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K161
};

static _KLbyte_stringGVKd_42 K195 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 169,
  "<substitution-of-unbound-pattern-variable>"
};

/* Code */

dylan_value KmakeVKdMdfmc_macro_expanderM9I (dylan_value class_, dylan_value initargs_, dylan_value variable_name_) {
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10_0;
  _KLsimple_object_vectorGVKd_1 T11 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T12_0;
  dylan_value T13_0;
  dylan_value T14_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T8 = primitive_copy_vector(initargs_);
  T6 = primitive_next_methods_parameter();
  T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_makeF164, 3, T8, T6, class_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T9 = KmemberQVKdMM2I(&KJformat_arguments_, T8, &KPempty_vectorVKi, &KEEVKd);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  if (T9 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    T10_0 = APPLY2(T7, class_, T8);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    T13_0 = T10_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T10_0);
      primitive_type_check(T13_0, &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T13_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    T11.vector_element_[0] = variable_name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    T4 = KlistVKdI(&T11);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    T12_0 = APPLY4(T7, class_, &KJformat_arguments_, T4, T8);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    T14_0 = T12_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T12_0);
      primitive_type_check(T14_0, &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T14_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM10I (dylan_value Pc_) {
  dylan_value T2;
  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/template-to-function.dylan:9
  T3 = primitive_next_methods_parameter();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T4 = SLOT_VALUE_INITD(Pc_, 7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T2 = CONGRUENT_CALL2(&KLppmlGVppml, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  SLOT_VALUE_SETTER(T2, Pc_, 7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T5 = primitive_idQ(T3,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  if (T5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    KerrorVKdMM1I(&K121, &KPempty_vectorVKi);
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    T6 = SLOT_VALUE_INITD(T3, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    T7 = SLOT_VALUE_INITD(T3, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
    MEP_CALL_PROLOG(T6, T7, 1);
    MEP_CALL1(T6, Pc_);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T8 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  MV_SET_COUNT(0);
  return(T8);
}

dylan_value KmakeVKdMdfmc_macro_expanderM10I (dylan_value class_, dylan_value initargs_, dylan_value fragment_) {
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10_0;
  _KLsimple_object_vectorGVKd_1 T11 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T12_0;
  dylan_value T13_0;
  dylan_value T14_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T8 = primitive_copy_vector(initargs_);
  T6 = primitive_next_methods_parameter();
  T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_makeF126, 3, T8, T6, class_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T9 = KmemberQVKdMM2I(&KJformat_arguments_, T8, &KPempty_vectorVKi, &KEEVKd);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  if (T9 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    T10_0 = APPLY2(T7, class_, T8);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    T13_0 = T10_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T10_0);
      primitive_type_check(T13_0, &KLnon_macro_in_template_macro_callGVdfmc_macro_expander);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T13_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    T11.vector_element_[0] = fragment_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    T4 = KlistVKdI(&T11);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    T12_0 = APPLY4(T7, class_, &KJformat_arguments_, T4, T8);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    T14_0 = T12_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T12_0);
      primitive_type_check(T14_0, &KLnon_macro_in_template_macro_callGVdfmc_macro_expander);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T14_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM11I (dylan_value Pc_) {
  dylan_value T2;
  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/template-to-function.dylan:116
  T3 = primitive_next_methods_parameter();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T4 = SLOT_VALUE_INITD(Pc_, 7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T2 = CONGRUENT_CALL2(&KLppmlGVppml, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  SLOT_VALUE_SETTER(T2, Pc_, 7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T5 = primitive_idQ(T3,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  if (T5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    KerrorVKdMM1I(&K121, &KPempty_vectorVKi);
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    T6 = SLOT_VALUE_INITD(T3, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    T7 = SLOT_VALUE_INITD(T3, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
    MEP_CALL_PROLOG(T6, T7, 1);
    MEP_CALL1(T6, Pc_);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T8 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  MV_SET_COUNT(0);
  return(T8);
}

dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM0I (dylan_value subst_) {
  dylan_value T2;
  dylan_value T3_0;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7;
  DWORD T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:35
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  T7 = SLOT_VALUE_INITD(subst_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  T8 = primitive_cast_integer_as_raw(T7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  T9 = primitive_machine_word_less_thanQ(T8,1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  if (T9 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
    T10 = SLOT_VALUE_INITD(subst_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
    T11 = SLOT_VALUE_INITD(subst_, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
    T4 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF118, 2, T11, T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
    T5_0 = T4;
    T6_0 = T5_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
    T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF117, 1, T7);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
    T3_0 = T2;
    T6_0 = T3_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:35
  MV_SET_COUNT(1);
  return(T6_0);
}

dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM1I (dylan_value subst_) {
  dylan_value T2;
  dylan_value T3_0;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7;
  DWORD T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:43
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  T7 = SLOT_VALUE_INITD(subst_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  T8 = primitive_cast_integer_as_raw(T7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  T9 = primitive_machine_word_less_thanQ(T8,1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  if (T9 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
    T10 = SLOT_VALUE_INITD(subst_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
    T11 = SLOT_VALUE_INITD(subst_, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
    T4 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF111, 2, T11, T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
    T5_0 = T4;
    T6_0 = T5_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
    T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF110, 1, T7);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
    T3_0 = T2;
    T6_0 = T3_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:43
  MV_SET_COUNT(1);
  return(T6_0);
}

dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM2I (dylan_value subst_) {
  dylan_value T2;
  dylan_value T3_0;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7;
  DWORD T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:51
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  T7 = SLOT_VALUE_INITD(subst_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  T8 = primitive_cast_integer_as_raw(T7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  T9 = primitive_machine_word_less_thanQ(T8,1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  if (T9 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
    T10 = SLOT_VALUE_INITD(subst_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
    T11 = SLOT_VALUE_INITD(subst_, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
    T4 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF104, 2, T11, T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
    T5_0 = T4;
    T6_0 = T5_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
    T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF103, 1, T7);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
    T3_0 = T2;
    T6_0 = T3_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:51
  MV_SET_COUNT(1);
  return(T6_0);
}

dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM3I (dylan_value subst_) {
  dylan_value splicer_;
  dylan_value index_;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value name_;
  dylan_value loc_;
  dylan_value T8;
  dylan_value T9_0;
  dylan_value T10_0;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:59
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:62
  T11 = SLOT_VALUE_INITD(subst_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:63
  T12 = SLOT_VALUE_INITD(subst_, 4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:64
  T13 = SLOT_VALUE_INITD(subst_, 5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:65
  CONGRUENT_CALL_PROLOG(&Ksplicing_functionVdfmc_macro_expander, 1);
  splicer_ = CONGRUENT_CALL1(T11);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  index_ = CALL1(&Kelement_env_indexVdfmc_macro_expander, T11);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T14 = CONGRUENT_CALL2(index_, (dylan_value) 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  if (T14 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
    name_ = CALL1(&Kelement_variable_nameVdfmc_macro_expander, T11);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
    loc_ = CALL1(&Kelement_source_locationVdfmc_macro_expander, T11);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
    T8 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF96, 2, loc_, name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
    T9_0 = T8;
    T10_0 = T9_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
    T4 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF95, 4, T13, T12, index_, splicer_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
    T5_0 = T4;
    T10_0 = T5_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:59
  MV_SET_COUNT(1);
  return(T10_0);
}

dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM4I (dylan_value subst_) {
  dylan_value separator_;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T5;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8;
  dylan_value T9_0;
  dylan_value T10;
  dylan_value T11_0;
  dylan_value T12_0;
  dylan_value T13_0;
  dylan_value T14;
  dylan_value T15;
  DWORD T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  DWORD T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:86
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:89
  T14 = SLOT_VALUE_INITD(subst_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:90
  if (T14 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:91
    CONGRUENT_CALL_PROLOG(&Kgenerate_constructor_functionVdfmc_macro_expander, 1);
    separator_ = CONGRUENT_CALL1(T14);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
    T15 = SLOT_VALUE_INITD(subst_, 2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
    T16 = primitive_cast_integer_as_raw(T15);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
    T17 = primitive_machine_word_less_thanQ(T16,1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
    if (T17 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
      T18 = SLOT_VALUE_INITD(subst_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
      T19 = SLOT_VALUE_INITD(subst_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
      T5 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF71, 2, T19, T18);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
      T6_0 = T5;
      T7_0 = T6_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
      T3 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF70, 2, T15, separator_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
      T4_0 = T3;
      T7_0 = T4_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
    T13_0 = T7_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
    T20 = SLOT_VALUE_INITD(subst_, 2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
    T21 = primitive_cast_integer_as_raw(T20);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
    T22 = primitive_machine_word_less_thanQ(T21,1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
    if (T22 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
      T23 = SLOT_VALUE_INITD(subst_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
      T24 = SLOT_VALUE_INITD(subst_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
      T10 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF67, 2, T24, T23);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
      T11_0 = T10;
      T12_0 = T11_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
      T8 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF66, 1, T20);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
      T9_0 = T8;
      T12_0 = T9_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
    T13_0 = T12_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:90
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:86
  MV_SET_COUNT(1);
  return(T13_0);
}

dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM5I (dylan_value subst_) {
  dylan_value T2;
  dylan_value T3_0;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:103
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:106
  T4 = SLOT_VALUE(subst_, 4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:107
  T5 = SLOT_VALUE(subst_, 5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:108
  T6 = SLOT_VALUE(subst_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:109
  T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF55, 3, T6, T5, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:109
  T3_0 = T2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:103
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Kgenerate_substitution_functionVdfmc_macro_expanderMM6I (dylan_value subst_) {
  dylan_value T2;
  dylan_value T3_0;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:126
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:129
  T4 = SLOT_VALUE(subst_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:130
  T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_substitution_functionF45, 2, T4, subst_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:130
  T3_0 = T2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:126
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF45I (dylan_value env_) {
  dylan_value T1;
  dylan_value macro_fragment_;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failedQ_;
  dylan_value fT_;
  dylan_value expansion_;
  dylan_value T8;
  dylan_value T9_0;
  dylan_value T10_0;
  dylan_value T11_0;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  _KLsimple_object_vectorGVKd_4 T15 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:130
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:131
  primitive_type_check(CREF(0), &KLfunctionGVKd);
  T1 = CREF(0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:131
  macro_fragment_ = CALL1(T1, env_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:133
  CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(macro_fragment_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:133
  T4_0 = Kmatch_macro_constraintVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:132
  failedQ_ = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:132
  fT_ = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:132
  expansion_ = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:134
  if (failedQ_ != &KPfalseVKi) {
    T8 = failedQ_;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:134
    T12 = primitive_idQ(fT_,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:134
    T13 = primitive_not(T12);
    T8 = T13;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:134
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:134
  if (T8 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:136
    T14 = SLOT_VALUE_INITD(CREF(1), 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:135
    T15.vector_element_[0] = IKJsource_location_;
    T15.vector_element_[1] = T14;
    T15.vector_element_[2] = IKJfragment_;
    T15.vector_element_[3] = macro_fragment_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:135
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    T9_0 = CONGRUENT_CALL2(&KLnon_macro_in_template_macro_callGVdfmc_macro_expander, &T15);
    T11_0 = T9_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:139
    T10_0 = expansion_;
    T11_0 = T10_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:134
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:130
  MV_SET_COUNT(1);
  return(T11_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF55I (dylan_value env_) {
  dylan_value T1;
  dylan_value argument_;
  dylan_value rewrite_;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6_0;
  dylan_value T7_0;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:109
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:110
  primitive_type_check(CREF(0), &KLfunctionGVKd);
  T1 = CREF(0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:110
  argument_ = CALL1(T1, env_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:111
  rewrite_ = Klookup_aux_rule_functionVdfmc_macro_expanderI(CREF(2), CREF(1));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:112
  primitive_type_check(rewrite_, &KLfunctionGVKd);
  T4 = rewrite_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:112
  CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
  T5 = CONGRUENT_CALL1(argument_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:112
  T6_0 = CALL1(T4, T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:109
  T7_0 = T6_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:109
  MV_SET_COUNT(1);
  return(T7_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF71I (dylan_value env_) {
  dylan_value T1_0;
  dylan_value T2_0;
  _KLsimple_object_vectorGVKd_4 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
  T3.vector_element_[0] = IKJsource_location_;
  T3.vector_element_[1] = CREF(0);
  T3.vector_element_[2] = IKJvariable_name_;
  T3.vector_element_[3] = CREF(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
  CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
  T1_0 = CONGRUENT_CALL2(&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander, &T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
  T2_0 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
  MV_SET_COUNT(1);
  return(T2_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF70I (dylan_value env_) {
  dylan_value T1;
  dylan_value T2;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T5_0;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:94
  T1 = Klookup_matchVdfmc_macro_expanderI(env_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:94
  primitive_type_check(CREF(1), &KLfunctionGVKd);
  T2 = CREF(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:94
  T3 = CALL1(T2, env_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:93
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T4_0 = CONGRUENT_CALL2(T1, T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
  T5_0 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:92
  MV_SET_COUNT(1);
  return(T5_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF67I (dylan_value env_) {
  dylan_value T1_0;
  dylan_value T2_0;
  _KLsimple_object_vectorGVKd_4 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
  T3.vector_element_[0] = IKJsource_location_;
  T3.vector_element_[1] = CREF(0);
  T3.vector_element_[2] = IKJvariable_name_;
  T3.vector_element_[3] = CREF(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
  CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
  T1_0 = CONGRUENT_CALL2(&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander, &T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
  T2_0 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
  MV_SET_COUNT(1);
  return(T2_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF66I (dylan_value env_) {
  dylan_value T1;
  dylan_value T2_0;
  dylan_value T3_0;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:98
  T1 = Klookup_matchVdfmc_macro_expanderI(env_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:98
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequenceVdfmc_macro_expander, 1);
  T2_0 = CONGRUENT_CALL1(T1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
  T3_0 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:97
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF96I (dylan_value env_) {
  dylan_value T1_0;
  dylan_value T2_0;
  _KLsimple_object_vectorGVKd_4 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  T3.vector_element_[0] = IKJsource_location_;
  T3.vector_element_[1] = CREF(0);
  T3.vector_element_[2] = IKJvariable_name_;
  T3.vector_element_[3] = CREF(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
  T1_0 = CONGRUENT_CALL2(&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander, &T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  T2_0 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  MV_SET_COUNT(1);
  return(T2_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF95I (dylan_value env_) {
  dylan_value T1;
  dylan_value T2;
  dylan_value T3_0;
  dylan_value T4_0;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:67
  primitive_type_check(CREF(3), &KLfunctionGVKd);
  T1 = CREF(3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:67
  T2 = Klookup_matchVdfmc_macro_expanderI(env_, CREF(2));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:67
  T3_0 = CALL3(T1, CREF(1), T2, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  T4_0 = T3_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:66
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Ksplicing_functionVdfmc_macro_expanderMM0I (dylan_value subst_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:71
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:73
  T2_0 = &Ksubstitute_spliced_as_stringVdfmc_macro_expander;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:71
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Ksplicing_functionVdfmc_macro_expanderMM1I (dylan_value subst_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:76
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:78
  T2_0 = &Ksubstitute_spliced_as_symbolVdfmc_macro_expander;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:76
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Ksplicing_functionVdfmc_macro_expanderMM2I (dylan_value subst_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:83
  T2_0 = &Ksubstitute_spliced_as_nameVdfmc_macro_expander;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:81
  MV_SET_COUNT(1);
  return(T2_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF104I (dylan_value env_) {
  dylan_value T1_0;
  dylan_value T2_0;
  _KLsimple_object_vectorGVKd_4 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  T3.vector_element_[0] = IKJsource_location_;
  T3.vector_element_[1] = CREF(0);
  T3.vector_element_[2] = IKJvariable_name_;
  T3.vector_element_[3] = CREF(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
  T1_0 = CONGRUENT_CALL2(&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander, &T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  T2_0 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  MV_SET_COUNT(1);
  return(T2_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF103I (dylan_value env_) {
  dylan_value T1;
  dylan_value T2_0;
  dylan_value T3_0;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:55
  T1 = Klookup_matchVdfmc_macro_expanderI(env_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:55
  T2_0 = CALL1(&Ksubstitute_as_symbolVdfmc_macro_expanderMM0, T1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  T3_0 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:54
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF111I (dylan_value env_) {
  dylan_value T1_0;
  dylan_value T2_0;
  _KLsimple_object_vectorGVKd_4 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  T3.vector_element_[0] = IKJsource_location_;
  T3.vector_element_[1] = CREF(0);
  T3.vector_element_[2] = IKJvariable_name_;
  T3.vector_element_[3] = CREF(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
  T1_0 = CONGRUENT_CALL2(&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander, &T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  T2_0 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  MV_SET_COUNT(1);
  return(T2_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF110I (dylan_value env_) {
  dylan_value T1;
  dylan_value T2_0;
  dylan_value T3_0;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:47
  T1 = Klookup_matchVdfmc_macro_expanderI(env_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:47
  T2_0 = CALL1(&Ksubstitute_as_stringVdfmc_macro_expanderMM0, T1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  T3_0 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:46
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF118I (dylan_value env_) {
  dylan_value T1_0;
  dylan_value T2_0;
  _KLsimple_object_vectorGVKd_4 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  T3.vector_element_[0] = IKJsource_location_;
  T3.vector_element_[1] = CREF(0);
  T3.vector_element_[2] = IKJvariable_name_;
  T3.vector_element_[3] = CREF(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
  T1_0 = CONGRUENT_CALL2(&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander, &T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  T2_0 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  MV_SET_COUNT(1);
  return(T2_0);
}

static dylan_value Kanonymous_of_generate_substitution_functionF117I (dylan_value env_) {
  dylan_value T1;
  dylan_value T2_0;
  dylan_value T3_0;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:39
  T1 = Klookup_matchVdfmc_macro_expanderI(env_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:39
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T2_0 = CONGRUENT_CALL1(T1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  T3_0 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:38
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kanonymous_of_makeF126I (dylan_value Unext_method_argsU_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  DWORD T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  CAPTURE_ENVIRONMENT

  T6 = primitive_idQ(CREF(1),&KPempty_listVKi);
  if (T6 != &KPfalseVKi) {
    T14 = KerrorVKdMM1I(&K121, &KPempty_vectorVKi);
    T5 = T14;
  } else {
    T7 = SLOT_VALUE_INITD(Unext_method_argsU_, 0);
    T8 = primitive_cast_integer_as_raw(T7);
    T9 = primitive_machine_word_equalQ(T8,1);
    if (T9 != &KPfalseVKi) {
      T10 = SLOT_VALUE_INITD(CREF(1), 0);
      T11 = SLOT_VALUE_INITD(CREF(1), 1);
      MEP_CALL_PROLOG(T10, T11, 2);
      T2 = MEP_CALL2(T10, CREF(2), CREF(0));
      T4 = T2;
    } else {
      T12 = SLOT_VALUE_INITD(CREF(1), 0);
      T13 = SLOT_VALUE_INITD(CREF(1), 1);
      T3 = MEP_APPLY1(T12, T13, Unext_method_argsU_);
      T4 = T3;
    }
    T5 = T4;
  }
  return(T5);
}

dylan_value KLnon_macro_in_template_macro_callGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6;
  dylan_value init_argsF7;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T6 = primitive_copy_vector(init_args_);
  T3 = Kdefaulted_initialization_argumentsVKiI(&KLnon_macro_in_template_macro_callGVdfmc_macro_expander);
  init_argsF7 = Kconcatenate_2VKeMM1I(T6, T3);
  T4 = primitive_object_allocate_filled(9,&KLnon_macro_in_template_macro_callGVdfmc_macro_expanderW,8,&KPunboundVKi,0,0,&KPunboundVKi);
  APPLY2(&Kdefaulted_initializeF145, T4, init_argsF7);
  T5_0 = T4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  MV_SET_COUNT(1);
  return(T5_0);
}

static dylan_value Kdefaulted_initializeF145I (dylan_value object_, dylan_value init_args_, dylan_value Uunique_condition_format_string_, dylan_value Uunique_condition_format_arguments_, dylan_value Uunique_condition_source_location_, dylan_value Uunique_condition_program_note_creator_, dylan_value Uunique_condition_compilation_stage_, dylan_value Uunique_condition_context_id_, dylan_value Uunique_subnotes_, dylan_value Uunique_condition_fragment_) {
  dylan_value T11;
  dylan_value Uunique_condition_program_note_creatorF12;
  dylan_value T13;
  dylan_value Uunique_condition_compilation_stageF14;
  dylan_value T15;
  dylan_value Uunique_condition_fragmentF16;
  dylan_value Uunique_subnotesF17;
  dylan_value T18;
  dylan_value init_valueF19;
  dylan_value T20;
  dylan_value init_valueF21;
  dylan_value T22;
  _KLsimple_object_vectorGVKd_1 T23 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T24;
  dylan_value T25;

  T18 = primitive_idQ(Uunique_condition_program_note_creator_,&KPunboundVKi);
  if (T18 != &KPfalseVKi) {
    init_valueF19 = primitive_read_thread_variable(Tcurrent_dependentTVdfmc_common);
    T11 = init_valueF19;
    Uunique_condition_program_note_creatorF12 = T11;
  } else {
    Uunique_condition_program_note_creatorF12 = Uunique_condition_program_note_creator_;
  }
  T20 = primitive_idQ(Uunique_condition_compilation_stage_,&KPunboundVKi);
  if (T20 != &KPfalseVKi) {
    init_valueF21 = primitive_read_thread_variable(Tcurrent_stageTVdfmc_common);
    T13 = init_valueF21;
    Uunique_condition_compilation_stageF14 = T13;
  } else {
    Uunique_condition_compilation_stageF14 = Uunique_condition_compilation_stage_;
  }
  T22 = primitive_idQ(Uunique_condition_fragment_,&KPunboundVKi);
  if (T22 != &KPfalseVKi) {
    T23.vector_element_[0] = IKJfragment_;
    T24 = KerrorVKdMM1I(&K146, &T23);
    T15 = T24;
    Uunique_condition_fragmentF16 = T15;
  } else {
    Uunique_condition_fragmentF16 = Uunique_condition_fragment_;
  }
  SLOT_VALUE_SETTER(Uunique_condition_format_string_, object_, 0);
  SLOT_VALUE_SETTER(Uunique_condition_format_arguments_, object_, 1);
  SLOT_VALUE_SETTER(Uunique_condition_source_location_, object_, 2);
  SLOT_VALUE_SETTER(Uunique_condition_program_note_creatorF12, object_, 3);
  SLOT_VALUE_SETTER(Uunique_condition_compilation_stageF14, object_, 4);
  SLOT_VALUE_SETTER(Uunique_condition_context_id_, object_, 5);
  primitive_type_check(Uunique_subnotes_, &KLsequenceGVKd);
  Uunique_subnotesF17 = Uunique_subnotes_;
  SLOT_VALUE_SETTER(Uunique_subnotesF17, object_, 6);
  SLOT_VALUE_SETTER(Uunique_condition_fragmentF16, object_, 7);
  T25 = APPLY2(&KinitializeVKd, object_, init_args_);
  return(T25);
}

static dylan_value Kanonymous_of_makeF164I (dylan_value Unext_method_argsU_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  DWORD T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  CAPTURE_ENVIRONMENT

  T6 = primitive_idQ(CREF(1),&KPempty_listVKi);
  if (T6 != &KPfalseVKi) {
    T14 = KerrorVKdMM1I(&K121, &KPempty_vectorVKi);
    T5 = T14;
  } else {
    T7 = SLOT_VALUE_INITD(Unext_method_argsU_, 0);
    T8 = primitive_cast_integer_as_raw(T7);
    T9 = primitive_machine_word_equalQ(T8,1);
    if (T9 != &KPfalseVKi) {
      T10 = SLOT_VALUE_INITD(CREF(1), 0);
      T11 = SLOT_VALUE_INITD(CREF(1), 1);
      MEP_CALL_PROLOG(T10, T11, 2);
      T2 = MEP_CALL2(T10, CREF(2), CREF(0));
      T4 = T2;
    } else {
      T12 = SLOT_VALUE_INITD(CREF(1), 0);
      T13 = SLOT_VALUE_INITD(CREF(1), 1);
      T3 = MEP_APPLY1(T12, T13, Unext_method_argsU_);
      T4 = T3;
    }
    T5 = T4;
  }
  return(T5);
}

dylan_value KLsubstitution_of_unbound_pattern_variableGZ32ZconstructorVdfmc_macro_expanderMM0I (dylan_value class_, dylan_value init_args_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6;
  dylan_value init_argsF7;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T6 = primitive_copy_vector(init_args_);
  T3 = Kdefaulted_initialization_argumentsVKiI(&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander);
  init_argsF7 = Kconcatenate_2VKeMM1I(T6, T3);
  T4 = primitive_object_allocate_filled(9,&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expanderW,8,&KPunboundVKi,0,0,&KPunboundVKi);
  APPLY2(&Kdefaulted_initializeF190, T4, init_argsF7);
  T5_0 = T4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  MV_SET_COUNT(1);
  return(T5_0);
}

static dylan_value Kdefaulted_initializeF190I (dylan_value object_, dylan_value init_args_, dylan_value Uunique_condition_format_string_, dylan_value Uunique_condition_format_arguments_, dylan_value Uunique_condition_source_location_, dylan_value Uunique_condition_program_note_creator_, dylan_value Uunique_condition_compilation_stage_, dylan_value Uunique_condition_context_id_, dylan_value Uunique_subnotes_, dylan_value Uunique_condition_variable_name_) {
  dylan_value T11;
  dylan_value Uunique_condition_program_note_creatorF12;
  dylan_value T13;
  dylan_value Uunique_condition_compilation_stageF14;
  dylan_value T15;
  dylan_value Uunique_condition_variable_nameF16;
  dylan_value Uunique_subnotesF17;
  dylan_value T18;
  dylan_value init_valueF19;
  dylan_value T20;
  dylan_value init_valueF21;
  dylan_value T22;
  _KLsimple_object_vectorGVKd_1 T23 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T24;
  dylan_value T25;

  T18 = primitive_idQ(Uunique_condition_program_note_creator_,&KPunboundVKi);
  if (T18 != &KPfalseVKi) {
    init_valueF19 = primitive_read_thread_variable(Tcurrent_dependentTVdfmc_common);
    T11 = init_valueF19;
    Uunique_condition_program_note_creatorF12 = T11;
  } else {
    Uunique_condition_program_note_creatorF12 = Uunique_condition_program_note_creator_;
  }
  T20 = primitive_idQ(Uunique_condition_compilation_stage_,&KPunboundVKi);
  if (T20 != &KPfalseVKi) {
    init_valueF21 = primitive_read_thread_variable(Tcurrent_stageTVdfmc_common);
    T13 = init_valueF21;
    Uunique_condition_compilation_stageF14 = T13;
  } else {
    Uunique_condition_compilation_stageF14 = Uunique_condition_compilation_stage_;
  }
  T22 = primitive_idQ(Uunique_condition_variable_name_,&KPunboundVKi);
  if (T22 != &KPfalseVKi) {
    T23.vector_element_[0] = IKJvariable_name_;
    T24 = KerrorVKdMM1I(&K146, &T23);
    T15 = T24;
    Uunique_condition_variable_nameF16 = T15;
  } else {
    Uunique_condition_variable_nameF16 = Uunique_condition_variable_name_;
  }
  SLOT_VALUE_SETTER(Uunique_condition_format_string_, object_, 0);
  SLOT_VALUE_SETTER(Uunique_condition_format_arguments_, object_, 1);
  SLOT_VALUE_SETTER(Uunique_condition_source_location_, object_, 2);
  SLOT_VALUE_SETTER(Uunique_condition_program_note_creatorF12, object_, 3);
  SLOT_VALUE_SETTER(Uunique_condition_compilation_stageF14, object_, 4);
  SLOT_VALUE_SETTER(Uunique_condition_context_id_, object_, 5);
  primitive_type_check(Uunique_subnotes_, &KLsequenceGVKd);
  Uunique_subnotesF17 = Uunique_subnotes_;
  SLOT_VALUE_SETTER(Uunique_subnotesF17, object_, 6);
  SLOT_VALUE_SETTER(Uunique_condition_variable_nameF16, object_, 7);
  T25 = APPLY2(&KinitializeVKd, object_, init_args_);
  return(T25);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJsource_location_);
    if (T0 != &KJsource_location_) {
      primitive_repeated_slot_value_setter(T0, &K193, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K192, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K157, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 4);
      IKJsource_location_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJfragment_);
    if (T0 != &KJfragment_) {
      primitive_repeated_slot_value_setter(T0, &K157, 1, 7);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 14);
      IKJfragment_ = T0;
      primitive_repeated_slot_value_setter(T0, &K131, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K129, 1, 0);
      primitive_slot_value_setter(T0, &Kcondition_fragmentVdfmc_macro_expanderHLnon_macro_in_template_macro_callG, 3);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJvariable_name_);
    if (T0 != &KJvariable_name_) {
      primitive_repeated_slot_value_setter(T0, &K193, 1, 7);
      primitive_repeated_slot_value_setter(T0, &K192, 1, 14);
      IKJvariable_name_ = T0;
      primitive_slot_value_setter(T0, &Kcondition_variable_nameVdfmc_macro_expanderHLsubstitution_of_unbound_pattern_variableG, 3);
      primitive_repeated_slot_value_setter(T0, &K168, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K166, 1, 0);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJprogram_note_creator_);
    if (T0 != &KJprogram_note_creator_) {
      primitive_repeated_slot_value_setter(T0, &K193, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K192, 1, 6);
      primitive_repeated_slot_value_setter(T0, &K157, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 6);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJcompilation_stage_);
    if (T0 != &KJcompilation_stage_) {
      primitive_repeated_slot_value_setter(T0, &K193, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K192, 1, 8);
      primitive_repeated_slot_value_setter(T0, &K157, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 8);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJcontext_id_);
    if (T0 != &KJcontext_id_) {
      primitive_repeated_slot_value_setter(T0, &K193, 1, 5);
      primitive_repeated_slot_value_setter(T0, &K192, 1, 10);
      primitive_repeated_slot_value_setter(T0, &K157, 1, 5);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 10);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsubnotes_);
    if (T0 != &KJsubnotes_) {
      primitive_repeated_slot_value_setter(T0, &K193, 1, 6);
      primitive_repeated_slot_value_setter(T0, &K192, 1, 12);
      primitive_repeated_slot_value_setter(T0, &K157, 1, 6);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 12);
    }
  }
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T0 = KPadd_classVKeI(&KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander);
  goto I0;
}
I0:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T0 = KPadd_classVKeI(&KLnon_macro_in_template_macro_callGVdfmc_macro_expander);
  goto I9;
}
I9:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_macro_expander__X_template_to_function_for_user () {
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T0 = KPadd_a_methodVKnI(&KmakeVKd, &KmakeVKdMdfmc_macro_expanderM9, &Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I5;
}
I5:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:9
  T0 = KPadd_a_methodVKnI(&Kconvert_condition_slots_to_ppmlVdfmc_conditions, &Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM10, &Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I8;
}
I8:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T0 = KPadd_a_methodVKnI(&KmakeVKd, &KmakeVKdMdfmc_macro_expanderM10, &Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I14;
}
I14:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/template-to-function.dylan:116
  T0 = KPadd_a_methodVKnI(&Kconvert_condition_slots_to_ppmlVdfmc_conditions, &Kconvert_condition_slots_to_ppmlVdfmc_conditionsMdfmc_macro_expanderM11, &Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I17;
}
I17:

  return;
}


/* eof */
