#include "opendylan/run-time.h"

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

/* Typedefs for referenced classes */

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

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

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

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(12);
define__KLsimple_object_vectorGVKd(18);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value private_Cdomain_library_;
  dylan_value private_Cdomain_next_;
  dylan_value Cdomain_types_;
} _KLBdomainGVdfmc_modeling;

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

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

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

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value private_shadowable_binding_local_dependents_;
} _KLmodule_bindingGVdfmc_namespace;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value private_Cfunction_signature_;
  dylan_value CPgf_cache_;
  dylan_value private_Cdebug_name_;
  dylan_value private_Pgeneric_function_methods_;
  dylan_value Cdiscriminator_;
  dylan_value Cgeneric_function_properties_;
  dylan_value private_signature_spec_;
  dylan_value private_Pgeneric_function_domains_;
  dylan_value parameters_dynamic_extent_;
  dylan_value Cgeneric_function_cache_info_;
} _KLBgeneric_functionGVdfmc_modeling;

typedef struct {
  dylan_value wrapper;
} _KLsequenceGVKd;

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

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

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

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(42);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(31);

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

typedef struct {
  dylan_value wrapper;
  dylan_value private_shadowable_form_init_method_;
  dylan_value private_shadowable_form_system_init_method_;
  dylan_value shadowable_form_properties_flags_;
  dylan_value private_shadowable_form_model_;
  dylan_value form_compilation_record_;
  dylan_value private_form_source_location_;
  dylan_value private_form_parent_form_;
  dylan_value form_sequence_number_;
  dylan_value private_form_dependencies_;
  dylan_value private_form_referenced_variables_;
  dylan_value private_form_adjectives_;
  dylan_value private_form_variable_name_or_names_;
  dylan_value form_properties_;
  dylan_value private_form_domain_type_expressions_;
} _KLdomain_definitionGVdfmc_definitions;

typedef struct {
  dylan_value wrapper;
  dylan_value private_shadowable_form_init_method_;
  dylan_value private_shadowable_form_system_init_method_;
  dylan_value shadowable_form_properties_flags_;
  dylan_value private_shadowable_form_model_;
  dylan_value form_compilation_record_;
  dylan_value private_form_source_location_;
  dylan_value private_form_parent_form_;
  dylan_value form_sequence_number_;
  dylan_value private_form_dependencies_;
  dylan_value private_form_referenced_variables_;
  dylan_value private_form_adjectives_;
  dylan_value private_form_variable_name_or_names_;
  dylan_value form_properties_;
  dylan_value private_form_signature_;
  dylan_value private_form_body_;
  dylan_value private_form_class_;
  dylan_value private_form_signature_and_body_fragment_;
} _KLmethod_definitionGVdfmc_definitions;

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

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value private_shadowable_form_init_method_;
  dylan_value private_shadowable_form_system_init_method_;
  dylan_value shadowable_form_properties_flags_;
  dylan_value form_compilation_record_;
  dylan_value private_form_source_location_;
  dylan_value private_form_parent_form_;
  dylan_value form_sequence_number_;
  dylan_value private_form_dependencies_;
  dylan_value private_form_referenced_variables_;
  dylan_value private_form_adjectives_;
  dylan_value private_form_variable_name_or_names_;
  dylan_value form_properties_;
  dylan_value private_form_signature_;
} _KLgeneric_definitionGVdfmc_definitions;

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

typedef struct {
  dylan_value wrapper;
} _KLstringGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value private_Cfunction_signature_;
  dylan_value CPgf_cache_;
  dylan_value private_Cdebug_name_;
  dylan_value private_Pgeneric_function_methods_;
  dylan_value Cdiscriminator_;
  dylan_value Cgeneric_function_properties_;
  dylan_value private_signature_spec_;
  dylan_value private_Pgeneric_function_domains_;
  dylan_value parameters_dynamic_extent_;
  dylan_value Cgeneric_function_cache_info_;
  dylan_value Cincremental_gf_module_;
  dylan_value private_Cincremental_gf_domain_info_;
  dylan_value private_Cincremental_gf_method_libraries_;
  dylan_value Cincremental_gf_properties_;
} _KLBincremental_generic_functionGVdfmc_modeling;

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

typedef struct {
  dylan_value wrapper;
  dylan_value private_shadowable_form_init_method_;
  dylan_value private_shadowable_form_system_init_method_;
  dylan_value shadowable_form_properties_flags_;
  dylan_value form_compilation_record_;
  dylan_value private_form_source_location_;
  dylan_value private_form_parent_form_;
  dylan_value form_sequence_number_;
  dylan_value private_form_dependencies_;
  dylan_value private_form_referenced_variables_;
} _KLtop_level_formGVdfmc_common;

typedef struct {
  dylan_value wrapper;
  dylan_value compiled_to_definitionsQ_;
  dylan_value compilation_from_definitions_startedQ_;
  dylan_value compilation_definitions_inconsistentQ_;
  dylan_value private_compilation_context_records_;
  dylan_value compilation_timings_;
  dylan_value private_language_definition_;
  dylan_value language_definition_change_count_;
  dylan_value cached_library_description_record_table_;
  dylan_value library_type_cache_;
  dylan_value library_type_estimate_disjointQ_cache_;
  dylan_value library_type_estimate_cons_cache_;
  dylan_value library_type_estimate_dispatch_cache_;
  dylan_value library_external_model_cache_;
  dylan_value library_description_system_class_init_code_;
  dylan_value library_description_system_gf_init_code_;
  dylan_value library_owned_model_properties_;
  dylan_value private_library_conditions_table_;
  dylan_value library_description_dylan_library_;
  dylan_value library_forms_dynamicQ_;
  dylan_value library_description_current_call_site_id_;
  dylan_value library_externally_visible_models_;
} _KLlibrary_descriptionGVdfmc_namespace;

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

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value private_Cfunction_signature_;
  dylan_value CPgf_cache_;
  dylan_value private_Cdebug_name_;
  dylan_value private_Pgeneric_function_methods_;
  dylan_value Cdiscriminator_;
  dylan_value Cgeneric_function_properties_;
  dylan_value private_signature_spec_;
  dylan_value private_Pgeneric_function_domains_;
  dylan_value parameters_dynamic_extent_;
  dylan_value Cgeneric_function_cache_info_;
} _KLBsealed_generic_functionGVdfmc_modeling;

typedef struct {
  dylan_value wrapper;
  dylan_value fragment_record_;
  dylan_value fragment_source_position_;
  dylan_value fragment_name_;
} _KLvariable_name_fragmentGVdfmc_reader;


/* Typedefs for defined classes */


/* Referenced object declarations */

dylan_value KPadd_a_methodVKnI (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kcompute_form_model_objectVdfmc_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 KCgeneric_function_methodsVdfmc_modeling;
extern _KLsealed_generic_functionGVKe KCgeneric_function_domainsVdfmc_modeling;
extern _KLsealed_generic_functionGVKe Kcompute_and_install_form_model_objectsVdfmc_common;
extern _KLsealed_generic_functionGVKe Kform_binding_guaranteed_initializedQVdfmc_common;
extern _KLsealed_generic_functionGVKe Kcompute_form_hollow_objectVdfmc_common;
extern _KLsealed_generic_functionGVKe Kretract_form_model_objectsVdfmc_definitions;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
dylan_value Kmodel_variable_bindingVdfmc_namespaceMM0I (dylan_value);
dylan_value Knote_binding_dependencyVdfmc_commonI (dylan_value, dylan_value);
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
dylan_value Kbinding_certain_modifying_modelsVdfmc_namespaceMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdomain_definitionQVdfmc_definitionsMM0;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLBdomainGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBdomainGVdfmc_modelingW;
extern _KLincremental_generic_functionGVKe KchooseVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
dylan_value Kconcatenate_2VKeMM1I (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe KinstanceQVKd;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LlistG_typesVKi;
extern _KLclassGVKd KLmodule_bindingGVdfmc_namespace;
extern _KLmm_wrapperGVKi_0 KLmodule_bindingGVdfmc_namespaceW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LsequenceG_typesVKi;
extern _KLclassGVKd KLBgeneric_functionGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBgeneric_functionGVdfmc_modelingW;
dylan_value Kmodel_libraryVdfmc_commonI (dylan_value);
extern _KLsealed_generic_functionGVKe Kcurrent_library_descriptionQVdfmc_common;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLsimple_methodGVKe Kbinding_defined_methodsVdfmc_namespaceMM0;
extern _KLsimple_methodGVKe Kbinding_defined_methods_setterVdfmc_namespaceMM0;
extern _KLsimple_methodGVKe Kmethod_definitionQVdfmc_definitionsMM0;
extern _KLclassGVKd KLBmethodGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBmethodGVdfmc_modelingW;
extern _KLsealed_generic_functionGVKe Kuntracked_lookup_certain_local_modifying_modelsVdfmc_namespace;
extern _KLsimple_methodGVKe Kchoose_instancesVdfmc_definitions;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
dylan_value Kform_sealableQVdfmc_conversionI (dylan_value);
extern _KLsealed_generic_functionGVKe Kform_implicitly_definedQVdfmc_common;
extern _KLsealed_generic_functionGVKe Kform_compile_stage_onlyQVdfmc_common;
dylan_value Kform_variable_bindingVdfmc_namespaceMM0I (dylan_value);
extern _KLsimple_methodGVKe Kbinding_modifying_definitionsVdfmc_namespaceMM0;
extern _KLclassGVKd KLdomain_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLdomain_definitionGVdfmc_definitionsW;
extern _KLclassGVKd KLmethod_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLmethod_definitionGVdfmc_definitionsW;
dylan_value Kform_classVdfmc_definitionsMM1I (dylan_value);
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
dylan_value Kunion_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLgeneric_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLgeneric_definitionGVdfmc_definitionsW;
extern _KLsimple_methodGVKe Kbinding_previously_definedQVdfmc_namespace;
extern _KLsealed_generic_functionGVKe Kbinding_previous_definitionVdfmc_namespace;
dylan_value Kobject_classVKdI (dylan_value);
extern _KLsealed_generic_functionGVKe Kform_variable_nameVdfmc_common;
dylan_value Kform_signatureVdfmc_definitionsMM0I (dylan_value);
extern _KLsealed_generic_functionGVKe Kform_dynamicQVdfmc_common;
dylan_value Kform_module_modelVdfmc_modelingMM0I (dylan_value);
dylan_value Kdylan_valueVdfmc_namespaceI (dylan_value);
extern _KLsealed_generic_functionGVKe Kimport_to_templateVdfmc_macro_expander;
dylan_value Kmake_comma_fragmentVdfmc_macro_expanderI ();
extern _KLsimple_methodGVKe Ksubstitute_as_stringVdfmc_macro_expanderMM0;
extern _KLsealed_generic_functionGVKe Kmake_literal_fragmentVdfmc_macro_expander;
extern _KLclassGVKd KLfragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLfragmentGVdfmc_readerW;
extern _KLsealed_generic_functionGVKe Kmaybe_substitute_separatorVdfmc_macro_expander;
dylan_value Kmake_name_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value KlistVKdI (dylan_value);
dylan_value Kmake_parens_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value Kmake_templateVdfmc_macro_expanderI (dylan_value);
dylan_value Kform_libraryVdfmc_commonMM0I (dylan_value);
extern _KLsealed_generic_functionGVKe Klibrary_description_system_gf_init_code_setterVdfmc_namespace;
dylan_value KerrorVKdMM1I (dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLincremental_generic_functionGVKe Kas_lowercaseVKd;
extern _KLsealed_generic_functionGVKe Kmapped_modelVdfmc_common;
extern _KLsymbolGVKd KJdebug_name_;
extern _KLsymbolGVKd KJsignature_;
extern _KLsymbolGVKd KJsealedQ_;
dylan_value KLBincremental_generic_functionGZ32ZconstructorVdfmc_modelingMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLBincremental_generic_functionGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBincremental_generic_functionGVdfmc_modelingW;
dylan_value Kform_evaluation_tried_and_failedQ_setterVdfmc_commonMM0I (dylan_value, dylan_value);
dylan_value Kform_adjectivesVdfmc_commonMM1I (dylan_value);
extern _KLincremental_generic_functionGVKe KmemberQVKd;
extern _KLsealed_generic_functionGVKe Kbinding_accessible_to_other_librariesQVdfmc_namespace;
extern _KLsealed_generic_functionGVKe Kform_source_locationVdfmc_common;
extern _KLincremental_generic_functionGVKe KnoteVdfmc_conditions;
extern _KLclassGVKd KLinaccessible_open_definitionGVdfmc_conversion;
extern _KLmm_wrapperGVKi_0 KLinaccessible_open_definitionGVdfmc_conversionW;
dylan_value Kcompute_and_install_form_dynamic_init_methodVdfmc_conversionMM0I (dylan_value);
dylan_value Kdefine_model_objectVdfmc_namespaceMM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLtop_level_formGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLtop_level_formGVdfmc_commonW;
extern _KLclassGVKd KLlibrary_descriptionGVdfmc_namespace;
extern _KLmm_wrapperGVKi_0 KLlibrary_descriptionGVdfmc_namespaceW;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLsealed_generic_functionGVKe Kmodel_definitionVdfmc_common;
dylan_value Kdo_with_dependent_contextVdfmc_namespaceI (dylan_value, dylan_value, dylan_value);
dylan_value KPgeneric_function_domains_initializedQ_setterVdfmc_modelingMM0I (dylan_value, dylan_value);
dylan_value KPgeneric_function_domainsVdfmc_modelingMM0I (dylan_value);
extern _KLsimple_methodGVKe KPgeneric_function_domains_setterVdfmc_modelingMM0;
extern _KLsimple_methodGVKe Kform_inline_policyVdfmc_commonMM0;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
dylan_value KCdomain_next_setterVdfmc_modelingMM0I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCincremental_gf_domain_info_setterVdfmc_modelingMM0;
extern _KLsimple_methodGVKe Kbinding_defined_domainsVdfmc_namespaceMM0;
extern _KLsimple_methodGVKe Kbinding_defined_domains_setterVdfmc_namespaceMM0;
dylan_value KPgeneric_function_methods_initializedQ_setterVdfmc_modelingMM0I (dylan_value, dylan_value);
dylan_value KPgeneric_function_methodsVdfmc_modelingMM0I (dylan_value);
extern _KLsimple_methodGVKe KPgeneric_function_methods_setterVdfmc_modelingMM0;
dylan_value Kuntracked_ensure_form_modelVdfmc_namespaceMM0I (dylan_value);
extern _KLsimple_methodGVKe Kcompute_signatureVdfmc_conversion;
extern _KLclassGVKd KLBsealed_generic_functionGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBsealed_generic_functionGVdfmc_modelingW;
dylan_value Kclass_constructor_atomicallyVKiI (dylan_value);
dylan_value Kformat_outYformat_outVioMM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLvariable_name_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLvariable_name_fragmentGVdfmc_readerW;
extern dylan_value Topen_is_dynamicQTVdfmc_definitions;
extern dylan_value Tdebug_outTVdfmc_common;
extern dylan_value Tcurrent_stageTVdfmc_common;
extern dylan_value Tcurrent_dependentTVdfmc_common;

/* Defined object declarations */

extern _KLsimple_methodGVKe Kcompute_form_model_objectVdfmc_commonMdfmc_conversionM4;
dylan_value Kcompute_form_model_objectVdfmc_commonMdfmc_conversionM4I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCgeneric_function_methodsVdfmc_modelingMdfmc_conversionM0;
dylan_value KCgeneric_function_methodsVdfmc_modelingMdfmc_conversionM0I (dylan_value);
extern _KLsimple_methodGVKe KCgeneric_function_domainsVdfmc_modelingMdfmc_conversionM0;
dylan_value KCgeneric_function_domainsVdfmc_modelingMdfmc_conversionM0I (dylan_value);
extern _KLsimple_methodGVKe Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM2;
dylan_value Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM2I (dylan_value);
extern _KLsimple_methodGVKe Kform_binding_guaranteed_initializedQVdfmc_commonMdfmc_conversionM1;
dylan_value Kform_binding_guaranteed_initializedQVdfmc_commonMdfmc_conversionM1I (dylan_value);
extern _KLsimple_methodGVKe Kcompute_form_hollow_objectVdfmc_commonMdfmc_conversionM1;
dylan_value Kcompute_form_hollow_objectVdfmc_commonMdfmc_conversionM1I (dylan_value);
extern _KLsimple_methodGVKe Kretract_form_model_objectsVdfmc_definitionsMdfmc_conversionM1;
dylan_value Kretract_form_model_objectsVdfmc_definitionsMdfmc_conversionM1I (dylan_value);
extern _KLsimple_methodGVKe Kcompute_form_dynamic_init_codeVdfmc_conversionMM1;
dylan_value Kcompute_form_dynamic_init_codeVdfmc_conversionMM1I (dylan_value);
extern _KLsimple_methodGVKe Kform_in_place_redefinitionQVdfmc_conversionMM2;
dylan_value Kform_in_place_redefinitionQVdfmc_conversionMM2I (dylan_value);
extern _KLsimple_methodGVKe Kform_equivalent_method_definitionVdfmc_conversionMM0;
dylan_value Kform_equivalent_method_definitionVdfmc_conversionMM0I (dylan_value);
extern _KLsealed_generic_functionGVKe Ksingle_method_generic_functionQVdfmc_conversion;
extern _KLsimple_methodGVKe KCgeneric_function_local_methods_knownVdfmc_conversion;
dylan_value KCgeneric_function_local_methods_knownVdfmc_conversionI (dylan_value);
extern _KLsimple_methodGVKe KCgeneric_function_methods_knownVdfmc_conversion;
dylan_value KCgeneric_function_methods_knownVdfmc_conversionI (dylan_value);
extern _KLsimple_methodGVKe KCgeneric_function_imported_defined_domainsVdfmc_conversionMM0;
dylan_value KCgeneric_function_imported_defined_domainsVdfmc_conversionMM0I (dylan_value);
extern _KLsimple_methodGVKe Kbinding_imported_domain_modelsVdfmc_conversionMM0;
dylan_value Kbinding_imported_domain_modelsVdfmc_conversionMM0I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_binding_imported_domain_modelsF38;
static dylan_value Kanonymous_of_binding_imported_domain_modelsF38I (dylan_value);
static _KLsignatureGVKe K39;
static _KLsignatureAvaluesGVKi K40;
static _KLsimple_object_vectorGVKd_1 K41;
static _KLsignatureAvaluesGVKi K42;
static _KLsimple_object_vectorGVKd_1 K43;
dylan_value KCgeneric_function_explicitly_defined_methodsVdfmc_conversionMM0I (dylan_value);
extern _KLsimple_methodGVKe Kbinding_method_modelsVdfmc_conversionMM0;
dylan_value Kbinding_method_modelsVdfmc_conversionMM0I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_binding_method_modelsF49;
static dylan_value Kanonymous_of_binding_method_modelsF49I (dylan_value);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K50;
extern _KLsimple_methodGVKe Ksingle_method_generic_functionQVdfmc_conversionMM0;
dylan_value Ksingle_method_generic_functionQVdfmc_conversionMM0I (dylan_value);
extern _KLsimple_methodGVKe Ksingle_method_generic_functionQVdfmc_conversionMM1;
dylan_value Ksingle_method_generic_functionQVdfmc_conversionMM1I (dylan_value);
static _KLpairGVKd K55;
static _KLpairGVKd K56;
static _KLbyte_stringGVKd_31 K57;
static _KLsignatureAvaluesGVKi K58;
static _KLsimple_object_vectorGVKd_1 K59;
static _KLsignatureAvaluesGVKi K60;
dylan_value Kform_single_modifying_simple_method_definitionVdfmc_conversionMM0I (dylan_value);
static _KLsymbolGVKd KJsimple_;
static _KLsymbolGVKd KJinitializer_;
static _KLunionGVKe K64;
static _KLsingletonGVKd K65;
static _KLbyte_stringGVKd_11 K66;
static _KLbyte_stringGVKd_6 K67;
static _KLsignatureAvaluesGVKi K68;
static _KLsimple_object_vectorGVKd_1 K69;
static _KLsimple_object_vectorGVKd_1 K70;
static _KLsignatureAvaluesGVKi K71;
static _KLsymbolGVKd KJPredefine_generic_;
static _KLsymbolGVKd KJPsignature_;
static _KLsymbolGVKd KJPdefine_generic_;
static _KLbyte_stringGVKd_15 K75;
static _KLbyte_stringGVKd_10 K76;
static _KLbyte_stringGVKd_17 K77;
static _KLsignatureGVKe K78;
static _KLbyte_stringGVKd_15 K79;
static _KLsignatureGVKe K80;
static _KLsymbolGVKd KJdefinition_;
static _KLsymbolGVKd KJmodule_;
static _KLsymbolGVKd KJsignature_spec_;
static _KLsymbolGVKd KJtype_completeQ_;
static _KLsymbolGVKd KJmethod_completeQ_;
static _KLsymbolGVKd KJsignaturedQ_;
static _KLbyte_stringGVKd_11 K87;
static _KLbyte_stringGVKd_16 K88;
static _KLbyte_stringGVKd_14 K89;
static _KLbyte_stringGVKd_14 K90;
static _KLbyte_stringGVKd_6 K91;
static _KLbyte_stringGVKd_10 K92;
static _KLsignatureAvaluesGVKi K93;
static _KLsymbolGVKd KJdynamic_;
static _KLsymbolGVKd KJbinding_;
static _KLsymbolGVKd KJsource_location_;
static _KLbyte_stringGVKd_15 K97;
static _KLbyte_stringGVKd_7 K98;
static _KLbyte_stringGVKd_7 K99;
static _KLsignatureGVKe K100;
extern _KLsimple_methodGVKe Kfinish_generic_function_modelsVdfmc_conversion;
dylan_value Kfinish_generic_function_modelsVdfmc_conversionI (dylan_value, dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_finish_generic_function_modelsF105;
static dylan_value Kanonymous_of_finish_generic_function_modelsF105I (dylan_value, dylan_value);
static _KLsignatureGVKe K106;
static _KLsimple_object_vectorGVKd_2 K107;
static _KLsignatureGVKe K108;
static _KLsimple_object_vectorGVKd_2 K109;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_Cgeneric_function_domainsF112;
static dylan_value Kanonymous_of_Cgeneric_function_domainsF112I ();
dylan_value KCgeneric_function_explicitly_defined_domainsVdfmc_conversionMM0I (dylan_value);
static _KLsymbolGVKd KJinline_only_;
static _KLbyte_stringGVKd_11 K115;
extern _KLsimple_methodGVKe Kbinding_domain_modelsVdfmc_conversionMM0;
dylan_value Kbinding_domain_modelsVdfmc_conversionMM0I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_binding_domain_modelsF120;
static dylan_value Kanonymous_of_binding_domain_modelsF120I (dylan_value);
static _KLsignatureGVKe K121;
static _KLsignatureAvaluesGVKi K122;
extern _KLsimple_methodGVKe KCgeneric_function_domains_knownVdfmc_conversion;
dylan_value KCgeneric_function_domains_knownVdfmc_conversionI (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_Cgeneric_function_methodsF127;
static dylan_value Kanonymous_of_Cgeneric_function_methodsF127I ();
static _KLsymbolGVKd KJdynamic_extent_;
static _KLsymbolGVKd KJtesting_;
static _KLsymbolGVKd KJno_dependent_;
static _KLbyte_stringGVKd_42 K131;
static _KLbyte_stringGVKd_12 K132;
static _KLbyte_stringGVKd_7 K133;
static _KLbyte_stringGVKd_14 K134;
static _KLsignatureGVKe K135;
static _KLsimple_object_vectorGVKd_2 K136;
extern _KLsimple_methodGVKe KCgeneric_function_explicitly_defined_domainsVdfmc_conversionMM0;
extern _KLsimple_methodGVKe KCgeneric_function_explicitly_defined_methodsVdfmc_conversionMM0;

/* Indirection variables */

static dylan_value IKJsimple_ = &KJsimple_;
static dylan_value IKJinitializer_ = &KJinitializer_;
static dylan_value IKJPredefine_generic_ = &KJPredefine_generic_;
static dylan_value IKJPsignature_ = &KJPsignature_;
static dylan_value IKJPdefine_generic_ = &KJPdefine_generic_;
static dylan_value IKJdefinition_ = &KJdefinition_;
static dylan_value IKJmodule_ = &KJmodule_;
static dylan_value IKJsignature_spec_ = &KJsignature_spec_;
static dylan_value IKJtype_completeQ_ = &KJtype_completeQ_;
static dylan_value IKJmethod_completeQ_ = &KJmethod_completeQ_;
static dylan_value IKJsignaturedQ_ = &KJsignaturedQ_;
static dylan_value IKJdynamic_ = &KJdynamic_;
static dylan_value IKJbinding_ = &KJbinding_;
static dylan_value IKJsource_location_ = &KJsource_location_;
static dylan_value IKJinline_only_ = &KJinline_only_;
static dylan_value IKJdynamic_extent_ = &KJdynamic_extent_;
static dylan_value IKJtesting_ = &KJtesting_;
static dylan_value IKJno_dependent_ = &KJno_dependent_;

/* Variables */

dylan_value Cgeneric_function_explicitly_defined_methodsVdfmc_conversion = &KCgeneric_function_explicitly_defined_methodsVdfmc_conversionMM0;
dylan_value Cgeneric_function_explicitly_defined_domainsVdfmc_conversion = &KCgeneric_function_explicitly_defined_domainsVdfmc_conversionMM0;
dylan_value Cgeneric_function_imported_defined_domainsVdfmc_conversion = &KCgeneric_function_imported_defined_domainsVdfmc_conversionMM0;
dylan_value single_method_generic_functionQVdfmc_conversion = &Ksingle_method_generic_functionQVdfmc_conversion;
dylan_value form_equivalent_method_definitionVdfmc_conversion = &Kform_equivalent_method_definitionVdfmc_conversionMM0;
dylan_value Cgeneric_function_local_methods_knownVdfmc_conversion = &KCgeneric_function_local_methods_knownVdfmc_conversion;
dylan_value Cgeneric_function_methods_knownVdfmc_conversion = &KCgeneric_function_methods_knownVdfmc_conversion;
dylan_value Cgeneric_function_domains_knownVdfmc_conversion = &KCgeneric_function_domains_knownVdfmc_conversion;
dylan_value finish_generic_function_modelsVdfmc_conversion = &Kfinish_generic_function_modelsVdfmc_conversion;

/* Objects */

_KLsimple_methodGVKe Kcompute_form_model_objectVdfmc_commonMdfmc_conversionM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K135,
  &Kcompute_form_model_objectVdfmc_commonMdfmc_conversionM4I
};

_KLsimple_methodGVKe KCgeneric_function_methodsVdfmc_modelingMdfmc_conversionM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K42,
  &KCgeneric_function_methodsVdfmc_modelingMdfmc_conversionM0I
};

_KLsimple_methodGVKe KCgeneric_function_domainsVdfmc_modelingMdfmc_conversionM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K122,
  &KCgeneric_function_domainsVdfmc_modelingMdfmc_conversionM0I
};

_KLsimple_methodGVKe Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K100,
  &Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM2I
};

_KLsimple_methodGVKe Kform_binding_guaranteed_initializedQVdfmc_commonMdfmc_conversionM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K71,
  &Kform_binding_guaranteed_initializedQVdfmc_commonMdfmc_conversionM1I
};

_KLsimple_methodGVKe Kcompute_form_hollow_objectVdfmc_commonMdfmc_conversionM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K93,
  &Kcompute_form_hollow_objectVdfmc_commonMdfmc_conversionM1I
};

_KLsimple_methodGVKe Kretract_form_model_objectsVdfmc_definitionsMdfmc_conversionM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K80,
  &Kretract_form_model_objectsVdfmc_definitionsMdfmc_conversionM1I
};

_KLsimple_methodGVKe Kcompute_form_dynamic_init_codeVdfmc_conversionMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K78,
  &Kcompute_form_dynamic_init_codeVdfmc_conversionMM1I
};

_KLsimple_methodGVKe Kform_in_place_redefinitionQVdfmc_conversionMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K71,
  &Kform_in_place_redefinitionQVdfmc_conversionMM2I
};

_KLsimple_methodGVKe Kform_equivalent_method_definitionVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K68,
  &Kform_equivalent_method_definitionVdfmc_conversionMM0I
};

_KLsealed_generic_functionGVKe Ksingle_method_generic_functionQVdfmc_conversion = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K57,
  &K55,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe KCgeneric_function_local_methods_knownVdfmc_conversion = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K42,
  &KCgeneric_function_local_methods_knownVdfmc_conversionI
};

_KLsimple_methodGVKe KCgeneric_function_methods_knownVdfmc_conversion = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K42,
  &KCgeneric_function_methods_knownVdfmc_conversionI
};

_KLsimple_methodGVKe KCgeneric_function_imported_defined_domainsVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K42,
  &KCgeneric_function_imported_defined_domainsVdfmc_conversionMM0I
};

_KLsimple_methodGVKe Kbinding_imported_domain_modelsVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K40,
  &Kbinding_imported_domain_modelsVdfmc_conversionMM0I
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_binding_imported_domain_modelsF38 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K39,
  &Kanonymous_of_binding_imported_domain_modelsF38I,
  (dylan_value) 1
};

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

static _KLsignatureAvaluesGVKi K40 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K41,
  &KDsignature_LlistG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K42 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K43,
  &KDsignature_LsequenceG_typesVKi
};

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

_KLsimple_methodGVKe Kbinding_method_modelsVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K40,
  &Kbinding_method_modelsVdfmc_conversionMM0I
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_binding_method_modelsF49 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K39,
  &Kanonymous_of_binding_method_modelsF49I,
  (dylan_value) 1
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K50 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (dylan_value) 131129,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kuntracked_lookup_certain_local_modifying_modelsVdfmc_namespace
};

_KLsimple_methodGVKe Ksingle_method_generic_functionQVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K60,
  &Ksingle_method_generic_functionQVdfmc_conversionMM0I
};

_KLsimple_methodGVKe Ksingle_method_generic_functionQVdfmc_conversionMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K58,
  &Ksingle_method_generic_functionQVdfmc_conversionMM1I
};

static _KLpairGVKd K55 = {
  &KLpairGVKdW /* wrapper */,
  &Ksingle_method_generic_functionQVdfmc_conversionMM0,
  &K56
};

static _KLpairGVKd K56 = {
  &KLpairGVKdW /* wrapper */,
  &Ksingle_method_generic_functionQVdfmc_conversionMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_31 K57 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 125,
  "single-method-generic-function?"
};

static _KLsignatureAvaluesGVKi K58 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K59,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K60 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K43,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsymbolGVKd KJinitializer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K66
};

static _KLunionGVKe K64 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K65,
  &KLmethod_definitionGVdfmc_definitions
};

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

static _KLbyte_stringGVKd_11 K66 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "initializer"
};

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

static _KLsignatureAvaluesGVKi K68 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K69,
  &K70
};

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

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

static _KLsignatureAvaluesGVKi K71 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K69,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsymbolGVKd KJPredefine_generic_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K77
};

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

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

static _KLbyte_stringGVKd_15 K75 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "%define-generic"
};

static _KLbyte_stringGVKd_10 K76 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "%signature"
};

static _KLbyte_stringGVKd_17 K77 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "%redefine-generic"
};

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

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

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

static _KLsymbolGVKd KJdefinition_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K92
};

static _KLsymbolGVKd KJmodule_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K91
};

static _KLsymbolGVKd KJsignature_spec_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K90
};

static _KLsymbolGVKd KJtype_completeQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K89
};

static _KLsymbolGVKd KJmethod_completeQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K88
};

static _KLsymbolGVKd KJsignaturedQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K87
};

static _KLbyte_stringGVKd_11 K87 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "signatured?"
};

static _KLbyte_stringGVKd_16 K88 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "method-complete?"
};

static _KLbyte_stringGVKd_14 K89 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "type-complete?"
};

static _KLbyte_stringGVKd_14 K90 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "signature-spec"
};

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

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

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

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

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

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

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

static _KLbyte_stringGVKd_7 K98 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 29,
  "binding"
};

static _KLbyte_stringGVKd_7 K99 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 29,
  "dynamic"
};

static _KLsignatureGVKe K100 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943045,
  &K69
};

_KLsimple_methodGVKe Kfinish_generic_function_modelsVdfmc_conversion = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K108,
  &Kfinish_generic_function_modelsVdfmc_conversionI
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_finish_generic_function_modelsF105 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K106,
  &Kanonymous_of_finish_generic_function_modelsF105I,
  (dylan_value) 1
};

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

static _KLsimple_object_vectorGVKd_2 K107 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLBgeneric_functionGVdfmc_modeling,
  &KLtop_level_formGVdfmc_common
};

static _KLsignatureGVKe K108 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944073,
  &K109
};

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_Cgeneric_function_domainsF112 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K121,
  &Kanonymous_of_Cgeneric_function_domainsF112I,
  (dylan_value) 1
};

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

static _KLbyte_stringGVKd_11 K115 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "inline-only"
};

_KLsimple_methodGVKe Kbinding_domain_modelsVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K40,
  &Kbinding_domain_modelsVdfmc_conversionMM0I
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_binding_domain_modelsF120 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K39,
  &Kanonymous_of_binding_domain_modelsF120I,
  (dylan_value) 1
};

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

static _KLsignatureAvaluesGVKi K122 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K43,
  &KDsignature_LlistG_typesVKi
};

_KLsimple_methodGVKe KCgeneric_function_domains_knownVdfmc_conversion = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K42,
  &KCgeneric_function_domains_knownVdfmc_conversionI
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_Cgeneric_function_methodsF127 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K121,
  &Kanonymous_of_Cgeneric_function_methodsF127I,
  (dylan_value) 1
};

static _KLsymbolGVKd KJdynamic_extent_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K134
};

static _KLsymbolGVKd KJtesting_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K133
};

static _KLsymbolGVKd KJno_dependent_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K132
};

static _KLbyte_stringGVKd_42 K131 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 169,
  ">>> Retreating to the dynamic case for %=\n"
};

static _KLbyte_stringGVKd_12 K132 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "no-dependent"
};

static _KLbyte_stringGVKd_7 K133 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 29,
  "testing"
};

static _KLbyte_stringGVKd_14 K134 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "dynamic-extent"
};

static _KLsignatureGVKe K135 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944073,
  &K136
};

static _KLsimple_object_vectorGVKd_2 K136 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLgeneric_definitionGVdfmc_definitions,
  &KLvariable_name_fragmentGVdfmc_reader
};

_KLsimple_methodGVKe KCgeneric_function_explicitly_defined_domainsVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K42,
  &KCgeneric_function_explicitly_defined_domainsVdfmc_conversionMM0I
};

_KLsimple_methodGVKe KCgeneric_function_explicitly_defined_methodsVdfmc_conversionMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K42,
  &KCgeneric_function_explicitly_defined_methodsVdfmc_conversionMM0I
};

/* Code */

dylan_value Kcompute_form_model_objectVdfmc_commonMdfmc_conversionM4I (dylan_value form_, dylan_value variable_name_) {
  volatile dylan_value equivalent_method_def_;
  volatile dylan_value T4;
  volatile dylan_value model_;
  volatile dylan_value binding_;
  volatile dylan_value T7_0;
  volatile dylan_value T8_0;
  volatile dylan_value T8_1;
  volatile dylan_value signature_;
  volatile dylan_value staticQ_;
  volatile dylan_value T11;
  volatile dylan_value T12;
  volatile dylan_value Pold_valuePF13;
  volatile dylan_value T14;
  volatile dylan_value Pold_valuePF15;
  volatile dylan_value T16;
  volatile dylan_value T17_0;
  volatile dylan_value sealedQ_;
  volatile dylan_value T19;
  volatile dylan_value T20;
  volatile dylan_value T21;
  volatile dylan_value T22;
  volatile dylan_value T23;
  volatile dylan_value T24_0;
  volatile dylan_value T25_0;
  volatile dylan_value T26;
  volatile dylan_value signature_spec_;
  volatile _KLsimple_object_vectorGVKd_1 T28 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  volatile dylan_value T29;
  volatile dylan_value T30;
  volatile DWORD T31;
  volatile DWORD T32;
  volatile DWORD T33;
  volatile DWORD T34;
  volatile dylan_value T35;
  volatile dylan_value T36;
  volatile DWORD T37;
  volatile dylan_value T38;
  volatile _KLsimple_object_vectorGVKd_12 T39 = {&KLsimple_object_vectorGVKdW, (dylan_value) 49};
  volatile dylan_value T40;
  volatile dylan_value T41_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:12
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:16
  equivalent_method_def_ = Kform_equivalent_method_definitionVdfmc_conversionMM0I(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:17
  if (equivalent_method_def_ != &KPfalseVKi) {
    T26 = equivalent_method_def_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:17
    T4 = Kuntracked_ensure_form_modelVdfmc_namespaceMM0I(T26);
    model_ = T4;
  } else {
    model_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:17
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:18
  if (model_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:19
    binding_ = Kform_variable_bindingVdfmc_namespaceMM0I(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:20
    Knote_binding_dependencyVdfmc_commonI(binding_, (dylan_value) 1025);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:21
    T7_0 = model_;
    T25_0 = T7_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:23
    signature_spec_ = Kform_signatureVdfmc_definitionsMM0I(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:25
    T8_0 = CALL2(&Kcompute_signatureVdfmc_conversion, form_, signature_spec_);
    T8_1 = MV_GET_ELT(1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:24
    signature_ = T8_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:24
    staticQ_ = T8_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:26
    if (staticQ_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:37
      sealedQ_ = Kform_sealableQVdfmc_conversionI(form_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
      if (sealedQ_ != &KPfalseVKi) {
        T19 = sealedQ_;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
        T30 = SLOT_VALUE_INITD(form_, 11);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
        T31 = primitive_cast_integer_as_raw(T30);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
        T32 = primitive_machine_word_bit_field_extract(8,4,T31);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
        T33 = primitive_machine_word_logand(T32,-4);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
        T34 = primitive_machine_word_logior(T33,1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
        T35 = primitive_cast_raw_as_integer(T34);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
        T29 = primitive_idQ(T35,(dylan_value) 5);
        T19 = T29;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
      if (T19 != &KPfalseVKi) {
        T20 = &KLBsealed_generic_functionGVdfmc_modeling;
      } else {
        T20 = &KLBincremental_generic_functionGVdfmc_modeling;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:45
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T21 = CONGRUENT_CALL2(&KLstringGVKd, variable_name_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:45
      CONGRUENT_CALL_PROLOG(&Kas_lowercaseVKd, 1);
      T22 = CONGRUENT_CALL1(T21);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:45
      CONGRUENT_CALL_PROLOG(&Kmapped_modelVdfmc_common, 1);
      T23 = CONGRUENT_CALL1(T22);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:48
      T36 = SLOT_VALUE_INITD(form_, 11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:48
      T37 = primitive_cast_integer_as_raw(T36);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:48
      T38 = primitive_machine_word_logbitQ(13,T37);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
      T39.vector_element_[0] = IKJdefinition_;
      T39.vector_element_[1] = form_;
      T39.vector_element_[2] = &KJdebug_name_;
      T39.vector_element_[3] = T23;
      T39.vector_element_[4] = &KJsignature_;
      T39.vector_element_[5] = signature_;
      T39.vector_element_[6] = IKJsignature_spec_;
      T39.vector_element_[7] = signature_spec_;
      T39.vector_element_[8] = IKJdynamic_extent_;
      T39.vector_element_[9] = T38;
      T39.vector_element_[10] = &KJsealedQ_;
      T39.vector_element_[11] = sealedQ_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
      T40 = Kclass_constructor_atomicallyVKiI(T20);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:38
      T41_0 = APPLY2(T40, T20, &T39);
      T24_0 = T41_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
      T11 = Tdebug_outTVdfmc_common;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
      T12 = CALL2(&KmemberQVKd, IKJdynamic_, T11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
      if (T12 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
        Pold_valuePF13 = primitive_read_thread_variable(Tcurrent_stageTVdfmc_common);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
        ENTER_UNWIND_FRAME(T14);
        if (!nlx_setjmp(FRAME_DEST(T14))) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
          primitive_write_thread_variable(Tcurrent_stageTVdfmc_common, IKJtesting_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
          Pold_valuePF15 = primitive_read_thread_variable(Tcurrent_dependentTVdfmc_common);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
          ENTER_UNWIND_FRAME(T16);
          if (!nlx_setjmp(FRAME_DEST(T16))) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
            primitive_write_thread_variable(Tcurrent_dependentTVdfmc_common, IKJno_dependent_);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
            T28.vector_element_[0] = form_;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
            Kformat_outYformat_outVioMM0I(&K131, &T28);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
            FALL_THROUGH_UNWIND(&KPfalseVKi);
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
          primitive_write_thread_variable(Tcurrent_dependentTVdfmc_common, Pold_valuePF15);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
          CONTINUE_UNWIND();
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
          FALL_THROUGH_UNWIND(&KPfalseVKi);
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
        primitive_write_thread_variable(Tcurrent_stageTVdfmc_common, Pold_valuePF13);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
        CONTINUE_UNWIND();
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:29
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:31
      Kform_evaluation_tried_and_failedQ_setterVdfmc_commonMM0I(&KPtrueVKi, form_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:32
      T17_0 = &KPfalseVKi;
      T24_0 = T17_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:26
    T25_0 = T24_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:18
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:12
  MV_SET_COUNT(1);
  return(T25_0);
}

dylan_value KCgeneric_function_methodsVdfmc_modelingMdfmc_conversionM0I (dylan_value function_) {
  dylan_value form_;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T5;
  DWORD T6;
  dylan_value T7;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:197
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:199
  T5 = SLOT_VALUE_INITD(function_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:199
  T6 = primitive_cast_integer_as_raw(T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:199
  T7 = primitive_machine_word_logbitQ(2,T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:199
  if (T7 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:200
    CONGRUENT_CALL_PROLOG(&Kmodel_definitionVdfmc_common, 1);
    form_ = CONGRUENT_CALL1(function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:201
    if (form_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:202
      T3 = MAKE_CLOSURE_INITD(&Kanonymous_of_Cgeneric_function_methodsF127, 1, function_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:202
      Kdo_with_dependent_contextVdfmc_namespaceI((dylan_value) 37, form_, T3);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:201
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:208
    KPgeneric_function_methods_initializedQ_setterVdfmc_modelingMM0I(&KPtrueVKi, function_);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:199
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:210
  T4_0 = KPgeneric_function_methodsVdfmc_modelingMM0I(function_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:197
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value KCgeneric_function_domainsVdfmc_modelingMdfmc_conversionM0I (dylan_value gf_) {
  dylan_value form_;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T5;
  DWORD T6;
  dylan_value T7;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:237
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:239
  T5 = SLOT_VALUE_INITD(gf_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:239
  T6 = primitive_cast_integer_as_raw(T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:239
  T7 = primitive_machine_word_logbitQ(3,T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:239
  if (T7 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:240
    CONGRUENT_CALL_PROLOG(&Kmodel_definitionVdfmc_common, 1);
    form_ = CONGRUENT_CALL1(gf_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:241
    if (form_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:242
      T3 = MAKE_CLOSURE_INITD(&Kanonymous_of_Cgeneric_function_domainsF112, 2, form_, gf_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:242
      Kdo_with_dependent_contextVdfmc_namespaceI((dylan_value) 37, form_, T3);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:241
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:255
    KPgeneric_function_domains_initializedQ_setterVdfmc_modelingMM0I(&KPtrueVKi, gf_);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:239
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:257
  T4_0 = KPgeneric_function_domainsVdfmc_modelingMM0I(gf_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:237
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM2I (dylan_value form_) {
  dylan_value T2;
  dylan_value Utmp_;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value name_;
  dylan_value model_;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  DWORD T22;
  DWORD T23;
  DWORD T24;
  DWORD T25;
  dylan_value T26;
  dylan_value T27;
  _KLsimple_object_vectorGVKd_4 T28 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T29;
  dylan_value T30;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:308
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:310
  Kform_evaluation_tried_and_failedQ_setterVdfmc_commonMM0I(&KPfalseVKi, form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  T21 = SLOT_VALUE_INITD(form_, 11);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  T22 = primitive_cast_integer_as_raw(T21);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  T23 = primitive_machine_word_bit_field_extract(8,4,T22);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  T24 = primitive_machine_word_logand(T23,-4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  T25 = primitive_machine_word_logior(T24,1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  T26 = primitive_cast_raw_as_integer(T25);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  T15 = primitive_idQ(T26,(dylan_value) 13);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  if (T15 != &KPfalseVKi) {
    T20 = &KPfalseVKi;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
    T16 = primitive_idQ(T26,(dylan_value) 9);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
    if (T16 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
      T17 = Topen_is_dynamicQTVdfmc_definitions;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
      T18 = primitive_not(T17);
      T19 = T18;
    } else {
      T19 = &KPtrueVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
    T20 = T19;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  if (T20 != &KPfalseVKi) {
    Utmp_ = T20;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:312
    T27 = Kform_adjectivesVdfmc_commonMM1I(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:312
    T2 = CALL2(&KmemberQVKd, IKJdynamic_, T27);
    Utmp_ = T2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  if (Utmp_ != &KPfalseVKi) {
    T6 = Utmp_;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:313
    T4 = Kform_variable_bindingVdfmc_namespaceMM0I(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:313
    T5 = CALL1(&Kbinding_accessible_to_other_librariesQVdfmc_namespace, T4);
    T6 = T5;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  if (T6 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:315
    T7 = Kform_variable_bindingVdfmc_namespaceMM0I(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:316
    CONGRUENT_CALL_PROLOG(&Kform_source_locationVdfmc_common, 1);
    T8 = CONGRUENT_CALL1(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:314
    T28.vector_element_[0] = IKJbinding_;
    T28.vector_element_[1] = T7;
    T28.vector_element_[2] = IKJsource_location_;
    T28.vector_element_[3] = T8;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:314
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinaccessible_open_definitionGVdfmc_conversion, &T28);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:311
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:318
  CONGRUENT_CALL_PROLOG(&Kform_dynamicQVdfmc_common, 1);
  T9 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:318
  if (T9 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:319
    T29 = Kcompute_and_install_form_dynamic_init_methodVdfmc_conversionMM0I(form_);
    T14 = T29;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:321
    CONGRUENT_CALL_PROLOG(&Kform_variable_nameVdfmc_common, 1);
    name_ = CONGRUENT_CALL1(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:322
    CONGRUENT_CALL_PROLOG(&Kcompute_form_model_objectVdfmc_common, 2);
    model_ = CONGRUENT_CALL2(form_, name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:323
    if (model_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:324
      T12 = Kdefine_model_objectVdfmc_namespaceMM0I(name_, model_);
      T13 = T12;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:326
      T30 = Kcompute_and_install_form_dynamic_init_methodVdfmc_conversionMM0I(form_);
      T13 = T30;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:323
    T14 = T13;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:318
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:308
  MV_SET_COUNT(0);
  return(T14);
}

dylan_value Kform_binding_guaranteed_initializedQVdfmc_commonMdfmc_conversionM1I (dylan_value form_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:355
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:357
  T2_0 = &KPtrueVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:355
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kcompute_form_hollow_objectVdfmc_commonMdfmc_conversionM1I (dylan_value form_) {
  dylan_value variable_name_;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value signature_spec_;
  dylan_value T8;
  dylan_value T9_0;
  _KLsimple_object_vectorGVKd_18 T10 = {&KLsimple_object_vectorGVKdW, (dylan_value) 73};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:360
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:362
  CONGRUENT_CALL_PROLOG(&Kform_variable_nameVdfmc_common, 1);
  variable_name_ = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:363
  signature_spec_ = Kform_signatureVdfmc_definitionsMM0I(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:366
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T3 = CONGRUENT_CALL2(&KLstringGVKd, variable_name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:366
  CONGRUENT_CALL_PROLOG(&Kas_lowercaseVKd, 1);
  T4 = CONGRUENT_CALL1(T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:366
  CONGRUENT_CALL_PROLOG(&Kmapped_modelVdfmc_common, 1);
  T5 = CONGRUENT_CALL1(T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:367
  T8 = Kform_module_modelVdfmc_modelingMM0I(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:370
  T6 = Kform_sealableQVdfmc_conversionI(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:364
  T10.vector_element_[0] = IKJdefinition_;
  T10.vector_element_[1] = form_;
  T10.vector_element_[2] = &KJdebug_name_;
  T10.vector_element_[3] = T5;
  T10.vector_element_[4] = IKJmodule_;
  T10.vector_element_[5] = T8;
  T10.vector_element_[6] = &KJsignature_;
  T10.vector_element_[7] = &KPfalseVKi;
  T10.vector_element_[8] = IKJsignature_spec_;
  T10.vector_element_[9] = signature_spec_;
  T10.vector_element_[10] = &KJsealedQ_;
  T10.vector_element_[11] = T6;
  T10.vector_element_[12] = IKJtype_completeQ_;
  T10.vector_element_[13] = &KPtrueVKi;
  T10.vector_element_[14] = IKJmethod_completeQ_;
  T10.vector_element_[15] = &KPtrueVKi;
  T10.vector_element_[16] = IKJsignaturedQ_;
  T10.vector_element_[17] = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:364
  T9_0 = KLBincremental_generic_functionGZ32ZconstructorVdfmc_modelingMM0I(&KLBincremental_generic_functionGVdfmc_modeling, &T10, &KPfalseVKi, form_, &KPfalseVKi, T5, signature_spec_, &KPfalseVKi, T8, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:360
  MV_SET_COUNT(1);
  return(T9_0);
}

dylan_value Kretract_form_model_objectsVdfmc_definitionsMdfmc_conversionM1I (dylan_value form_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:383
  T2 = primitive_next_methods_parameter();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:384
  T3 = Kform_libraryVdfmc_commonMM0I(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:384
  CALL2(&Klibrary_description_system_gf_init_code_setterVdfmc_namespace, &KPfalseVKi, T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:385
  T4 = primitive_idQ(T2,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:385
  if (T4 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:385
    KerrorVKdMM1I(&K79, &KPempty_vectorVKi);
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:385
    T5 = SLOT_VALUE_INITD(T2, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:385
    T6 = SLOT_VALUE_INITD(T2, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:385
    MEP_CALL_PROLOG(T5, T6, 1);
    MEP_CALL1(T5, form_);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:385
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:385
  T7 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:383
  MV_SET_COUNT(0);
  return(T7);
}

dylan_value Kcompute_form_dynamic_init_codeVdfmc_conversionMM1I (dylan_value form_) {
  dylan_value name_;
  dylan_value sealed_;
  dylan_value T4;
  dylan_value module_;
  dylan_value definerF6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value definerF24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28;
  dylan_value T29;
  dylan_value T30;
  dylan_value T31;
  dylan_value T32;
  dylan_value T33;
  dylan_value T34;
  dylan_value constructor_;
  dylan_value T36_0;
  dylan_value sig_spec_;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40_0;
  dylan_value T41_0;
  dylan_value T42;
  _KLsimple_object_vectorGVKd_1 T43 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_8 T44 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  _KLsimple_object_vectorGVKd_2 T45 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_1 T46 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T47 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_2 T48 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:331
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:334
  CONGRUENT_CALL_PROLOG(&Kform_variable_nameVdfmc_common, 1);
  name_ = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:336
  sig_spec_ = Kform_signatureVdfmc_definitionsMM0I(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:338
  T38 = Kform_in_place_redefinitionQVdfmc_conversionMM2I(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:338
  if (T38 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:340
    sealed_ = Kform_sealableQVdfmc_conversionI(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:342
    CONGRUENT_CALL_PROLOG(&Kform_dynamicQVdfmc_common, 1);
    T4 = CONGRUENT_CALL1(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:342
    if (T4 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:342
      T39 = Kform_module_modelVdfmc_modelingMM0I(form_);
      module_ = T39;
    } else {
      module_ = &KPfalseVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:342
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:344
    definerF6 = Kdylan_valueVdfmc_namespaceI(IKJPredefine_generic_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T7 = CONGRUENT_CALL1(definerF6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T8 = CONGRUENT_CALL1(name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T9 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T10 = CALL1(&Ksubstitute_as_stringVdfmc_macro_expanderMM0, name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T11 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    CONGRUENT_CALL_PROLOG(&Kmake_literal_fragmentVdfmc_macro_expander, 1);
    T40_0 = CONGRUENT_CALL1(module_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T41_0 = T40_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T40_0);
      primitive_type_check(T41_0, &KLfragmentGVdfmc_reader);
      MV_CHECK_TYPE_EPILOGUE();
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T42 = T41_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T12 = CONGRUENT_CALL2(T11, T42);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T13 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPsignature_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T15 = CONGRUENT_CALL1(sig_spec_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T43.vector_element_[0] = T15;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T16 = KlistVKdI(&T43);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T17 = Kmake_parens_fragmentVdfmc_macro_expanderI(T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T18 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T19 = CONGRUENT_CALL1(sealed_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T20 = CONGRUENT_CALL2(T18, T19);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T44.vector_element_[0] = T8;
    T44.vector_element_[1] = T9;
    T44.vector_element_[2] = T10;
    T44.vector_element_[3] = T12;
    T44.vector_element_[4] = T13;
    T44.vector_element_[5] = T14;
    T44.vector_element_[6] = T17;
    T44.vector_element_[7] = T20;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T21 = KlistVKdI(&T44);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T22 = Kmake_parens_fragmentVdfmc_macro_expanderI(T21);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T45.vector_element_[0] = T7;
    T45.vector_element_[1] = T22;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:345
    T23 = Kmake_templateVdfmc_macro_expanderI(&T45);
    constructor_ = T23;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:348
    definerF24 = Kdylan_valueVdfmc_namespaceI(IKJPdefine_generic_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T25 = CONGRUENT_CALL1(definerF24);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T26 = CONGRUENT_CALL1(name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T27 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T28 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPsignature_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T29 = CONGRUENT_CALL1(sig_spec_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T46.vector_element_[0] = T29;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T30 = KlistVKdI(&T46);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T31 = Kmake_parens_fragmentVdfmc_macro_expanderI(T30);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T47.vector_element_[0] = T26;
    T47.vector_element_[1] = T27;
    T47.vector_element_[2] = T28;
    T47.vector_element_[3] = T31;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T32 = KlistVKdI(&T47);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T33 = Kmake_parens_fragmentVdfmc_macro_expanderI(T32);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T48.vector_element_[0] = T25;
    T48.vector_element_[1] = T33;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:349
    T34 = Kmake_templateVdfmc_macro_expanderI(&T48);
    constructor_ = T34;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:338
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:352
  T36_0 = constructor_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:331
  MV_SET_COUNT(1);
  return(T36_0);
}

dylan_value Kform_in_place_redefinitionQVdfmc_conversionMM2I (dylan_value form_) {
  dylan_value binding_;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8;
  dylan_value T9_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:376
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:378
  binding_ = Kform_variable_bindingVdfmc_namespaceMM0I(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:379
  T3 = CALL1(&Kbinding_previously_definedQVdfmc_namespace, binding_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:379
  if (T3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:380
    CONGRUENT_CALL_PROLOG(&Kbinding_previous_definitionVdfmc_namespace, 1);
    T4 = CONGRUENT_CALL1(binding_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:380
    T5 = Kobject_classVKdI(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:380
    T8 = primitive_instanceQ(T4,T5);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:380
    T9_0 = T8;
    T7_0 = T9_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:379
    T6_0 = &KPfalseVKi;
    T7_0 = T6_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:379
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:376
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value Kform_equivalent_method_definitionVdfmc_conversionMM0I (dylan_value form_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7_0;
  dylan_value T8_0;
  dylan_value T9_0;
  dylan_value T10;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:54
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
  T2 = Kform_sealableQVdfmc_conversionI(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
  if (T2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
    CONGRUENT_CALL_PROLOG(&Kform_implicitly_definedQVdfmc_common, 1);
    T3 = CONGRUENT_CALL1(form_);
    T4 = T3;
  } else {
    T4 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
  if (T4 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:67
    CONGRUENT_CALL_PROLOG(&Kform_compile_stage_onlyQVdfmc_common, 1);
    T5 = CONGRUENT_CALL1(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:67
    T10 = primitive_not(T5);
    T6 = T10;
  } else {
    T6 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
  if (T6 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:68
    T7_0 = Kform_single_modifying_simple_method_definitionVdfmc_conversionMM0I(form_);
    T9_0 = T7_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
    T8_0 = &KPfalseVKi;
    T9_0 = T8_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:66
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:54
  MV_SET_COUNT(1);
  return(T9_0);
}

dylan_value KCgeneric_function_local_methods_knownVdfmc_conversionI (dylan_value function_) {
  dylan_value binding_;
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:184
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:186
  binding_ = Kmodel_variable_bindingVdfmc_namespaceMM0I(function_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:187
  if (binding_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:188
    Knote_binding_dependencyVdfmc_commonI(binding_, (dylan_value) 1025);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:190
    ENGINE_NODE_CALL_PROLOG(&Kuntracked_lookup_certain_local_modifying_modelsVdfmc_namespace, &K50, 2);
    T6 = ENGINE_NODE_CALL2(&K50, binding_, &Kmethod_definitionQVdfmc_definitionsMM0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:189
    T3_0 = CALL2(&Kchoose_instancesVdfmc_definitions, &KLBmethodGVdfmc_modeling, T6);
    T5_0 = T3_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:193
    T4_0 = &KPempty_listVKi;
    T5_0 = T4_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:187
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:184
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value KCgeneric_function_methods_knownVdfmc_conversionI (dylan_value function_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8;
  DWORD T9;
  dylan_value T10;
  dylan_value T11_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:214
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:216
  T8 = SLOT_VALUE_INITD(function_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:216
  T9 = primitive_cast_integer_as_raw(T8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:216
  T10 = primitive_machine_word_logbitQ(4,T9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:216
  if (T10 != &KPfalseVKi) {
    T4 = T10;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:217
    T2 = Kmodel_libraryVdfmc_commonI(function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:217
    CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionQVdfmc_common, 1);
    T3 = CONGRUENT_CALL1(T2);
    T4 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:216
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:216
  if (T4 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:218
    CONGRUENT_CALL_PROLOG(&KCgeneric_function_methodsVdfmc_modeling, 1);
    T5_0 = CONGRUENT_CALL1(function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:218
    T11_0 = T5_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T5_0);
      primitive_type_check(T11_0, &KLsequenceGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T7_0 = T11_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:220
    T6_0 = KCgeneric_function_explicitly_defined_methodsVdfmc_conversionMM0I(function_);
    T7_0 = T6_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:216
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:214
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value KCgeneric_function_imported_defined_domainsVdfmc_conversionMM0I (dylan_value function_) {
  dylan_value binding_;
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:144
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:146
  binding_ = Kmodel_variable_bindingVdfmc_namespaceMM0I(function_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:147
  if (binding_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:148
    Knote_binding_dependencyVdfmc_commonI(binding_, (dylan_value) 1025);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:150
    T3_0 = CALL1(&Kbinding_imported_domain_modelsVdfmc_conversionMM0, binding_);
    T5_0 = T3_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:152
    T4_0 = &KPempty_listVKi;
    T5_0 = T4_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:147
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:144
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value Kbinding_imported_domain_modelsVdfmc_conversionMM0I (dylan_value binding_) {
  dylan_value T2;
  dylan_value T3_0;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T5;
  dylan_value T6;
  dylan_value T7_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:125
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:129
  T2 = Kbinding_certain_modifying_modelsVdfmc_namespaceMM0I(binding_, &Kdomain_definitionQVdfmc_definitionsMM0, &KPempty_vectorVKi, &KPtrueVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:127
  T4.vector_element_[0] = &KLBdomainGVdfmc_modeling;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:127
  T5 = primitive_copy_vector(&T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:127
  T6 = MAKE_CLOSURE_INITD(&Kanonymous_of_binding_imported_domain_modelsF38, 1, T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:127
  CONGRUENT_CALL_PROLOG(&KchooseVKd, 2);
  T7_0 = CONGRUENT_CALL2(T6, T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:125
  T3_0 = T7_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T7_0);
    primitive_type_check(T3_0, &KLlistGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:125
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kanonymous_of_binding_imported_domain_modelsF38I (dylan_value args_) {
  dylan_value T1;
  dylan_value T2;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:127
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:127
  T1 = Kconcatenate_2VKeMM1I(args_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:127
  T2 = APPLY1(&KinstanceQVKd, T1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:127
  return(T2);
}

dylan_value KCgeneric_function_explicitly_defined_methodsVdfmc_conversionMM0I (dylan_value function_) {
  dylan_value binding_;
  dylan_value Utmp_;
  dylan_value T4_0;
  dylan_value T5;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8_0;
  dylan_value T9_0;
  dylan_value T10_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:169
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:171
  binding_ = Kmodel_variable_bindingVdfmc_namespaceMM0I(function_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:172
  if (binding_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:173
    Utmp_ = CALL1(&Kbinding_defined_methodsVdfmc_namespaceMM0, binding_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:173
    if (Utmp_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:173
      T4_0 = Utmp_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:173
      T10_0 = T4_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T4_0);
        primitive_type_check(T10_0, &KLsequenceGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      T7_0 = T10_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:175
      Knote_binding_dependencyVdfmc_commonI(binding_, (dylan_value) 1025);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:177
      T5 = CALL1(&Kbinding_method_modelsVdfmc_conversionMM0, binding_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:176
      CALL2(&Kbinding_defined_methods_setterVdfmc_namespaceMM0, T5, binding_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:176
      T6_0 = T5;
      T7_0 = T6_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:173
    T9_0 = T7_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:180
    T8_0 = &KPempty_listVKi;
    T9_0 = T8_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:172
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:169
  MV_SET_COUNT(1);
  return(T9_0);
}

dylan_value Kbinding_method_modelsVdfmc_conversionMM0I (dylan_value binding_) {
  dylan_value T2;
  dylan_value T3_0;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T5;
  dylan_value T6;
  dylan_value T7_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:112
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:115
  T2 = Kbinding_certain_modifying_modelsVdfmc_namespaceMM0I(binding_, &Kmethod_definitionQVdfmc_definitionsMM0, &KPempty_vectorVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:114
  T4.vector_element_[0] = &KLBmethodGVdfmc_modeling;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:114
  T5 = primitive_copy_vector(&T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:114
  T6 = MAKE_CLOSURE_INITD(&Kanonymous_of_binding_method_modelsF49, 1, T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:114
  CONGRUENT_CALL_PROLOG(&KchooseVKd, 2);
  T7_0 = CONGRUENT_CALL2(T6, T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:112
  T3_0 = T7_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T7_0);
    primitive_type_check(T3_0, &KLlistGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:112
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kanonymous_of_binding_method_modelsF49I (dylan_value args_) {
  dylan_value T1;
  dylan_value T2;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:114
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:114
  T1 = Kconcatenate_2VKeMM1I(args_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:114
  T2 = APPLY1(&KinstanceQVKd, T1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:114
  return(T2);
}

dylan_value Ksingle_method_generic_functionQVdfmc_conversionMM0I (dylan_value gf_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:102
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:104
  T2_0 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:102
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Ksingle_method_generic_functionQVdfmc_conversionMM1I (dylan_value gf_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:107
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:109
  T2_0 = &KPtrueVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:107
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kform_single_modifying_simple_method_definitionVdfmc_conversionMM0I (dylan_value form_) {
  dylan_value binding_;
  dylan_value definitions_;
  dylan_value returnPexit_15_;
  dylan_value T5;
  dylan_value T6T, T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10_0;
  dylan_value T11_0;
  dylan_value method_definition_;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  _KLsimple_object_vectorGVKd_1 T24 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T25;
  _KLsimple_object_vectorGVKd_1 T26 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T27;
  dylan_value T28;
  dylan_value T29_0;
  dylan_value T30_0;
  dylan_value T31;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:72
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:75
  binding_ = Kform_variable_bindingVdfmc_namespaceMM0I(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:76
  definitions_ = CALL1(&Kbinding_modifying_definitionsVdfmc_namespaceMM0, binding_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:77
  method_definition_ = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:78
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
  T6T = definitions_;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
    T6 = T6T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
    T16 = primitive_idQ(T6,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
    if (T16 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
      T17 = SLOT_VALUE_INITD(T6, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:80
      T18 = primitive_instanceQ(T17,&KLdomain_definitionGVdfmc_definitions);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:80
      if (T18 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:82
        T19 = primitive_instanceQ(T17,&KLmethod_definitionGVdfmc_definitions);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:82
        if (T19 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:68
          T15 = T17;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:83
          T20 = Kform_classVdfmc_definitionsMM1I(T15);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:83
          T21 = primitive_idQ(T20,IKJsimple_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:83
          if (T21 != &KPfalseVKi) {
            T7 = T21;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:84
            T22 = Kform_classVdfmc_definitionsMM1I(T15);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:84
            T23 = primitive_idQ(T22,IKJinitializer_);
            T7 = T23;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:83
          T8 = T7;
        } else {
          T8 = &KPfalseVKi;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:82
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:80
        if (T8 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:86
          T14 = method_definition_;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:86
          if (T14 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:88
            T24.vector_element_[0] = &KPfalseVKi;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:88
            T25 = MV_SET_REST_AT(&T24, 0);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:88
            T10_0 = T25;
            goto L1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:90
            method_definition_ = T17;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:86
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:94
          T26.vector_element_[0] = &KPfalseVKi;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:78
          T27 = MV_SET_REST_AT(&T26, 0);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:78
          T10_0 = T27;
          goto L1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:80
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:80
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
      T28 = SLOT_VALUE_INITD(T6, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
      T29_0 = T28;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
      T30_0 = T29_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T29_0);
        primitive_type_check(T30_0, &KLlistGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
      T31 = T30_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
      T6T = T31;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:97
    T13 = method_definition_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:97
    T9 = T13;
    MV_SET_ELT(0, T13);
    MV_SET_COUNT(1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:79
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:78
  T10_0 = T9;
  L1: ;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:78
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:72
  T11_0 = T10_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T10_0);
    primitive_type_check(T11_0, &K64);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:72
  MV_SET_COUNT(1);
  return(T11_0);
}

dylan_value Kfinish_generic_function_modelsVdfmc_conversionI (dylan_value ld_, dylan_value form_mapper_) {
  dylan_value code_;
  dylan_value T4_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:262
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:267
  CALL2(form_mapper_, ld_, &Kanonymous_of_finish_generic_function_modelsF105);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:292
  code_ = Kmake_templateVdfmc_macro_expanderI(&KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:302
  T4_0 = code_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:262
  MV_SET_COUNT(1);
  return(T4_0);
}

static dylan_value Kanonymous_of_finish_generic_function_modelsF105I (dylan_value gf_, dylan_value form_) {
  dylan_value T3;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:267
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:268
  CONGRUENT_CALL_PROLOG(&KCgeneric_function_domainsVdfmc_modeling, 1);
  CONGRUENT_CALL1(gf_);
  T3 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:267
  MV_SET_COUNT(0);
  return(T3);
}

static dylan_value Kanonymous_of_Cgeneric_function_domainsF112I () {
  dylan_value domains_;
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12T, T12;
  dylan_value a_T, a_;
  dylan_value T14;
  dylan_value d_;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:242
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:243
  domains_ = KCgeneric_function_explicitly_defined_domainsVdfmc_conversionMM0I(CREF(1));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:245
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T2 = CONGRUENT_CALL2(&KLlistGVKd, domains_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:245
  CONGRUENT_CALL_PROLOG(&Kmapped_modelVdfmc_common, 1);
  T3 = CONGRUENT_CALL1(T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:244
  CALL2(&KPgeneric_function_domains_setterVdfmc_modelingMM0, T3, CREF(1));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:246
  T21 = primitive_instanceQ(CREF(1),&KLBincremental_generic_functionGVdfmc_modeling);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:246
  if (T21 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:247
    T4 = CALL1(&Kform_inline_policyVdfmc_commonMM0, CREF(0));
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:247
    T23 = primitive_idQ(T4,IKJinline_only_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:247
    T22 = primitive_not(T23);
    T5 = T22;
  } else {
    T5 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:246
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:246
  if (T5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
    CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
    T6 = CONGRUENT_CALL1(domains_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
    T7 = T6;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
    T8 = MV_GET_ELT(1);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
    T9 = MV_GET_ELT(2);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
    T10 = MV_GET_ELT(3);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
    T11 = MV_GET_ELT(5);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
    T12T = T7;
    a_T = &KPfalseVKi;
  L0: ;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
      T12 = T12T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
      a_ = a_T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
      T14 = CALL3(T10, domains_, T12, T8);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
      if (T14 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
        T16 = CALL2(T11, domains_, T12);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
        primitive_type_check(T16, &KLBdomainGVdfmc_modeling);
        d_ = T16;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
        T17 = CALL2(T9, domains_, T12);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:249
        KCdomain_next_setterVdfmc_modelingMM0I(a_, d_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
        T12T = T17;
        a_T = d_;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:250
      CALL2(&KCincremental_gf_domain_info_setterVdfmc_modelingMM0, a_, CREF(1));
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:250
      T18 = a_;
      MV_SET_ELT(0, a_);
      MV_SET_COUNT(1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:248
    T20 = T18;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:246
    T19 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T20 = T19;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:246
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:242
  return(T20);
}

dylan_value KCgeneric_function_explicitly_defined_domainsVdfmc_conversionMM0I (dylan_value function_) {
  dylan_value binding_;
  dylan_value Utmp_;
  dylan_value T4_0;
  dylan_value T5;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8_0;
  dylan_value T9_0;
  dylan_value T10_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:156
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:158
  binding_ = Kmodel_variable_bindingVdfmc_namespaceMM0I(function_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:159
  if (binding_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:160
    Knote_binding_dependencyVdfmc_commonI(binding_, (dylan_value) 1025);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:161
    Utmp_ = CALL1(&Kbinding_defined_domainsVdfmc_namespaceMM0, binding_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:161
    if (Utmp_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:161
      T4_0 = Utmp_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:161
      T10_0 = T4_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T4_0);
        primitive_type_check(T10_0, &KLsequenceGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      T7_0 = T10_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:163
      T5 = CALL1(&Kbinding_domain_modelsVdfmc_conversionMM0, binding_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:162
      CALL2(&Kbinding_defined_domains_setterVdfmc_namespaceMM0, T5, binding_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:162
      T6_0 = T5;
      T7_0 = T6_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:161
    T9_0 = T7_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:165
    T8_0 = &KPempty_listVKi;
    T9_0 = T8_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:159
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:156
  MV_SET_COUNT(1);
  return(T9_0);
}

dylan_value Kbinding_domain_modelsVdfmc_conversionMM0I (dylan_value binding_) {
  dylan_value T2;
  dylan_value T3_0;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T5;
  dylan_value T6;
  dylan_value T7_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:118
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:121
  T2 = Kbinding_certain_modifying_modelsVdfmc_namespaceMM0I(binding_, &Kdomain_definitionQVdfmc_definitionsMM0, &KPempty_vectorVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:120
  T4.vector_element_[0] = &KLBdomainGVdfmc_modeling;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:120
  T5 = primitive_copy_vector(&T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:120
  T6 = MAKE_CLOSURE_INITD(&Kanonymous_of_binding_domain_modelsF120, 1, T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:120
  CONGRUENT_CALL_PROLOG(&KchooseVKd, 2);
  T7_0 = CONGRUENT_CALL2(T6, T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:118
  T3_0 = T7_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T7_0);
    primitive_type_check(T3_0, &KLlistGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:118
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kanonymous_of_binding_domain_modelsF120I (dylan_value args_) {
  dylan_value T1;
  dylan_value T2;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:120
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:120
  T1 = Kconcatenate_2VKeMM1I(args_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:120
  T2 = APPLY1(&KinstanceQVKd, T1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:120
  return(T2);
}

dylan_value KCgeneric_function_domains_knownVdfmc_conversionI (dylan_value function_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8;
  DWORD T9;
  dylan_value T10;
  dylan_value T11_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:227
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:229
  T8 = SLOT_VALUE_INITD(function_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:229
  T9 = primitive_cast_integer_as_raw(T8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:229
  T10 = primitive_machine_word_logbitQ(4,T9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:229
  if (T10 != &KPfalseVKi) {
    T4 = T10;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:230
    T2 = Kmodel_libraryVdfmc_commonI(function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:230
    CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionQVdfmc_common, 1);
    T3 = CONGRUENT_CALL1(T2);
    T4 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:229
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:229
  if (T4 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:231
    CONGRUENT_CALL_PROLOG(&KCgeneric_function_domainsVdfmc_modeling, 1);
    T5_0 = CONGRUENT_CALL1(function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:231
    T11_0 = T5_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T5_0);
      primitive_type_check(T11_0, &KLsequenceGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T7_0 = T11_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:233
    T6_0 = KCgeneric_function_explicitly_defined_domainsVdfmc_conversionMM0I(function_);
    T7_0 = T6_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:229
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:227
  MV_SET_COUNT(1);
  return(T7_0);
}

static dylan_value Kanonymous_of_Cgeneric_function_methodsF127I () {
  dylan_value methods_;
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:202
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:203
  methods_ = KCgeneric_function_explicitly_defined_methodsVdfmc_conversionMM0I(CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:205
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T2 = CONGRUENT_CALL2(&KLlistGVKd, methods_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:205
  CONGRUENT_CALL_PROLOG(&Kmapped_modelVdfmc_common, 1);
  T3 = CONGRUENT_CALL1(T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:204
  CALL2(&KPgeneric_function_methods_setterVdfmc_modelingMM0, T3, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:204
  T4 = T3;
  MV_SET_ELT(0, T3);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:202
  return(T4);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJsimple_);
    if (T0 != &KJsimple_) {
      IKJsimple_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJinitializer_);
    if (T0 != &KJinitializer_) {
      IKJinitializer_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJPredefine_generic_);
    if (T0 != &KJPredefine_generic_) {
      IKJPredefine_generic_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJPsignature_);
    if (T0 != &KJPsignature_) {
      IKJPsignature_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJPdefine_generic_);
    if (T0 != &KJPdefine_generic_) {
      IKJPdefine_generic_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdefinition_);
    if (T0 != &KJdefinition_) {
      IKJdefinition_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmodule_);
    if (T0 != &KJmodule_) {
      IKJmodule_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsignature_spec_);
    if (T0 != &KJsignature_spec_) {
      IKJsignature_spec_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJtype_completeQ_);
    if (T0 != &KJtype_completeQ_) {
      IKJtype_completeQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmethod_completeQ_);
    if (T0 != &KJmethod_completeQ_) {
      IKJmethod_completeQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsignaturedQ_);
    if (T0 != &KJsignaturedQ_) {
      IKJsignaturedQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdynamic_);
    if (T0 != &KJdynamic_) {
      IKJdynamic_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJbinding_);
    if (T0 != &KJbinding_) {
      IKJbinding_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsource_location_);
    if (T0 != &KJsource_location_) {
      IKJsource_location_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJinline_only_);
    if (T0 != &KJinline_only_) {
      IKJinline_only_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdynamic_extent_);
    if (T0 != &KJdynamic_extent_) {
      IKJdynamic_extent_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJtesting_);
    if (T0 != &KJtesting_) {
      IKJtesting_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJno_dependent_);
    if (T0 != &KJno_dependent_) {
      IKJno_dependent_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_conversion__X_define_generic_for_user () {
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:12
  T0 = KPadd_a_methodVKnI(&Kcompute_form_model_objectVdfmc_common, &Kcompute_form_model_objectVdfmc_commonMdfmc_conversionM4, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I2;
}
I2:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:197
  T0 = KPadd_a_methodVKnI(&KCgeneric_function_methodsVdfmc_modeling, &KCgeneric_function_methodsVdfmc_modelingMdfmc_conversionM0, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I5;
}
I5:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:237
  T0 = KPadd_a_methodVKnI(&KCgeneric_function_domainsVdfmc_modeling, &KCgeneric_function_domainsVdfmc_modelingMdfmc_conversionM0, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I8;
}
I8:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:308
  T0 = KPadd_a_methodVKnI(&Kcompute_and_install_form_model_objectsVdfmc_common, &Kcompute_and_install_form_model_objectsVdfmc_commonMdfmc_conversionM2, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I11;
}
I11:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:355
  T0 = KPadd_a_methodVKnI(&Kform_binding_guaranteed_initializedQVdfmc_common, &Kform_binding_guaranteed_initializedQVdfmc_commonMdfmc_conversionM1, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I14;
}
I14:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:360
  T0 = KPadd_a_methodVKnI(&Kcompute_form_hollow_objectVdfmc_common, &Kcompute_form_hollow_objectVdfmc_commonMdfmc_conversionM1, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I17;
}
I17:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/conversion/define-generic.dylan:383
  T0 = KPadd_a_methodVKnI(&Kretract_form_model_objectsVdfmc_definitions, &Kretract_form_model_objectsVdfmc_definitionsMdfmc_conversionM1, &Kdfmc_conversion_libraryYdylan_userVdfmc_conversion, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I20;
}
I20:

  return;
}


/* eof */
