#include "run-time.h"

/* Typedefs for referenced classes */

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

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

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

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

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

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

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

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

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

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

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

typedef struct {
  D wrapper;
} _KLsequenceGVKd;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(28);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(3);
define__KLbyte_stringGVKd(1);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(0);

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_values_;
} _KLsignatureAvaluesGVKi;

typedef struct {
  D wrapper;
  D private_shadowable_form_init_method_;
  D private_shadowable_form_system_init_method_;
  D shadowable_form_properties_flags_;
  D form_compilation_record_;
  D private_form_source_location_;
  D private_form_parent_form_;
  D form_sequence_number_;
  D private_form_dependencies_;
  D private_form_referenced_variables_;
  D private_form_adjectives_;
  D private_form_variable_name_or_names_;
  D form_properties_;
  D private_form_signature_;
  D private_form_body_;
  D private_form_type_expressions_;
  D private_form_bindings_spec_;
  D private_form_init_expression_;
} _KLconstant_method_definitionGVdfmc_definitions;

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

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

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

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

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

typedef struct {
  D wrapper;
} _KLstringGVKd;

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D users_;
} _KLBmethodGVdfmc_modeling;

typedef struct {
  D wrapper;
  D private_shadowable_form_init_method_;
  D private_shadowable_form_system_init_method_;
  D shadowable_form_properties_flags_;
  D form_compilation_record_;
  D private_form_source_location_;
  D private_form_parent_form_;
  D form_sequence_number_;
  D private_form_dependencies_;
  D private_form_referenced_variables_;
  D private_form_adjectives_;
  D private_form_variable_name_or_names_;
  D form_properties_;
  D private_form_type_expressions_;
  D private_form_bindings_spec_;
  D private_form_init_expression_;
} _KLbinding_defining_formGVdfmc_definitions;

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D Csignature_properties_;
  D Csignature_required_;
} _KLBsignatureGVdfmc_modeling;

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D Cnamespace_name_;
} _KLBnamespaceGVdfmc_modeling;

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D PinstanceQ_iep_;
  D CinstanceQ_function_;
} _KLBtypeGVdfmc_modeling;

typedef struct {
  D wrapper;
  D private_shadowable_form_init_method_;
  D private_shadowable_form_system_init_method_;
  D shadowable_form_properties_flags_;
  D form_compilation_record_;
  D private_form_source_location_;
  D private_form_parent_form_;
  D form_sequence_number_;
  D private_form_dependencies_;
  D private_form_referenced_variables_;
  D private_form_adjectives_;
  D private_form_variable_name_or_names_;
  D form_properties_;
  D private_form_type_expressions_;
  D private_form_bindings_spec_;
  D private_form_init_expression_;
} _KLbooted_constant_definitionGVdfmc_definitions;

typedef struct {
  D wrapper;
  D private_shadowable_form_init_method_;
  D private_shadowable_form_system_init_method_;
  D shadowable_form_properties_flags_;
  D form_compilation_record_;
  D private_form_source_location_;
  D private_form_parent_form_;
  D form_sequence_number_;
  D private_form_dependencies_;
  D private_form_referenced_variables_;
  D private_form_adjectives_;
  D form_namespace_name_;
  D private_form_use_clauses_;
  D private_form_create_clauses_;
  D private_form_export_clauses_;
} _KLnamespace_defining_formGVdfmc_definitions;

typedef struct {
  D wrapper;
  D private_shadowable_form_init_method_;
  D private_shadowable_form_system_init_method_;
  D shadowable_form_properties_flags_;
  D form_compilation_record_;
  D private_form_source_location_;
  D private_form_parent_form_;
  D form_sequence_number_;
  D private_form_dependencies_;
  D private_form_referenced_variables_;
  D private_form_adjectives_;
  D private_form_variable_name_or_names_;
  D form_properties_;
  D private_form_type_expressions_;
  D private_form_bindings_spec_;
  D private_form_init_expression_;
} _KLliteral_value_binding_defining_formGVdfmc_definitions;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D fixed_values_;
  D rest_value_;
} _KLvaluesGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
} _KLreturnGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D element_type_;
  D table_vector_;
  D initial_entries_;
  D grow_size_function_;
  D weakQ_;
} _KLobject_tableGVKd;

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

typedef struct {
  D wrapper;
  D private_spec_variable_name_;
} _KLrest_variable_specGVdfmc_definitions;

typedef struct {
  D wrapper;
  D private_spec_variable_name_;
} _KLrequired_variable_specGVdfmc_definitions;

typedef struct {
  D wrapper;
  D private_spec_variable_name_;
} _KLvariable_specGVdfmc_definitions;

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


/* Typedefs for defined classes */


/* Referenced object declarations */

D KPadd_a_methodVKnI (D, D, D, D, D, D);
extern _KLsealed_generic_functionGVKe Kcompute_and_install_form_model_objectsVdfmc_common;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLlibraryGVKe Kdfmc_conversion_libraryYdylan_userVdfmc_conversion;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLsealed_generic_functionGVKe Kform_top_level_methodsVdfmc_common;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
D Kform_variable_bindingVdfmc_namespaceMM0I (D);
extern _KLsimple_methodGVKe Kuntracked_binding_model_object_if_computedVdfmc_namespace;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLkeyword_methodGVKe Kuntracked_binding_definitionVdfmc_namespaceMM0;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLsymbolGVKd KJdefault_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
D KlistVKdI (D);
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
D KerrorVKdMM1I (D, D);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LsequenceG_typesVKi;
extern _KLclassGVKd KLconstant_method_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLconstant_method_definitionGVdfmc_definitionsW;
D Kform_evaluation_tried_and_failedQ_setterVdfmc_commonMM0I (D, D);
extern _KLsealed_generic_functionGVKe Kform_dynamicQVdfmc_common;
extern _KLsealed_generic_functionGVKe Kform_redefinitionQVdfmc_common;
extern _KLsealed_generic_functionGVKe Kform_variable_nameVdfmc_common;
D Kform_defines_variableQVdfmc_namespaceI (D, D);
extern _KLsealed_generic_functionGVKe Kcompute_form_model_objectVdfmc_common;
extern _KLsealed_generic_functionGVKe Klambda_top_levelQ_setterVdfmc_modeling;
D Kdefine_model_objectVdfmc_namespaceMM0I (D, D);
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLsealed_generic_functionGVKe Kform_threadQVdfmc_common;
D Kform_init_expressionVdfmc_definitionsMM0I (D);
extern _KLsealed_generic_functionGVKe Kfragment_valueVdfmc_reader;
extern _KLsealed_generic_functionGVKe Kmake_compile_time_literalVdfmc_modeling;
D Kform_bindings_specVdfmc_definitionsMM0I (D);
extern _KLsealed_generic_functionGVKe Kspec_value_required_variable_specsVdfmc_definitions;
extern _KLsealed_generic_functionGVKe KfirstVKd;
extern _KLsealed_generic_functionGVKe Kspec_type_expressionVdfmc_definitions;
extern _KLkeyword_methodGVKe Klookup_constant_model_objectVdfmc_conversionMM0;
extern _KLsealed_generic_functionGVKe KCinstanceQVdfmc_modeling;
D Kdefine_model_object_and_typeVdfmc_namespaceMM0I (D, D, D);
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
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 KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
D Kmodel_has_definitionQVdfmc_commonI (D);
extern _KLsealed_generic_functionGVKe Kmodel_definition_setterVdfmc_common;
extern _KLsealed_generic_functionGVKe KCdebug_nameVdfmc_modeling;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLincremental_generic_functionGVKe Kas_lowercaseVKd;
extern _KLsealed_generic_functionGVKe Kmapped_modelVdfmc_common;
extern _KLsealed_generic_functionGVKe KCdebug_name_setterVdfmc_modeling;
extern _KLclassGVKd KLBmethodGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBmethodGVdfmc_modelingW;
extern _KLclassGVKd KLbinding_defining_formGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLbinding_defining_formGVdfmc_definitionsW;
extern _KLclassGVKd KLBsignatureGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBsignatureGVdfmc_modelingW;
extern _KLclassGVKd KLBnamespaceGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBnamespaceGVdfmc_modelingW;
extern _KLclassGVKd KLBtypeGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBtypeGVdfmc_modelingW;
extern _KLclassGVKd KLbooted_constant_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLbooted_constant_definitionGVdfmc_definitionsW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_no_rest_value_3VKi;
D Kform_parent_formVdfmc_commonMM0I (D);
extern _KLclassGVKd KLnamespace_defining_formGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLnamespace_defining_formGVdfmc_definitionsW;
extern _KLclassGVKd KLliteral_value_binding_defining_formGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLliteral_value_binding_defining_formGVdfmc_definitionsW;
extern _KLsealed_generic_functionGVKe Kform_variable_namesVdfmc_common;
extern _KLkeyword_methodGVKe Kconvert_top_level_initializerVdfmc_conversionMM0;
extern _KLsymbolGVKd KJdebug_name_;
extern _KLsealed_generic_functionGVKe Kmaybe_compute_and_install_method_dfmVdfmc_conversion;
extern _KLsimple_methodGVKe Ktype_initializer_methodVdfmc_typistMM0;
extern _KLincremental_generic_functionGVKe Krun_compilation_passesVdfmc_common;
D Kform_init_method_setterVdfmc_commonMM0I (D, D);
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLsimple_methodGVKe Klookup_bindingVdfmc_namespaceMM0;
extern _KLsealed_generic_functionGVKe KbodyVdfmc_modeling;
extern _KLsealed_generic_functionGVKe Knext_computationVdfmc_flow_graph;
extern _KLclassGVKd KLvaluesGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLvaluesGVdfmc_flow_graphW;
extern _KLsealed_generic_functionGVKe Krest_valueVdfmc_flow_graph;
extern _KLclassGVKd KLreturnGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLreturnGVdfmc_flow_graphW;
extern _KLsealed_generic_functionGVKe KmapVKd;
extern _KLincremental_generic_functionGVKe Kreduce1VKd;
extern _KLsealed_generic_functionGVKe KconcatenateVKd;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
D Kconcatenate_2VKeMM1I (D, D);
extern _KLsealed_generic_functionGVKe Kform_source_locationVdfmc_common;
extern _KLsealed_generic_functionGVKe Kform_compilation_recordVdfmc_common;
extern _KLsealed_generic_functionGVKe Ksource_location_source_positionVdfmc_reader;
D KLobject_tableGZ32ZconstructorVKiMM0I (D, D, D, D, D, D);
extern _KLclassGVKd KLobject_tableGVKd;
extern _KLmm_wrapperGVKi_0 KLobject_tableGVKdW;
extern _KLsimple_methodGVKe Kdefault_grow_sizeVKe;
extern _KLincremental_generic_functionGVKe Kremove_all_keysXVKe;
extern _KLsimple_methodGVKe Kspec_value_restQVdfmc_definitions;
extern _KLsealed_generic_functionGVKe Kspec_value_rest_variable_specVdfmc_definitions;
extern _KLincremental_generic_functionGVKe Ktype_for_copyVKd;
extern _KLsealed_generic_functionGVKe Kmap_as_oneVKi;
D KmapVKdMM0I (D, D, D);
extern _KLsealed_generic_functionGVKe Ksubstitute_sequenceVdfmc_macro_expander;
D Kmake_name_fragmentVdfmc_macro_expanderI (D);
D Kmake_comma_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Ksubstitute_sequence_separatedVdfmc_macro_expander;
D Kmake_parens_fragmentVdfmc_macro_expanderI (D);
D Kmake_equal_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Kimport_to_templateVdfmc_macro_expander;
D Kmake_semicolon_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Kmaybe_substitute_separatorVdfmc_macro_expander;
D Kmake_templateVdfmc_macro_expanderI (D);
extern _KLsealed_generic_functionGVKe Kas_bodyVdfmc_definitions;
D Kmake_colon_colon_fragmentVdfmc_macro_expanderI ();
D Kspec_variable_nameVdfmc_definitionsMM0I (D);
D Kmake_hash_rest_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Ksubstitute_spliced_as_nameVdfmc_macro_expander;
extern _KLbyte_stringGVKd_0 KPempty_stringVKi;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLclassGVKd KLrest_variable_specGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLrest_variable_specGVdfmc_definitionsW;
extern _KLclassGVKd KLrequired_variable_specGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLrequired_variable_specGVdfmc_definitionsW;
extern _KLclassGVKd KLvariable_specGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLvariable_specGVdfmc_definitionsW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
D Kmethod_fragmentQVdfmc_definitionsI (D);
extern _KLsealed_generic_functionGVKe Kfragment_argumentVdfmc_reader;
D Kmake_literal_fragmentVdfmc_macro_expanderMM0I (D);
extern _KLclassGVKd KLfragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLfragmentGVdfmc_readerW;
extern _KLsymbolGVKd KJend_;
extern _KLsimple_methodGVKe Kform_init_expressionVdfmc_definitionsMM0;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
D Kmake_literal_fragmentVdfmc_macro_expanderMM4I (D);
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern D Texpansion_source_locationTVdfmc_macro_expander;
extern D Texpansion_fragment_cacheTVdfmc_macro_expander;
extern D Dshared_expansion_fragment_cacheVdfmc_macro_expander;

/* Defined object declarations */

extern _KLsimple_methodGVKe Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM5;
D Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM5I (D);
extern _KLsimple_methodGVKe Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM6;
D Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM6I (D);
extern _KLsimple_methodGVKe Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM7;
D Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM7I (D);
extern _KLsimple_methodGVKe Kform_top_level_methodsVdfmc_commonMdfmc_conversionM1;
D Kform_top_level_methodsVdfmc_commonMdfmc_conversionM1I (D);
static _KLbyte_stringGVKd_15 K12;
static _KLsignatureAvaluesGVKi K13;
static _KLsimple_object_vectorGVKd_1 K14;
static D Kanonymous_of_compute_and_install_form_model_objectsF16I (D, D, D);
static _KLsignatureGVKe K17;
D Kform_required_staticQVdfmc_conversionMM0I (D);
static D Kanonymous_of_compute_and_install_form_model_objectsF50I (D, D, D);
extern _KLsealed_generic_functionGVKe Kinstall_definitionVdfmc_conversion;
extern _KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM0;
D Kinstall_definitionVdfmc_conversionMM0I (D, D, D);
extern _KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM1;
D Kinstall_definitionVdfmc_conversionMM1I (D, D, D);
extern _KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM2;
D Kinstall_definitionVdfmc_conversionMM2I (D, D, D);
extern _KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM3;
D Kinstall_definitionVdfmc_conversionMM3I (D, D, D);
extern _KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM4;
D Kinstall_definitionVdfmc_conversionMM4I (D, D, D);
extern _KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM5;
D Kinstall_definitionVdfmc_conversionMM5I (D, D, D);
static _KLpairGVKd K33;
static _KLpairGVKd K34;
static _KLpairGVKd K35;
static _KLpairGVKd K36;
static _KLpairGVKd K37;
static _KLpairGVKd K38;
static _KLbyte_stringGVKd_18 K39;
static _KLsignatureGVKe K40;
static _KLsimple_object_vectorGVKd_3 K41;
static _KLsignatureGVKe K42;
static _KLsimple_object_vectorGVKd_3 K43;
static _KLsignatureGVKe K44;
static _KLsimple_object_vectorGVKd_3 K45;
static _KLsignatureGVKe K46;
static _KLsimple_object_vectorGVKd_3 K47;
static _KLsignatureGVKe K48;
static _KLsimple_object_vectorGVKd_3 K49;
static _KLsignatureGVKe K51;
static _KLsimple_object_vectorGVKd_1 K52;
D Kgenerate_binding_defining_fragmentVdfmc_conversionMM0I (D);
D Kgenerate_variable_names_debug_nameVdfmc_conversionMM0I (D);
D Kempty_methodQVdfmc_conversionI (D);
static _KLsymbolGVKd KJreferenceQ_;
static _KLbyte_stringGVKd_10 K57;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_variable_names_debug_nameF65;
static D Kanonymous_of_generate_variable_names_debug_nameF65I (D);
static _KLsimple_closure_methodGVKi_0 KspliceF63;
static D KspliceF63I (D, D);
static _KLbyte_stringGVKd_12 K62;
static _KLbyte_stringGVKd_1 K64;
static _KLsignatureGVKe K66;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_binding_defining_fragmentF71;
static D Kanonymous_of_generate_binding_defining_fragmentF71I ();
static D Kanonymous_of_generate_binding_defining_fragmentF70I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_binding_defining_fragmentF116;
static D Kanonymous_of_generate_binding_defining_fragmentF116I (D);
extern _KLsealed_generic_functionGVKe Kform_init_binding_expressionVdfmc_conversion;
extern _KLsimple_methodGVKe Kgenerate_type_bindingVdfmc_conversionMM0;
D Kgenerate_type_bindingVdfmc_conversionMM0I (D);
extern _KLsealed_generic_functionGVKe Kgenerate_tmp_bindingVdfmc_conversion;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_binding_defining_fragmentF82;
static D Kanonymous_of_generate_binding_defining_fragmentF82I (D, D);
static _KLsymbolGVKd KJlet_;
static _KLbyte_stringGVKd_3 K81;
static _KLsymbolGVKd KJLtypeG_;
static _KLbyte_stringGVKd_6 K84;
extern _KLsimple_methodGVKe Kgenerate_tmp_bindingVdfmc_conversionMM0;
D Kgenerate_tmp_bindingVdfmc_conversionMM0I (D, D);
extern _KLsimple_methodGVKe Kgenerate_tmp_bindingVdfmc_conversionMM1;
D Kgenerate_tmp_bindingVdfmc_conversionMM1I (D, D);
static _KLpairGVKd K89;
static _KLpairGVKd K90;
static _KLbyte_stringGVKd_20 K91;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K92;
static _KLbyte_stringGVKd_4 K93;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K94;
static _KLsignatureGVKe K95;
static _KLsimple_object_vectorGVKd_2 K96;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K97;
static _KLsignatureGVKe K98;
static _KLsimple_object_vectorGVKd_2 K99;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K100;
static _KLbyte_stringGVKd_1 K101;
static _KLbyte_stringGVKd_6 K102;
static _KLsignatureGVKe K103;
static _KLsimple_object_vectorGVKd_1 K104;
extern _KLsimple_methodGVKe Kform_init_binding_expressionVdfmc_conversionMM0;
D Kform_init_binding_expressionVdfmc_conversionMM0I (D);
extern _KLsimple_methodGVKe Kform_init_binding_expressionVdfmc_conversionMM1;
D Kform_init_binding_expressionVdfmc_conversionMM1I (D);
static _KLpairGVKd K109;
static _KLpairGVKd K110;
static _KLbyte_stringGVKd_28 K111;
static _KLsymbolGVKd KJconstant_method_;
static _KLbyte_stringGVKd_15 K113;
static _KLsignatureGVKe K114;
static _KLsignatureGVKe K115;
extern _KLsimple_methodGVKe Kgenerate_binding_initVdfmc_conversionMM0;
D Kgenerate_binding_initVdfmc_conversionMM0I (D, D, D);
static _KLsymbolGVKd KJPinitialize_binding_type_;
static _KLsymbolGVKd KJPinitialize_binding_;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K121;
static _KLbyte_stringGVKd_19 K122;
static _KLbyte_stringGVKd_24 K123;
static _KLsignatureGVKe K124;
static _KLsimple_object_vectorGVKd_3 K125;
static _KLsignatureGVKe K126;
static _KLsignatureGVKe K127;
static _KLsimple_object_vectorGVKd_1 K128;
extern _KLsimple_methodGVKe Kempty_methodQVdfmc_conversion;
static _KLsignatureAvaluesGVKi K130;
static _KLsimple_object_vectorGVKd_1 K131;

/* Indirection variables */

static D IKJreferenceQ_ = &KJreferenceQ_;
static D IKJlet_ = &KJlet_;
static D IKJLtypeG_ = &KJLtypeG_;
static D IKJconstant_method_ = &KJconstant_method_;
static D IKJPinitialize_binding_type_ = &KJPinitialize_binding_type_;
static D IKJPinitialize_binding_ = &KJPinitialize_binding_;

/* Variables */

D empty_methodQVdfmc_conversion = &Kempty_methodQVdfmc_conversion;

/* Objects */

_KLsimple_methodGVKe Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K127,
  &Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM5I
};

_KLsimple_methodGVKe Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K51,
  &Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM6I
};

_KLsimple_methodGVKe Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM7 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K17,
  &Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM7I
};

_KLsimple_methodGVKe Kform_top_level_methodsVdfmc_commonMdfmc_conversionM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K13,
  &Kform_top_level_methodsVdfmc_commonMdfmc_conversionM1I
};

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

static _KLsignatureAvaluesGVKi K13 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 37749765,
  &K14,
  &KDsignature_LsequenceG_typesVKi
};

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

static _KLsignatureGVKe K17 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 46137349,
  &K14
};

_KLsealed_generic_functionGVKe Kinstall_definitionVdfmc_conversion = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 1,
  &K39,
  &K33,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &KDsignature_LobjectG_no_rest_value_3VKi,
  &Kinstall_definitionVdfmc_conversionMM0I
};

_KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K48,
  &Kinstall_definitionVdfmc_conversionMM1I
};

_KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K46,
  &Kinstall_definitionVdfmc_conversionMM2I
};

_KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K44,
  &Kinstall_definitionVdfmc_conversionMM3I
};

_KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K42,
  &Kinstall_definitionVdfmc_conversionMM4I
};

_KLsimple_methodGVKe Kinstall_definitionVdfmc_conversionMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K40,
  &Kinstall_definitionVdfmc_conversionMM5I
};

static _KLpairGVKd K33 = {
  &KLpairGVKdW /* wrapper */,
  &Kinstall_definitionVdfmc_conversionMM0,
  &K34
};

static _KLpairGVKd K34 = {
  &KLpairGVKdW /* wrapper */,
  &Kinstall_definitionVdfmc_conversionMM1,
  &K35
};

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

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

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

static _KLpairGVKd K38 = {
  &KLpairGVKdW /* wrapper */,
  &Kinstall_definitionVdfmc_conversionMM5,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_18 K39 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "install-definition"
};

static _KLsignatureGVKe K40 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K41
};

static _KLsimple_object_vectorGVKd_3 K41 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLBmethodGVdfmc_modeling,
  &KLbinding_defining_formGVdfmc_definitions,
  &KLobjectGVKd
};

static _KLsignatureGVKe K42 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K43
};

static _KLsimple_object_vectorGVKd_3 K43 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLBsignatureGVdfmc_modeling,
  &KLbinding_defining_formGVdfmc_definitions,
  &KLobjectGVKd
};

static _KLsignatureGVKe K44 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K45
};

static _KLsimple_object_vectorGVKd_3 K45 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLBnamespaceGVdfmc_modeling,
  &KLbinding_defining_formGVdfmc_definitions,
  &KLobjectGVKd
};

static _KLsignatureGVKe K46 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K47
};

static _KLsimple_object_vectorGVKd_3 K47 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLBtypeGVdfmc_modeling,
  &KLbinding_defining_formGVdfmc_definitions,
  &KLobjectGVKd
};

static _KLsignatureGVKe K48 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K49
};

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

static _KLsignatureGVKe K51 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 46137349,
  &K52
};

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

static _KLsymbolGVKd KJreferenceQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K57
};

static _KLbyte_stringGVKd_10 K57 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "reference?"
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_variable_names_debug_nameF65 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K66,
  &Kanonymous_of_generate_variable_names_debug_nameF65I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 KspliceF63 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KspliceF63I,
  (D) 1
};

static _KLbyte_stringGVKd_12 K62 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "-initializer"
};

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

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_binding_defining_fragmentF71 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K126,
  &Kanonymous_of_generate_binding_defining_fragmentF71I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_binding_defining_fragmentF116 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K66,
  &Kanonymous_of_generate_binding_defining_fragmentF116I,
  (D) 1
};

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

_KLsimple_methodGVKe Kgenerate_type_bindingVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K103,
  &Kgenerate_type_bindingVdfmc_conversionMM0I
};

_KLsealed_generic_functionGVKe Kgenerate_tmp_bindingVdfmc_conversion = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K91,
  &K89,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_generate_binding_defining_fragmentF82 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kanonymous_of_generate_binding_defining_fragmentF82I,
  (D) 1
};

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

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

static _KLsymbolGVKd KJLtypeG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K84
};

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

_KLsimple_methodGVKe Kgenerate_tmp_bindingVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K98,
  &Kgenerate_tmp_bindingVdfmc_conversionMM0I
};

_KLsimple_methodGVKe Kgenerate_tmp_bindingVdfmc_conversionMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K95,
  &Kgenerate_tmp_bindingVdfmc_conversionMM1I
};

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

static _KLpairGVKd K90 = {
  &KLpairGVKdW /* wrapper */,
  &Kgenerate_tmp_bindingVdfmc_conversionMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K91 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "generate-tmp-binding"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K92 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 327737,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Ksubstitute_spliced_as_nameVdfmc_macro_expander
};

static _KLbyte_stringGVKd_4 K93 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "-tmp"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K94 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 327737,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Ksubstitute_spliced_as_nameVdfmc_macro_expander
};

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

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

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K97 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 327737,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Ksubstitute_spliced_as_nameVdfmc_macro_expander
};

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

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

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K100 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 327737,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Ksubstitute_spliced_as_nameVdfmc_macro_expander
};

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

static _KLbyte_stringGVKd_6 K102 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "-type_"
};

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

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

_KLsimple_methodGVKe Kform_init_binding_expressionVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K115,
  &Kform_init_binding_expressionVdfmc_conversionMM0I
};

_KLsimple_methodGVKe Kform_init_binding_expressionVdfmc_conversionMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K114,
  &Kform_init_binding_expressionVdfmc_conversionMM1I
};

static _KLpairGVKd K109 = {
  &KLpairGVKdW /* wrapper */,
  &Kform_init_binding_expressionVdfmc_conversionMM0,
  &K110
};

static _KLpairGVKd K110 = {
  &KLpairGVKdW /* wrapper */,
  &Kform_init_binding_expressionVdfmc_conversionMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_28 K111 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 113,
  "form-init-binding-expression"
};

static _KLsymbolGVKd KJconstant_method_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K113
};

static _KLbyte_stringGVKd_15 K113 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "constant-method"
};

static _KLsignatureGVKe K114 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &K14
};

static _KLsignatureGVKe K115 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &KDsignature_LobjectG_typesVKi
};

_KLsimple_methodGVKe Kgenerate_binding_initVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K124,
  &Kgenerate_binding_initVdfmc_conversionMM0I
};

static _KLsymbolGVKd KJPinitialize_binding_type_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K123
};

static _KLsymbolGVKd KJPinitialize_binding_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K122
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K121 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 327737,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Ksubstitute_spliced_as_nameVdfmc_macro_expander
};

static _KLbyte_stringGVKd_19 K122 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "%initialize-binding"
};

static _KLbyte_stringGVKd_24 K123 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "%initialize-binding-type"
};

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

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

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

static _KLsignatureGVKe K127 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943045,
  &K128
};

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

_KLsimple_methodGVKe Kempty_methodQVdfmc_conversion = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K130,
  &Kempty_methodQVdfmc_conversionI
};

static _KLsignatureAvaluesGVKi K130 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K131,
  &KDsignature_LbooleanG_typesVKi
};

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

/* Code */

D Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM5I (D form_) {
  D names_;
  D T3;
  D T4;
  D T5;
  D init_model_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14T, T14;
  D T15;
  D T16;
  D T17;
  D binding_;
  D T19_0;
  D T19_1;
  D model_object_;
  D computedQ_;
  D T22;
  D T23;
  D completeQ_;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:64
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:66
  CONGRUENT_CALL_PROLOG(&Kform_variable_namesVdfmc_common, 1);
  names_ = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:69
  T3 = Kgenerate_binding_defining_fragmentVdfmc_conversionMM0I(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:71
  T4 = Kgenerate_variable_names_debug_nameVdfmc_conversionMM0I(names_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:68
  T5 = CALL3(&Kconvert_top_level_initializerVdfmc_conversionMM0, T3, &KJdebug_name_, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:67
  primitive_type_check(T5, &KLBmethodGVdfmc_modeling);
  init_model_ = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:72
  CONGRUENT_CALL_PROLOG(&Kmaybe_compute_and_install_method_dfmVdfmc_conversion, 1);
  CONGRUENT_CALL1(init_model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:74
  CALL1(&Ktype_initializer_methodVdfmc_typistMM0, init_model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:75
  CONGRUENT_CALL_PROLOG(&Krun_compilation_passesVdfmc_common, 1);
  CONGRUENT_CALL1(init_model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:72
  completeQ_ = &KPtrueVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:77
  T7 = Kempty_methodQVdfmc_conversionI(init_model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:77
  if (T7 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:78
    Kform_init_method_setterVdfmc_commonMM0I(init_model_, form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:79
    completeQ_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:77
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T8 = CONGRUENT_CALL1(names_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
  T9 = T8;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
  T10 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
  T11 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
  T12 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
  T13 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
  T14T = T9;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
    T14 = T14T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
    T15 = CALL3(T12, names_, T14, T10);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
    if (T15 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
      T16 = CALL2(T13, names_, T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:83
      T17 = Kform_defines_variableQVdfmc_namespaceI(form_, T16);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:83
      if (T17 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:84
        binding_ = CALL3(&Klookup_bindingVdfmc_namespaceMM0, T16, IKJreferenceQ_, &KPfalseVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:86
        T19_0 = CALL1(&Kuntracked_binding_model_object_if_computedVdfmc_namespace, binding_);
        T19_1 = MV_GET_ELT(1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:85
        model_object_ = T19_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:85
        computedQ_ = T19_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:87
        if (computedQ_ != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:88
          CONGRUENT_CALL_PROLOG(&Kinstall_definitionVdfmc_conversion, 3);
          CONGRUENT_CALL3(model_object_, form_, T16);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:87
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:83
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
      T22 = CALL2(T11, names_, T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
      T14T = T22;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
    T23 = &KPfalseVKi;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:82
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:64
  MV_SET_COUNT(0);
  return(T23);
}

D Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM6I (D form_) {
  D UtmpF2;
  D T3;
  D UtmpF4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D name_;
  D T11;
  D T12;
  D model_object_;
  D T14;
  D T15;
  D T16;
  D T17;
  D var_type_;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:101
  T25 = primitive_next_methods_parameter();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  CONGRUENT_CALL_PROLOG(&Kform_threadQVdfmc_common, 1);
  UtmpF2 = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  if (UtmpF2 != &KPfalseVKi) {
    UtmpF4 = UtmpF2;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
    CONGRUENT_CALL_PROLOG(&Kform_dynamicQVdfmc_common, 1);
    T3 = CONGRUENT_CALL1(form_);
    UtmpF4 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  if (UtmpF4 != &KPfalseVKi) {
    T6 = UtmpF4;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
    CONGRUENT_CALL_PROLOG(&Kform_redefinitionQVdfmc_common, 1);
    T5 = CONGRUENT_CALL1(form_);
    T6 = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:108
    T7 = Kform_required_staticQVdfmc_conversionMM0I(form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:108
    T27 = primitive_not(T7);
    T8 = T27;
  } else {
    T8 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  if (T8 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:109
    T9 = Kanonymous_of_compute_and_install_form_model_objectsF50I(T25, form_, &KPempty_vectorVKi);
    T24 = T9;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:111
    CONGRUENT_CALL_PROLOG(&Kform_variable_nameVdfmc_common, 1);
    name_ = CONGRUENT_CALL1(form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:113
    T11 = Kform_init_expressionVdfmc_definitionsMM0I(form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:113
    T12 = CALL1(&Kfragment_valueVdfmc_reader, T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:113
    CONGRUENT_CALL_PROLOG(&Kmake_compile_time_literalVdfmc_modeling, 1);
    model_object_ = CONGRUENT_CALL1(T12);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:118
    T14 = Kform_bindings_specVdfmc_definitionsMM0I(form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:118
    CONGRUENT_CALL_PROLOG(&Kspec_value_required_variable_specsVdfmc_definitions, 1);
    T15 = CONGRUENT_CALL1(T14);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:118
    T16 = CALL1(&KfirstVKd, T15);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:117
    CONGRUENT_CALL_PROLOG(&Kspec_type_expressionVdfmc_definitions, 1);
    T17 = CONGRUENT_CALL1(T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:115
    var_type_ = CALL2(&Klookup_constant_model_objectVdfmc_conversionMM0, &KPfalseVKi, T17);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:119
    if (var_type_ != &KPfalseVKi) {
      T26 = var_type_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:120
      T19 = CALL2(&KCinstanceQVdfmc_modeling, model_object_, T26);
      T20 = T19;
    } else {
      T20 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:119
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:119
    if (T20 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:121
      Kdefine_model_object_and_typeVdfmc_namespaceMM0I(name_, model_object_, var_type_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:122
      CONGRUENT_CALL_PROLOG(&Kinstall_definitionVdfmc_conversion, 3);
      T21 = CONGRUENT_CALL3(model_object_, form_, name_);
      T23 = T21;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:124
      T22 = Kanonymous_of_compute_and_install_form_model_objectsF50I(T25, form_, &KPempty_vectorVKi);
      T23 = T22;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:119
    T24 = T23;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:107
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:101
  MV_SET_COUNT(0);
  return(T24);
}

D Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM7I (D form_) {
  D Utmp_;
  D T3;
  D T4;
  D T5;
  D name_;
  D T7;
  D model_;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:133
  T15 = primitive_next_methods_parameter();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:135
  Kform_evaluation_tried_and_failedQ_setterVdfmc_commonMM0I(&KPfalseVKi, form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:136
  CONGRUENT_CALL_PROLOG(&Kform_dynamicQVdfmc_common, 1);
  Utmp_ = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:136
  if (Utmp_ != &KPfalseVKi) {
    T4 = Utmp_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:136
    CONGRUENT_CALL_PROLOG(&Kform_redefinitionQVdfmc_common, 1);
    T3 = CONGRUENT_CALL1(form_);
    T4 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:136
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:136
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:137
    T5 = Kanonymous_of_compute_and_install_form_model_objectsF16I(T15, form_, &KPempty_vectorVKi);
    T14 = T5;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:139
    CONGRUENT_CALL_PROLOG(&Kform_variable_nameVdfmc_common, 1);
    name_ = CONGRUENT_CALL1(form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:140
    T7 = Kform_defines_variableQVdfmc_namespaceI(form_, name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:140
    if (T7 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:141
      CONGRUENT_CALL_PROLOG(&Kcompute_form_model_objectVdfmc_common, 2);
      model_ = CONGRUENT_CALL2(form_, name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:142
      if (model_ != &KPfalseVKi) {
        T16 = model_;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:143
        CONGRUENT_CALL_PROLOG(&Klambda_top_levelQ_setterVdfmc_modeling, 2);
        CONGRUENT_CALL2(&KPtrueVKi, T16);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:144
        T9 = Kdefine_model_objectVdfmc_namespaceMM0I(name_, T16);
        T11 = T9;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:146
        Kform_evaluation_tried_and_failedQ_setterVdfmc_commonMM0I(&KPtrueVKi, form_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:147
        T10 = Kanonymous_of_compute_and_install_form_model_objectsF16I(T15, form_, &KPempty_vectorVKi);
        T11 = T10;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:142
      T13 = T11;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:140
      T12 = &KPfalseVKi;
      T13 = T12;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:140
    T14 = T13;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:136
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:133
  MV_SET_COUNT(0);
  return(T14);
}

D Kform_top_level_methodsVdfmc_commonMdfmc_conversionM1I (D form_) {
  D binding_;
  D model_;
  D T4;
  D T5;
  D T6_0;
  D T7_0;
  D T8;
  D T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17_0;
  D T18_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:153
  T8 = primitive_next_methods_parameter();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:155
  binding_ = Kform_variable_bindingVdfmc_namespaceMM0I(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:156
  model_ = CALL1(&Kuntracked_binding_model_object_if_computedVdfmc_namespace, binding_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:157
  T4 = CALL3(&Kuntracked_binding_definitionVdfmc_namespaceMM0, binding_, &KJdefault_, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:157
  T9 = primitive_idQ(form_,T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:157
  if (T9 != &KPfalseVKi) {
    T5 = model_;
  } else {
    T5 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:157
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:157
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:158
    T10.vector_element_[0] = model_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:158
    T6_0 = KlistVKdI(&T10);
    T7_0 = T6_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
    T13 = primitive_idQ(T8,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
    if (T13 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
      T16 = KerrorVKdMM1I(&K12, &KPempty_vectorVKi);
      T12 = T16;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
      T14 = SLOT_VALUE_INITD(T8, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
      T15 = SLOT_VALUE_INITD(T8, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
      MEP_CALL_PROLOG(T14, T15, 1);
      T11 = MEP_CALL1(T14, form_);
      T12 = T11;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
    T17_0 = T12;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:160
    T18_0 = T17_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T17_0);
      primitive_type_check(T18_0, &KLsequenceGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T7_0 = T18_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:157
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:153
  MV_SET_COUNT(1);
  return(T7_0);
}

static D Kanonymous_of_compute_and_install_form_model_objectsF16I (D implicit_argument_, D form_, D Unext_method_argsU_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  DWORD T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;

  T8 = primitive_idQ(implicit_argument_,&KPempty_listVKi);
  if (T8 != &KPfalseVKi) {
    T16 = KerrorVKdMM1I(&K12, &KPempty_vectorVKi);
    T7 = T16;
  } else {
    T9 = SLOT_VALUE_INITD(Unext_method_argsU_, 0);
    T10 = primitive_cast_integer_as_raw(T9);
    T11 = primitive_machine_word_equalQ(T10,1);
    if (T11 != &KPfalseVKi) {
      T12 = SLOT_VALUE_INITD(implicit_argument_, 0);
      T13 = SLOT_VALUE_INITD(implicit_argument_, 1);
      MEP_CALL_PROLOG(T12, T13, 1);
      T4 = MEP_CALL1(T12, form_);
      T6 = T4;
    } else {
      T14 = SLOT_VALUE_INITD(implicit_argument_, 0);
      T15 = SLOT_VALUE_INITD(implicit_argument_, 1);
      T5 = MEP_APPLY1(T14, T15, Unext_method_argsU_);
      T6 = T5;
    }
    T7 = T6;
  }
  return(T7);
}

D Kform_required_staticQVdfmc_conversionMM0I (D form_) {
  D T2;
  D T3;
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:95
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:98
  T2 = Kform_parent_formVdfmc_commonMM0I(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:98
  T3 = primitive_instanceQ(T2,&KLnamespace_defining_formGVdfmc_definitions);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:98
  T4_0 = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:95
  MV_SET_COUNT(1);
  return(T4_0);
}

static D Kanonymous_of_compute_and_install_form_model_objectsF50I (D implicit_argument_, D form_, D Unext_method_argsU_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  DWORD T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;

  T8 = primitive_idQ(implicit_argument_,&KPempty_listVKi);
  if (T8 != &KPfalseVKi) {
    T16 = KerrorVKdMM1I(&K12, &KPempty_vectorVKi);
    T7 = T16;
  } else {
    T9 = SLOT_VALUE_INITD(Unext_method_argsU_, 0);
    T10 = primitive_cast_integer_as_raw(T9);
    T11 = primitive_machine_word_equalQ(T10,1);
    if (T11 != &KPfalseVKi) {
      T12 = SLOT_VALUE_INITD(implicit_argument_, 0);
      T13 = SLOT_VALUE_INITD(implicit_argument_, 1);
      MEP_CALL_PROLOG(T12, T13, 1);
      T4 = MEP_CALL1(T12, form_);
      T6 = T4;
    } else {
      T14 = SLOT_VALUE_INITD(implicit_argument_, 0);
      T15 = SLOT_VALUE_INITD(implicit_argument_, 1);
      T5 = MEP_APPLY1(T14, T15, Unext_method_argsU_);
      T6 = T5;
    }
    T7 = T6;
  }
  return(T7);
}

D Kinstall_definitionVdfmc_conversionMM0I (D model_object_, D form_, D name_) {
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:25
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:25
  T4 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:25
  MV_SET_COUNT(0);
  return(T4);
}

D Kinstall_definitionVdfmc_conversionMM1I (D model_object_, D form_, D name_) {
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:28
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:30
  CONGRUENT_CALL_PROLOG(&Kmodel_definition_setterVdfmc_common, 2);
  CONGRUENT_CALL2(form_, model_object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:30
  T4 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:28
  MV_SET_COUNT(0);
  return(T4);
}

D Kinstall_definitionVdfmc_conversionMM2I (D model_object_, D form_, D name_) {
  D T4;
  D T5;
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:33
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:35
  T4 = Kmodel_has_definitionQVdfmc_commonI(model_object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:35
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:35
    T6 = &KPfalseVKi;
    T7 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:36
    CONGRUENT_CALL_PROLOG(&Kmodel_definition_setterVdfmc_common, 2);
    CONGRUENT_CALL2(form_, model_object_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:36
    T5 = &KPfalseVKi;
    T7 = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:35
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:33
  MV_SET_COUNT(0);
  return(T7);
}

D Kinstall_definitionVdfmc_conversionMM3I (D model_object_, D form_, D name_) {
  D T4;
  D T5;
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:40
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:42
  T4 = Kmodel_has_definitionQVdfmc_commonI(model_object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:42
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:42
    T6 = &KPfalseVKi;
    T7 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:43
    CONGRUENT_CALL_PROLOG(&Kmodel_definition_setterVdfmc_common, 2);
    CONGRUENT_CALL2(form_, model_object_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:43
    T5 = &KPfalseVKi;
    T7 = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:42
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:40
  MV_SET_COUNT(0);
  return(T7);
}

D Kinstall_definitionVdfmc_conversionMM4I (D model_object_, D form_, D name_) {
  D T4;
  D T5;
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:47
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:49
  T4 = Kmodel_has_definitionQVdfmc_commonI(model_object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:49
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:49
    T6 = &KPfalseVKi;
    T7 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:50
    CONGRUENT_CALL_PROLOG(&Kmodel_definition_setterVdfmc_common, 2);
    CONGRUENT_CALL2(form_, model_object_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:50
    T5 = &KPfalseVKi;
    T7 = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:49
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:47
  MV_SET_COUNT(0);
  return(T7);
}

D Kinstall_definitionVdfmc_conversionMM5I (D model_object_, D form_, D name_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:54
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:56
  T4 = Kmodel_has_definitionQVdfmc_commonI(model_object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:56
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:56
    T12 = &KPfalseVKi;
    T13 = T12;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:57
    CONGRUENT_CALL_PROLOG(&Kmodel_definition_setterVdfmc_common, 2);
    CONGRUENT_CALL2(form_, model_object_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:58
    CONGRUENT_CALL_PROLOG(&KCdebug_nameVdfmc_modeling, 1);
    T5 = CONGRUENT_CALL1(model_object_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:58
    if (T5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:58
      T10 = &KPfalseVKi;
      T11 = T10;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:59
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T6 = CONGRUENT_CALL2(&KLstringGVKd, name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:59
      CONGRUENT_CALL_PROLOG(&Kas_lowercaseVKd, 1);
      T7 = CONGRUENT_CALL1(T6);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:59
      CONGRUENT_CALL_PROLOG(&Kmapped_modelVdfmc_common, 1);
      T8 = CONGRUENT_CALL1(T7);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:59
      CONGRUENT_CALL_PROLOG(&KCdebug_name_setterVdfmc_modeling, 2);
      CONGRUENT_CALL2(T8, model_object_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:59
      T9 = &KPfalseVKi;
      T11 = T9;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:58
    T13 = T11;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:56
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:54
  MV_SET_COUNT(0);
  return(T13);
}

D Kgenerate_binding_defining_fragmentVdfmc_conversionMM0I (D form_) {
  volatile D T2;
  volatile D loc_;
  volatile D T4;
  volatile D T5;
  volatile D T6;
  volatile D T7;
  volatile D Pold_valuePF8;
  volatile D T9;
  volatile D T10;
  volatile D T11;
  volatile D Pold_valuePF12;
  volatile D T13;
  volatile D T14_0;
  volatile D T15;
  volatile D T16;
  volatile D Pold_valuePF17;
  volatile D T18;
  volatile D T19;
  volatile D T20;
  volatile D T21;
  volatile D T22;
  volatile D T23_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:189
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_binding_defining_fragmentF71, 1, form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  CONGRUENT_CALL_PROLOG(&Kform_source_locationVdfmc_common, 1);
  loc_ = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  if (loc_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    CONGRUENT_CALL_PROLOG(&Kform_compilation_recordVdfmc_common, 1);
    T4 = CONGRUENT_CALL1(form_);
    T5 = T4;
  } else {
    T5 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  if (loc_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    CONGRUENT_CALL_PROLOG(&Ksource_location_source_positionVdfmc_reader, 1);
    T6 = CONGRUENT_CALL1(loc_);
    T7 = T6;
  } else {
    T7 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  Pold_valuePF8 = primitive_read_thread_variable(Texpansion_source_locationTVdfmc_macro_expander);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  ENTER_UNWIND_FRAME(T9);
  if (!nlx_setjmp(FRAME_DEST(T9))) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    T10 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    SLOT_VALUE_SETTER(T5, T10, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    SLOT_VALUE_SETTER(T7, T10, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    primitive_write_thread_variable(Texpansion_source_locationTVdfmc_macro_expander, T10);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    T11 = primitive_read_thread_variable(Texpansion_fragment_cacheTVdfmc_macro_expander);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    if (T11 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
      Pold_valuePF12 = primitive_read_thread_variable(Texpansion_fragment_cacheTVdfmc_macro_expander);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
      ENTER_UNWIND_FRAME(T13);
      if (!nlx_setjmp(FRAME_DEST(T13))) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        T14_0 = KLobject_tableGZ32ZconstructorVKiMM0I(&KLobject_tableGVKd, &KPempty_vectorVKi, &KLobjectGVKd, (D) 41, &Kdefault_grow_sizeVKe, &KPfalseVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        T15 = T14_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        primitive_write_thread_variable(Texpansion_fragment_cacheTVdfmc_macro_expander, T15);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        T16 = Kanonymous_of_generate_binding_defining_fragmentF70I(T2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        FALL_THROUGH_UNWIND(T16);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
      primitive_write_thread_variable(Texpansion_fragment_cacheTVdfmc_macro_expander, Pold_valuePF12);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
      CONTINUE_UNWIND();
      T22 = T16;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
      Pold_valuePF17 = primitive_read_thread_variable(Texpansion_fragment_cacheTVdfmc_macro_expander);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
      ENTER_UNWIND_FRAME(T18);
      if (!nlx_setjmp(FRAME_DEST(T18))) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        primitive_write_thread_variable(Texpansion_fragment_cacheTVdfmc_macro_expander, Dshared_expansion_fragment_cacheVdfmc_macro_expander);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        ENTER_UNWIND_FRAME(T19);
        if (!nlx_setjmp(FRAME_DEST(T19))) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
          T20 = Kanonymous_of_generate_binding_defining_fragmentF70I(T2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
          FALL_THROUGH_UNWIND(T20);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        T21 = primitive_read_thread_variable(Texpansion_fragment_cacheTVdfmc_macro_expander);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        CALL1(&Kremove_all_keysXVKe, T21);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        CONTINUE_UNWIND();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
        FALL_THROUGH_UNWIND(T20);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
      primitive_write_thread_variable(Texpansion_fragment_cacheTVdfmc_macro_expander, Pold_valuePF17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
      CONTINUE_UNWIND();
      T22 = T20;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
    FALL_THROUGH_UNWIND(T22);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  primitive_write_thread_variable(Texpansion_source_locationTVdfmc_macro_expander, Pold_valuePF8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  CONTINUE_UNWIND();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  T23_0 = T22;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:189
  MV_SET_COUNT(1);
  return(T23_0);
}

D Kgenerate_variable_names_debug_nameVdfmc_conversionMM0I (D names_) {
  D strings_;
  D T3;
  D T4;
  _KLsimple_object_vectorGVKd_1 T5 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:253
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:254
  T5.vector_element_[0] = &KLstringGVKd;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:254
  T6 = primitive_copy_vector(&T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:254
  T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_variable_names_debug_nameF65, 1, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:254
  strings_ = CALL2(&KmapVKd, T7, names_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:258
  CONGRUENT_CALL_PROLOG(&Kreduce1VKd, 2);
  T3 = CONGRUENT_CALL2(&KspliceF63, strings_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:258
  T4 = CALL2(&KconcatenateVKd, T3, &K62);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:253
  return(T4);
}

D Kempty_methodQVdfmc_conversionI (D m_) {
  D body_;
  D vals_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8_0;
  D T9_0;
  D T10_0;
  D T11_0;
  D T12;
  D T13;
  D T14;
  D T15;
  DWORD T16;
  D T17;
  D T18;
  D T19;
  D T20_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:9
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:11
  CONGRUENT_CALL_PROLOG(&KbodyVdfmc_modeling, 1);
  body_ = CONGRUENT_CALL1(m_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:12
  if (body_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:13
    vals_ = CALL1(&Knext_computationVdfmc_flow_graph, body_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:14
    T13 = primitive_instanceQ(vals_,&KLvaluesGVdfmc_flow_graph);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:14
    if (T13 != &KPfalseVKi) {
      T12 = vals_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:15
      T14 = SLOT_VALUE_INITD(T12, 7);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:15
      T15 = SLOT_VALUE_INITD(T14, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:15
      T16 = primitive_cast_integer_as_raw(T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:15
      T17 = primitive_machine_word_equalQ(T16,1);
      T4 = T17;
    } else {
      T4 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:14
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:14
    if (T4 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:16
      T5 = CALL1(&Krest_valueVdfmc_flow_graph, vals_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:16
      T18 = primitive_not(T5);
      T6 = T18;
    } else {
      T6 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:14
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:14
    if (T6 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:17
      T7 = CALL1(&Knext_computationVdfmc_flow_graph, vals_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:17
      T19 = primitive_instanceQ(T7,&KLreturnGVdfmc_flow_graph);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:17
      T20_0 = T19;
      T9_0 = T20_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:14
      T8_0 = &KPfalseVKi;
      T9_0 = T8_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:14
    T11_0 = T9_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:19
    T10_0 = &KPtrueVKi;
    T11_0 = T10_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:12
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:9
  MV_SET_COUNT(1);
  return(T11_0);
}

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

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:254
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:254
  T1 = Kconcatenate_2VKeMM1I(CREF(0), args_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:254
  T2 = APPLY1(&KasVKd, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:254
  return(T2);
}

static D KspliceF63I (D s1_, D s2_) {
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:255
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:256
  T2 = CALL3(&KconcatenateVKd, s1_, &K64, s2_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:255
  return(T2);
}

static D Kanonymous_of_generate_binding_defining_fragmentF71I () {
  D bindings_spec_;
  D init_expression_;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D all_var_specs_;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  _KLsimple_object_vectorGVKd_1 T23 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T24;
  D T25;
  _KLsimple_object_vectorGVKd_1 T26 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D tmp_binding_;
  _KLsimple_object_vectorGVKd_1 T28 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T29;
  D T30;
  _KLsimple_object_vectorGVKd_1 T31 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D binding_init_;
  _KLsimple_object_vectorGVKd_1 T33 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D type_binding_decls_;
  _KLsimple_object_vectorGVKd_1 T35 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_6 T36 = {&KLsimple_object_vectorGVKdW, (D) 25};
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:192
  bindings_spec_ = Kform_bindings_specVdfmc_definitionsMM0I(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:193
  CONGRUENT_CALL_PROLOG(&Kform_init_binding_expressionVdfmc_conversion, 1);
  init_expression_ = CONGRUENT_CALL1(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:195
  CONGRUENT_CALL_PROLOG(&Kspec_value_required_variable_specsVdfmc_definitions, 1);
  T3 = CONGRUENT_CALL1(bindings_spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:196
  T4 = CALL1(&Kspec_value_restQVdfmc_definitions, bindings_spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:196
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:197
    CONGRUENT_CALL_PROLOG(&Kspec_value_rest_variable_specVdfmc_definitions, 1);
    T5 = CONGRUENT_CALL1(bindings_spec_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:197
    T23.vector_element_[0] = T5;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:197
    T6 = KlistVKdI(&T23);
    T7 = T6;
  } else {
    T7 = &KPempty_listVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:196
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:195
  all_var_specs_ = CALL2(&KconcatenateVKd, T3, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:201
  CONGRUENT_CALL_PROLOG(&Ktype_for_copyVKd, 1);
  T24 = CONGRUENT_CALL1(all_var_specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:201
  T25 = CALL3(&Kmap_as_oneVKi, T24, &Kgenerate_type_bindingVdfmc_conversionMM0, all_var_specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:202
  T26.vector_element_[0] = T25;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:202
  tmp_binding_ = KmapVKdMM0I(&Kgenerate_tmp_bindingVdfmc_conversion, all_var_specs_, &T26);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  T28.vector_element_[0] = CREF(0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  T29 = primitive_copy_vector(&T28);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  T30 = MAKE_CLOSURE_INITD(&Kanonymous_of_generate_binding_defining_fragmentF116, 1, T29);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  T31.vector_element_[0] = T25;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  binding_init_ = KmapVKdMM0I(T30, all_var_specs_, &T31);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:206
  T33.vector_element_[0] = all_var_specs_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:206
  type_binding_decls_ = KmapVKdMM0I(&Kanonymous_of_generate_binding_defining_fragmentF82, T25, &T33);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequenceVdfmc_macro_expander, 1);
  T9 = CONGRUENT_CALL1(type_binding_decls_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T11 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T12 = CONGRUENT_CALL2(tmp_binding_, T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T35.vector_element_[0] = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T13 = KlistVKdI(&T35);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T14 = Kmake_parens_fragmentVdfmc_macro_expanderI(T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T15 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T16 = CONGRUENT_CALL1(init_expression_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T17 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T18 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T19 = CONGRUENT_CALL2(binding_init_, T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T20 = CONGRUENT_CALL2(T17, T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T36.vector_element_[0] = T9;
  T36.vector_element_[1] = T10;
  T36.vector_element_[2] = T14;
  T36.vector_element_[3] = T15;
  T36.vector_element_[4] = T16;
  T36.vector_element_[5] = T20;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:213
  T21 = Kmake_templateVdfmc_macro_expanderI(&T36);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:212
  CONGRUENT_CALL_PROLOG(&Kas_bodyVdfmc_definitions, 1);
  T22 = CONGRUENT_CALL1(T21);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  return(T22);
}

static D Kanonymous_of_generate_binding_defining_fragmentF70I (D f_) {
  D T1;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  T1 = CALL0(f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:191
  return(T1);
}

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

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  T1 = Kconcatenate_2VKeMM1I(CREF(0), args_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  T2 = APPLY1(&Kgenerate_binding_initVdfmc_conversionMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:204
  return(T2);
}

D Kgenerate_type_bindingVdfmc_conversionMM0I (D spec_) {
  D name_;
  D T3;
  D T4;
  _KLsimple_object_vectorGVKd_1 T5 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:219
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:220
  name_ = Kspec_variable_nameVdfmc_definitionsMM0I(spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:221
  ENGINE_NODE_CALL_PROLOG(&Ksubstitute_spliced_as_nameVdfmc_macro_expander, &K100, 3);
  T4 = ENGINE_NODE_CALL3(&K100, &K101, name_, &K102);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:221
  T5.vector_element_[0] = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:221
  T3 = Kmake_templateVdfmc_macro_expanderI(&T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:219
  return(T3);
}

static D Kanonymous_of_generate_binding_defining_fragmentF82I (D type_binding_, D var_spec_) {
  D type_expression_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  _KLsimple_object_vectorGVKd_7 T12 = {&KLsimple_object_vectorGVKdW, (D) 29};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:206
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:207
  CONGRUENT_CALL_PROLOG(&Kspec_type_expressionVdfmc_definitions, 1);
  type_expression_ = CONGRUENT_CALL1(var_spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  T4 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T5 = CONGRUENT_CALL1(type_binding_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  T6 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLtypeG_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  T8 = Kmake_equal_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T9 = CONGRUENT_CALL1(type_expression_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  T10 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  T12.vector_element_[0] = T4;
  T12.vector_element_[1] = T5;
  T12.vector_element_[2] = T6;
  T12.vector_element_[3] = T7;
  T12.vector_element_[4] = T8;
  T12.vector_element_[5] = T9;
  T12.vector_element_[6] = T10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:208
  T11 = Kmake_templateVdfmc_macro_expanderI(&T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:206
  return(T11);
}

D Kgenerate_tmp_bindingVdfmc_conversionMM0I (D spec_, D type_name_) {
  D name_;
  D T4;
  D T5;
  D T6;
  D T7;
  _KLsimple_object_vectorGVKd_3 T8 = {&KLsimple_object_vectorGVKdW, (D) 13};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:224
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:226
  name_ = Kspec_variable_nameVdfmc_definitionsMM0I(spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:227
  ENGINE_NODE_CALL_PROLOG(&Ksubstitute_spliced_as_nameVdfmc_macro_expander, &K97, 3);
  T7 = ENGINE_NODE_CALL3(&K97, &KPempty_stringVKi, name_, &K93);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:227
  T4 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:227
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T5 = CONGRUENT_CALL1(type_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:227
  T8.vector_element_[0] = T7;
  T8.vector_element_[1] = T4;
  T8.vector_element_[2] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:227
  T6 = Kmake_templateVdfmc_macro_expanderI(&T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:224
  return(T6);
}

D Kgenerate_tmp_bindingVdfmc_conversionMM1I (D spec_, D type_name_) {
  D name_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  _KLsimple_object_vectorGVKd_4 T12 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T13;
  _KLsimple_object_vectorGVKd_2 T14 = {&KLsimple_object_vectorGVKdW, (D) 9};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:230
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:232
  name_ = Kspec_variable_nameVdfmc_definitionsMM0I(spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:233
  if (type_name_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:234
    T4 = Kmake_hash_rest_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:234
    ENGINE_NODE_CALL_PROLOG(&Ksubstitute_spliced_as_nameVdfmc_macro_expander, &K92, 3);
    T11 = ENGINE_NODE_CALL3(&K92, &KPempty_stringVKi, name_, &K93);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:234
    T5 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:234
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T6 = CONGRUENT_CALL1(type_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:234
    T12.vector_element_[0] = T4;
    T12.vector_element_[1] = T11;
    T12.vector_element_[2] = T5;
    T12.vector_element_[3] = T6;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:234
    T7 = Kmake_templateVdfmc_macro_expanderI(&T12);
    T10 = T7;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:236
    T8 = Kmake_hash_rest_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:236
    ENGINE_NODE_CALL_PROLOG(&Ksubstitute_spliced_as_nameVdfmc_macro_expander, &K94, 3);
    T13 = ENGINE_NODE_CALL3(&K94, &KPempty_stringVKi, name_, &K93);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:236
    T14.vector_element_[0] = T8;
    T14.vector_element_[1] = T13;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:236
    T9 = Kmake_templateVdfmc_macro_expanderI(&T14);
    T10 = T9;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:233
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:230
  return(T10);
}

D Kform_init_binding_expressionVdfmc_conversionMM0I (D form_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:174
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:175
  T2_0 = CALL1(&Kform_init_expressionVdfmc_definitionsMM0, form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:174
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kform_init_binding_expressionVdfmc_conversionMM1I (D form_) {
  D init_expression_;
  D T3;
  D method_form_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10_0;
  D T11_0;
  D T12_0;
  D T13_0;
  D T14;
  D T15_0;
  _KLsimple_object_vectorGVKd_1 T16 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T17 = {&KLsimple_object_vectorGVKdW, (D) 17};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:178
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:180
  init_expression_ = Kform_init_expressionVdfmc_definitionsMM0I(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:181
  T3 = Kmethod_fragmentQVdfmc_definitionsI(init_expression_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:181
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:182
    CONGRUENT_CALL_PROLOG(&Kfragment_argumentVdfmc_reader, 1);
    method_form_ = CONGRUENT_CALL1(init_expression_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJconstant_method_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T15_0 = Kmake_literal_fragmentVdfmc_macro_expanderMM0I(form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T13_0 = T15_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T15_0);
      primitive_type_check(T13_0, &KLfragmentGVdfmc_reader);
      MV_CHECK_TYPE_EPILOGUE();
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T14 = T13_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T16.vector_element_[0] = T14;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T6 = KlistVKdI(&T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T7 = Kmake_parens_fragmentVdfmc_macro_expanderI(T6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T8 = CONGRUENT_CALL1(method_form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T9 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T17.vector_element_[0] = T5;
    T17.vector_element_[1] = T7;
    T17.vector_element_[2] = T8;
    T17.vector_element_[3] = T9;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:183
    T10_0 = Kmake_templateVdfmc_macro_expanderI(&T17);
    T12_0 = T10_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:185
    T11_0 = init_expression_;
    T12_0 = T11_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:181
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:178
  MV_SET_COUNT(1);
  return(T12_0);
}

D Kgenerate_binding_initVdfmc_conversionMM0I (D form_, D spec_, D type_name_) {
  D name_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  _KLsimple_object_vectorGVKd_2 T22 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T23;
  _KLsimple_object_vectorGVKd_3 T24 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_5 T25 = {&KLsimple_object_vectorGVKdW, (D) 21};
  D T26;
  _KLsimple_object_vectorGVKd_1 T27 = {&KLsimple_object_vectorGVKdW, (D) 5};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:240
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:242
  name_ = Kspec_variable_nameVdfmc_definitionsMM0I(spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:243
  T5 = Kform_defines_variableQVdfmc_namespaceI(form_, name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:243
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T6 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPinitialize_binding_type_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T7 = CONGRUENT_CALL1(name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T8 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T9 = CONGRUENT_CALL1(type_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T10 = CONGRUENT_CALL2(T8, T9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T22.vector_element_[0] = T7;
    T22.vector_element_[1] = T10;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T11 = KlistVKdI(&T22);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T13 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPinitialize_binding_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T15 = CONGRUENT_CALL1(name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T16 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    ENGINE_NODE_CALL_PROLOG(&Ksubstitute_spliced_as_nameVdfmc_macro_expander, &K121, 3);
    T23 = ENGINE_NODE_CALL3(&K121, &KPempty_stringVKi, name_, &K93);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T24.vector_element_[0] = T15;
    T24.vector_element_[1] = T16;
    T24.vector_element_[2] = T23;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T17 = KlistVKdI(&T24);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T18 = Kmake_parens_fragmentVdfmc_macro_expanderI(T17);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T25.vector_element_[0] = T6;
    T25.vector_element_[1] = T12;
    T25.vector_element_[2] = T13;
    T25.vector_element_[3] = T14;
    T25.vector_element_[4] = T18;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:244
    T19 = Kmake_templateVdfmc_macro_expanderI(&T25);
    T21 = T19;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:247
    T26 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:247
    T27.vector_element_[0] = T26;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:247
    T20 = Kmake_templateVdfmc_macro_expanderI(&T27);
    T21 = T20;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:243
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:240
  return(T21);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJreferenceQ_);
    if (T0 != &KJreferenceQ_) {
      IKJreferenceQ_ = T0;
    }
  }
  {
    D T0;

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

    T0 = KPresolve_symbolVKiI(&KJLtypeG_);
    if (T0 != &KJLtypeG_) {
      IKJLtypeG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJconstant_method_);
    if (T0 != &KJconstant_method_) {
      IKJconstant_method_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJPinitialize_binding_type_);
    if (T0 != &KJPinitialize_binding_type_) {
      IKJPinitialize_binding_type_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJPinitialize_binding_);
    if (T0 != &KJPinitialize_binding_) {
      IKJPinitialize_binding_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_conversion__X_define_binding_for_user () {
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:64
  T0 = KPadd_a_methodVKnI(&Kcompute_and_install_form_model_objectsVdfmc_common, &Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM5, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I2;
}
I2:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:101
  T0 = KPadd_a_methodVKnI(&Kcompute_and_install_form_model_objectsVdfmc_common, &Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM6, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I5;
}
I5:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:133
  T0 = KPadd_a_methodVKnI(&Kcompute_and_install_form_model_objectsVdfmc_common, &Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM7, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I8;
}
I8:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-binding.dylan:153
  T0 = KPadd_a_methodVKnI(&Kform_top_level_methodsVdfmc_common, &Kform_top_level_methodsVdfmc_commonMdfmc_conversionM1, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I11;
}
I11:

  return;
}


/* eof */
