#include "run-time.h"

/* Typedefs for referenced classes */

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

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

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

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

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

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

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

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

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

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

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

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

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

typedef struct {
  D wrapper;
} _KLidGVenvironment_protocols;

typedef struct {
  D wrapper;
  D stretchy_representation_;
} _KLstretchy_object_vectorGVKe;

typedef struct {
  D wrapper;
  D id_generic_function_;
  D id_specializers_;
} _KLmethod_idGVenvironment_protocols;

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

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

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

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(354);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(12);

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

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

typedef struct {
  D wrapper;
  D private_shadowable_form_init_method_;
  D private_shadowable_form_system_init_method_;
  D shadowable_form_properties_flags_;
  D form_compilation_record_;
  D private_form_source_location_;
  D private_form_parent_form_;
  D form_sequence_number_;
  D private_form_dependencies_;
  D private_form_referenced_variables_;
  D private_form_adjectives_;
  D private_form_variable_name_or_names_;
  D form_properties_;
  D private_form_superclass_expressions_;
  D private_form_slot_specs_;
  D private_form_inherited_slot_specs_;
  D private_form_keyword_specs_;
  D private_form_metaclass_spec_;
} _KLclass_definitionGVdfmc_definitions;

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

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

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

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

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D server_project_;
  D compiler_object_table_;
  D dfmc_database_proxy_;
  D module_name_proxies_;
} _KLdfmc_databaseGVdfmc_environment_database;

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

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

typedef struct {
  D wrapper;
} _KLsequenceGVKd;

typedef struct {
  D wrapper;
  D id_name_;
  D id_module_;
} _KLdefinition_idGVenvironment_protocols;

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

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D Pid_;
  D compiler_object_proxy_;
  D application_object_proxy_;
} _KLgeneric_function_objectGVenvironment_protocols;

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D Pid_;
  D compiler_object_proxy_;
  D application_object_proxy_;
} _KLmethod_objectGVenvironment_protocols;

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

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

typedef struct {
  D wrapper;
  D parameter_name_;
  D parameter_type_;
} _KLparameterGVenvironment_protocols;

typedef struct {
  D wrapper;
  D parameter_name_;
  D parameter_type_;
  D parameter_keyword_;
  D parameter_default_value_;
} _KLoptional_parameterGVenvironment_protocols;

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D Pid_;
  D compiler_object_proxy_;
  D application_object_proxy_;
} _KLdylan_function_objectGVenvironment_protocols;


/* Typedefs for defined classes */


/* Referenced object declarations */

D Kmake_variableYdfmc_derived_informationVdfmc_browser_supportI (D, D);
D KPadd_a_methodVKnI (D, D, D, D, D, D);
extern _KLincremental_generic_functionGVKe Kfunction_parametersVenvironment_protocols;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLlibraryGVKe Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLincremental_generic_functionGVKe Kdo_generic_function_methodsVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kmethod_specializersVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kmethod_generic_functionVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kfind_compiler_database_proxyVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kcompiler_database_proxy_idVenvironment_protocols;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
D Kbrowsing_contextVdfmc_environment_databaseMM0I (D, D);
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
D Ksource_form_variableVdfmc_environment_databaseMM0I (D);
extern _KLsealed_generic_functionGVKe Kvariable_homeYdfmc_derived_informationVdfmc_browser_support;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLsealed_generic_functionGVKe Kvariable_nameYdfmc_derived_informationVdfmc_browser_support;
extern _KLsealed_generic_functionGVKe Kid_nameVenvironment_protocols;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
D KEEVKdI (D, D);
extern _KLclassGVKd KLgeneric_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLgeneric_definitionGVdfmc_definitionsW;
D Kdefinition_home_name_and_moduleVdfmc_environment_databaseI (D, D);
extern _KLclassGVKd KLmodule_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLmodule_definitionGVdfmc_definitionsW;
D Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM1I (D, D);
extern _KLsimple_methodGVKe Kvariable_active_definitionYdfmc_derived_informationVdfmc_browser_support;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
D Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM2I (D, D);
extern _KLclassGVKd KLidGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLidGVenvironment_protocolsW;
D KLstretchy_object_vectorGZ32ZconstructorVKiMM0I (D, D);
extern _KLclassGVKd KLstretchy_object_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLstretchy_object_vectorGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
D KasVKdMM41I (D, D);
extern _KLsymbolGVKd KJgeneric_function_;
D KmakeVKdMenvironment_protocolsM0I (D, D);
extern _KLclassGVKd KLmethod_idGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLmethod_idGVenvironment_protocolsW;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLkeyword_methodGVKe KmakeVKdMM48;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLsimple_methodGVKe Kfunctional_parameter_typesYdfmc_derived_informationVdfmc_browser_support;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLsealed_generic_functionGVKe Ktype_expression_to_definitionVdfmc_environment_database;
extern _KLsimple_methodGVKe Kfunctional_parametersYdfmc_derived_informationVdfmc_browser_support;
D Kfind_LobjectGVdfmc_environment_databaseI (D);
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLincremental_generic_functionGVKe KLVKd;
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 _KLclassGVKd KLclass_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLclass_definitionGVdfmc_definitionsW;
D KaddXVKdMM3I (D, D);
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLtop_level_formGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLtop_level_formGVdfmc_commonW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLdfmc_databaseGVdfmc_environment_database;
extern _KLmm_wrapperGVKi_0 KLdfmc_databaseGVdfmc_environment_databaseW;
extern _KLclassGVKd KLmethod_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLmethod_definitionGVdfmc_definitionsW;
D Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM4I (D, D, D, D);
D Kobject_classVKdI (D);
extern _KLsealed_generic_functionGVKe Kmap_as_oneVKi;
extern _KLincremental_generic_functionGVKe KemptyQVKd;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLsealed_generic_functionGVKe Kbrowsing_contextVdfmc_environment_database;
D Kmore_specific_contextVdfmc_environment_databaseI (D, D);
D Kcollect_from_all_client_contextsVdfmc_environment_databaseMM0I (D, D, D, D, D);
extern _KLsimple_methodGVKe Kvariable_active_method_definitionsYdfmc_derived_informationVdfmc_browser_support;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLclassGVKd KLdefinition_idGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLdefinition_idGVenvironment_protocolsW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
D Kmake_environment_objectVenvironment_protocolsMM2I (D, D, D, D, D, D, D);
extern _KLclassGVKd KLgeneric_function_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLgeneric_function_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLmethod_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLmethod_objectGVenvironment_protocolsW;
extern _KLsimple_methodGVKe Kmake_environment_object_for_type_expressionVdfmc_environment_database;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LsequenceG_typesVKi;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLsimple_methodGVKe Kfunctional_keysYdfmc_derived_informationVdfmc_browser_support;
D KmemberQVKdMM3I (D, D, D, D);
extern _KLsimple_methodGVKe KEEVKd;
D KmakeVKdMM23I (D, D, D, D);
extern _KLsealed_generic_functionGVKe KmapVKd;
extern _KLclassGVKd KLparameterGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLparameterGVenvironment_protocolsW;
extern _KLsimple_methodGVKe Kname_to_stringVdfmc_environment_database;
D Kmake_environment_object_for_type_expressionVdfmc_environment_databaseI (D, D);
D Kname_to_stringVdfmc_environment_databaseI (D);
extern _KLsymbolGVKd KJname_;
extern _KLsymbolGVKd KJtype_;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLclassGVKd KLoptional_parameterGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLoptional_parameterGVenvironment_protocolsW;
extern _KLunionGVKe KLtype_expressionGYdfmc_derived_informationVdfmc_browser_support;
extern _KLclassGVKd KLdylan_function_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLdylan_function_objectGVenvironment_protocolsW;
extern D Ddispatch_engine_module_idVenvironment_protocols;
extern D TdebuggingQTVKi;
extern D Tdebug_partsTVKi;
extern D Tdebug_out_functionTVKi;
extern D Dfalse_objectVenvironment_protocols;

/* Defined object declarations */

static _KLsymbolGVKd KJLobjectG_;
static _KLsymbolGVKd KJdylan_;
extern _KLsimple_methodGVKe Kfunction_parametersVenvironment_protocolsMdfmc_environment_databaseM0;
D Kfunction_parametersVenvironment_protocolsMdfmc_environment_databaseM0I (D, D);
extern _KLkeyword_methodGVKe Kdo_generic_function_methodsVenvironment_protocolsMdfmc_environment_databaseM0;
D Kdo_generic_function_methodsVenvironment_protocolsMdfmc_environment_databaseM0I (D, D, D, D, D);
extern _KLsimple_methodGVKe Kmethod_specializersVenvironment_protocolsMdfmc_environment_databaseM0;
D Kmethod_specializersVenvironment_protocolsMdfmc_environment_databaseM0I (D, D);
extern _KLsimple_methodGVKe Kmethod_generic_functionVenvironment_protocolsMdfmc_environment_databaseM0;
D Kmethod_generic_functionVenvironment_protocolsMdfmc_environment_databaseM0I (D, D);
extern _KLkeyword_methodGVKe Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM5;
D Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM5I (D, D, D, D);
extern _KLsimple_methodGVKe Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM3;
D Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM3I (D, D);
D Kinternal_dylan_methodQVdfmc_environment_databaseMM0I (D, D);
D Kmethod_definition_generic_definitionVdfmc_environment_databaseMM0I (D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_compiler_database_proxy_idF32;
static D Kanonymous_of_compiler_database_proxy_idF32I (D);
D Kdo_method_definition_specializersVdfmc_environment_databaseMM0I (D, D, D);
static _KLsymbolGVKd KJspecializers_;
static _KLpairGVKd K27;
static _KLunionGVKe K28;
static _KLsingletonGVKd K29;
static _KLbyte_stringGVKd_12 K30;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K31;
static _KLsignatureGVKe K33;
static _KLsimple_object_vectorGVKd_1 K34;
static _KLunionGVKe K35;
static _KLsignatureAvaluesGVKi K36;
static _KLsimple_object_vectorGVKd_2 K37;
static _KLsimple_object_vectorGVKd_1 K38;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_find_compiler_database_proxyF62;
static D Kanonymous_of_find_compiler_database_proxyF62I (D);
extern _KLsimple_methodGVKe Kfind_method_with_specializersVdfmc_environment_databaseMM0;
D Kfind_method_with_specializersVdfmc_environment_databaseMM0I (D, D, D);
static _KLunionGVKe K43;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_find_method_with_specializersF52;
static D Kanonymous_of_find_method_with_specializersF52I (D);
static _KLunionGVKe K46;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K47;
D Kdo_generic_definition_methodsVdfmc_environment_databaseMM0I (D, D, D, D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_generic_definition_methodsF51;
static D Kanonymous_of_do_generic_definition_methodsF51I (D);
D Kmethod_definition_specializersVdfmc_environment_databaseMM0I (D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_method_definition_specializersF56;
static D Kanonymous_of_method_definition_specializersF56I (D);
static _KLsignatureGVKe K57;
static _KLsimple_object_vectorGVKd_1 K58;
static _KLsignatureAvaluesGVKi K59;
static _KLsimple_object_vectorGVKd_3 K60;
static _KLsimple_object_vectorGVKd_1 K61;
static _KLsignatureGVKe K63;
static _KLsimple_object_vectorGVKd_1 K64;
static _KLkeyword_signatureAvaluesGVKi K65;
static _KLsimple_object_vectorGVKd_2 K66;
static _KLsymbolGVKd KJimportedQ_;
static _KLbyte_stringGVKd_9 K68;
static _KLsimple_object_vectorGVKd_2 K69;
static _KLsimple_object_vectorGVKd_1 K70;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K71;
extern _KLsimple_methodGVKe Kmethod_definition_generic_definitionVdfmc_environment_databaseMM0;
static _KLunionGVKe K73;
static _KLsignatureAvaluesGVKi K74;
static _KLsimple_object_vectorGVKd_2 K75;
static _KLsimple_object_vectorGVKd_1 K76;
static _KLunionGVKe K77;
static _KLsignatureAvaluesGVKi K78;
static _KLsimple_object_vectorGVKd_2 K79;
static _KLsimple_object_vectorGVKd_1 K80;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K81;
static _KLsignatureAvaluesGVKi K82;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_generic_function_methodsF92;
static D Kanonymous_of_do_generic_function_methodsF92I (D);
extern _KLkeyword_methodGVKe Kdo_generic_definition_methodsVdfmc_environment_databaseMM0;
static _KLkeyword_signatureGVKe K86;
static _KLsimple_object_vectorGVKd_2 K87;
static _KLsymbolGVKd KJcontext_;
static _KLbyte_stringGVKd_7 K89;
static _KLsimple_object_vectorGVKd_3 K90;
static _KLsimple_object_vectorGVKd_1 K91;
static _KLsignatureGVKe K93;
static _KLkeyword_signatureGVKe K94;
static _KLsimple_object_vectorGVKd_2 K95;
static _KLsymbolGVKd KJclient_;
static _KLbyte_stringGVKd_6 K97;
static _KLsimple_object_vectorGVKd_3 K98;
static _KLsimple_object_vectorGVKd_1 K99;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_function_parametersF121;
static D Kanonymous_of_function_parametersF121I ();
static _KLsimple_closure_methodGVKi_0 Kmake_parameterF117;
static D Kmake_parameterF117I (D, D);
static _KLsimple_closure_methodGVKi_0 Kmake_optional_parameterF109;
static D Kmake_optional_parameterF109I (D, D, D);
static _KLsymbolGVKd KJdfmc_environment_database_;
static _KLunionGVKe K107;
static _KLbyte_stringGVKd_25 K108;
static _KLsymbolGVKd KJkeyword_;
static _KLsymbolGVKd KJdefault_value_;
static _KLbyte_stringGVKd_13 K112;
static _KLbyte_stringGVKd_7 K113;
static _KLsignatureAvaluesGVKi K114;
static _KLsimple_object_vectorGVKd_3 K115;
static _KLsimple_object_vectorGVKd_1 K116;
static _KLsignatureAvaluesGVKi K118;
static _KLsimple_object_vectorGVKd_2 K119;
static _KLsimple_object_vectorGVKd_1 K120;
static _KLbyte_stringGVKd_354 K122;
static _KLsignatureGVKe K123;
static _KLsignatureAvaluesGVKi K124;
static _KLsimple_object_vectorGVKd_2 K125;
static _KLsimple_object_vectorGVKd_7 K126;
static _KLbyte_stringGVKd_5 K127;
static _KLbyte_stringGVKd_8 K128;

/* Indirection variables */

static D IKJLobjectG_ = &KJLobjectG_;
static D IKJdylan_ = &KJdylan_;
static D IKJspecializers_ = &KJspecializers_;
static D IKJimportedQ_ = &KJimportedQ_;
static D IKJcontext_ = &KJcontext_;
static D IKJclient_ = &KJclient_;
static D IKJdfmc_environment_database_ = &KJdfmc_environment_database_;
static D IKJkeyword_ = &KJkeyword_;
static D IKJdefault_value_ = &KJdefault_value_;

/* Variables */

D DLobjectGVdfmc_environment_database = &KPunboundVKi;

/* Objects */

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

static _KLsymbolGVKd KJdylan_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K127
};

_KLsimple_methodGVKe Kfunction_parametersVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K124,
  &Kfunction_parametersVenvironment_protocolsMdfmc_environment_databaseM0I
};

_KLkeyword_methodGVKe Kdo_generic_function_methodsVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K94,
  &key_mep_5,
  &Kdo_generic_function_methodsVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K95
};

_KLsimple_methodGVKe Kmethod_specializersVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K82,
  &Kmethod_specializersVenvironment_protocolsMdfmc_environment_databaseM0I
};

_KLsimple_methodGVKe Kmethod_generic_functionVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K78,
  &Kmethod_generic_functionVenvironment_protocolsMdfmc_environment_databaseM0I
};

_KLkeyword_methodGVKe Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM5 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K65,
  &key_mep_4,
  &Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM5I,
  &K66
};

_KLsimple_methodGVKe Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K36,
  &Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM3I
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_compiler_database_proxy_idF32 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K33,
  &Kanonymous_of_compiler_database_proxy_idF32I,
  (D) 1
};

static _KLsymbolGVKd KJspecializers_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K30
};

static _KLpairGVKd K27 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVKdMM48,
  &KPempty_listVKi
};

static _KLunionGVKe K28 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K29,
  &KLidGVenvironment_protocols
};

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

static _KLbyte_stringGVKd_12 K30 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "specializers"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K31 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Ktype_expression_to_definitionVdfmc_environment_database
};

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

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

static _KLunionGVKe K35 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K29,
  &KLtop_level_formGVdfmc_common
};

static _KLsignatureAvaluesGVKi K36 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 37749769,
  &K37,
  &K38
};

static _KLsimple_object_vectorGVKd_2 K37 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLmethod_definitionGVdfmc_definitions
};

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_find_compiler_database_proxyF62 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K63,
  &Kanonymous_of_find_compiler_database_proxyF62I,
  (D) 1
};

_KLsimple_methodGVKe Kfind_method_with_specializersVdfmc_environment_databaseMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K59,
  &Kfind_method_with_specializersVdfmc_environment_databaseMM0I
};

static _KLunionGVKe K43 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K29,
  &KLmethod_definitionGVdfmc_definitions
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_find_method_with_specializersF52 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K57,
  &Kanonymous_of_find_method_with_specializersF52I,
  (D) 1
};

static _KLunionGVKe K46 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K29,
  &KLclass_definitionGVdfmc_definitions
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K47 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kbrowsing_contextVdfmc_environment_database
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_generic_definition_methodsF51 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_do_generic_definition_methodsF51I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_method_definition_specializersF56 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K33,
  &Kanonymous_of_method_definition_specializersF56I,
  (D) 1
};

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

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

static _KLsignatureAvaluesGVKi K59 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K60,
  &K61
};

static _KLsimple_object_vectorGVKd_3 K60 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLgeneric_definitionGVdfmc_definitions,
  &KLsequenceGVKd
};

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

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

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

static _KLkeyword_signatureAvaluesGVKi K65 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 33817609,
  &K69,
  &K70,
  &KDsignature_LobjectG_typesVKi,
  &K61
};

static _KLsimple_object_vectorGVKd_2 K66 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJimportedQ_,
  &KPfalseVKi
};

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

static _KLbyte_stringGVKd_9 K68 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "imported?"
};

static _KLsimple_object_vectorGVKd_2 K69 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLmethod_idGVenvironment_protocols
};

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

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K71 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kbrowsing_contextVdfmc_environment_database
};

_KLsimple_methodGVKe Kmethod_definition_generic_definitionVdfmc_environment_databaseMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K74,
  &Kmethod_definition_generic_definitionVdfmc_environment_databaseMM0I
};

static _KLunionGVKe K73 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K29,
  &KLgeneric_function_objectGVenvironment_protocols
};

static _KLsignatureAvaluesGVKi K74 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K75,
  &K76
};

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

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

static _KLunionGVKe K77 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K29,
  &KLgeneric_definitionGVdfmc_definitions
};

static _KLsignatureAvaluesGVKi K78 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K79,
  &K80
};

static _KLsimple_object_vectorGVKd_2 K79 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLmethod_objectGVenvironment_protocols
};

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

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K81 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kbrowsing_contextVdfmc_environment_database
};

static _KLsignatureAvaluesGVKi K82 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K79,
  &KDsignature_LsequenceG_typesVKi
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_generic_function_methodsF92 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K93,
  &Kanonymous_of_do_generic_function_methodsF92I,
  (D) 1
};

_KLkeyword_methodGVKe Kdo_generic_definition_methodsVdfmc_environment_databaseMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K86,
  &key_mep_5,
  &Kdo_generic_definition_methodsVdfmc_environment_databaseMM0I,
  &K87
};

static _KLkeyword_signatureGVKe K86 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (D) 42205197,
  &K90,
  &K91,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K87 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJcontext_,
  &KPfalseVKi
};

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

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

static _KLsimple_object_vectorGVKd_3 K90 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLfunctionGVKd,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLgeneric_definitionGVdfmc_definitions
};

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

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

static _KLkeyword_signatureGVKe K94 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (D) 42205197,
  &K98,
  &K99,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K95 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJclient_,
  &KPfalseVKi
};

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

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

static _KLsimple_object_vectorGVKd_3 K98 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLfunctionGVKd,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLgeneric_function_objectGVenvironment_protocols
};

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_function_parametersF121 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K123,
  &Kanonymous_of_function_parametersF121I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kmake_parameterF117 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K118,
  &Kmake_parameterF117I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kmake_optional_parameterF109 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_3,
  &K114,
  &Kmake_optional_parameterF109I,
  (D) 1
};

static _KLsymbolGVKd KJdfmc_environment_database_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K108
};

static _KLunionGVKe K107 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K29,
  &KLparameterGVenvironment_protocols
};

static _KLbyte_stringGVKd_25 K108 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "dfmc-environment-database"
};

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

static _KLsymbolGVKd KJdefault_value_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K112
};

static _KLbyte_stringGVKd_13 K112 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "default-value"
};

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

static _KLsignatureAvaluesGVKi K114 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K115,
  &K116
};

static _KLsimple_object_vectorGVKd_3 K115 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLobjectGVKd,
  &KLtype_expressionGYdfmc_derived_informationVdfmc_browser_support,
  &KLsymbolGVKd
};

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

static _KLsignatureAvaluesGVKi K118 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K119,
  &K120
};

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

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

static _KLbyte_stringGVKd_354 K122 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 1417,
  "req-vars:  %=\n           req-types: %=\n           rest-var:  %=\n           rest-type: %=\n           next-var:  %=\n           next-type: %=\n           key-vars:  %=\n           key-types: %=\n           keys:      %=\n           all-keys?: %=\n           value-vars:  %=\n           value-types: %=\n           rest-value-var:  %=\n           rest-value-type: %="
};

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

static _KLsignatureAvaluesGVKi K124 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33561609,
  &K125,
  &K126
};

static _KLsimple_object_vectorGVKd_2 K125 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLdylan_function_objectGVenvironment_protocols
};

static _KLsimple_object_vectorGVKd_7 K126 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 29,
  &KLsequenceGVKd,
  &K107,
  &KLsequenceGVKd,
  &KLbooleanGVKd,
  &K107,
  &KLsequenceGVKd,
  &K107
};

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

static _KLbyte_stringGVKd_8 K128 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "<object>"
};

/* Code */

D Kfunction_parametersVenvironment_protocolsMdfmc_environment_databaseM0I (D server_, D function_) {
  D function_definition_;
  D T4_0;
  D T4_1;
  D T4_2;
  D T4_3;
  D T4_4;
  D T4_5;
  D req_vars_;
  D rest_var_;
  D next_var_;
  D key_vars_;
  D value_vars_;
  D rest_value_var_;
  D T11_0;
  D T11_1;
  D T11_2;
  D T11_3;
  D T11_4;
  D T11_5;
  D req_types_;
  D rest_type_;
  D next_type_;
  D key_types_;
  D value_types_;
  D rest_value_type_;
  D T18_0;
  D T18_1;
  D keys_;
  D all_keysQ_;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D env_required_;
  D T28;
  D T29;
  D env_rest_;
  D T31;
  D T32;
  D T33;
  D env_keys_;
  D T35;
  D T36;
  D env_next_;
  D T38;
  D T39;
  D T40;
  D env_values_;
  D T42;
  D T43;
  D env_rest_value_;
  D T45;
  D T46;
  D T47;
  D T48_0;
  D T48_1;
  D T48_2;
  D T48_3;
  D T48_4;
  D T48_5;
  D T48_6;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56_0;
  D T57;
  D T58;
  D T59;
  D T60_0;
  D T61;
  D T62_0;
  D T63;
  D T64_0;
  D T65;
  D T66_0;
  D T66_1;
  D T66_2;
  D T66_3;
  D T66_4;
  D T66_5;
  D T66_6;
  D T67_0;
  D T67_1;
  D T67_2;
  D T67_3;
  D T67_4;
  D T67_5;
  D T67_6;
  D T68_0;
  D T68_1;
  D T68_2;
  D T68_3;
  D T68_4;
  D T68_5;
  D T68_6;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:15
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:25
  T49 = SLOT_VALUE_INITD(function_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:24
  primitive_type_check(T49, &K35);
  function_definition_ = T49;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:26
  if (function_definition_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:29
    T4_0 = CALL1(&Kfunctional_parametersYdfmc_derived_informationVdfmc_browser_support, function_definition_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    T4_3 = MV_GET_ELT(3);
    T4_4 = MV_GET_ELT(4);
    T4_5 = MV_GET_ELT(5);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:28
    req_vars_ = T4_0;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:28
    rest_var_ = T4_1;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:28
    next_var_ = T4_2;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:28
    key_vars_ = T4_3;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:28
    value_vars_ = T4_4;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:28
    rest_value_var_ = T4_5;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:31
    T11_0 = CALL1(&Kfunctional_parameter_typesYdfmc_derived_informationVdfmc_browser_support, function_definition_);
    T11_1 = MV_GET_ELT(1);
    T11_2 = MV_GET_ELT(2);
    T11_3 = MV_GET_ELT(3);
    T11_4 = MV_GET_ELT(4);
    T11_5 = MV_GET_ELT(5);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:30
    req_types_ = T11_0;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:30
    rest_type_ = T11_1;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:30
    next_type_ = T11_2;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:30
    key_types_ = T11_3;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:30
    value_types_ = T11_4;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:30
    rest_value_type_ = T11_5;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:32
    T18_0 = CALL1(&Kfunctional_keysYdfmc_derived_informationVdfmc_browser_support, function_definition_);
    T18_1 = MV_GET_ELT(1);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:32
    keys_ = T18_0;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:32
    all_keysQ_ = T18_1;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
    T50 = TdebuggingQTVKi;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
    if (T50 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      T51 = Tdebug_partsTVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      T52 = primitive_idQ(T51,&KPempty_listVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      T53 = primitive_not(T52);
      T54 = T53;
    } else {
      T54 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
    if (T54 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      T55 = Tdebug_partsTVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      T56_0 = KmemberQVKdMM3I(IKJdfmc_environment_database_, T55, &KPempty_vectorVKi, &KEEVKd);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      T57 = T56_0;
      T58 = T57;
    } else {
      T58 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
    if (T58 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      T59 = Tdebug_out_functionTVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      T21 = MAKE_CLOSURE_INITD(&Kanonymous_of_function_parametersF121, 14, all_keysQ_, keys_, rest_value_type_, value_types_, key_types_, next_type_, rest_type_, req_types_, rest_value_var_, value_vars_, key_vars_, next_var_, rest_var_, req_vars_);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
      CALL1(T59, T21);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
    T22 = MAKE_CLOSURE_INITD(&Kmake_parameterF117, 1, server_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:53
    T23 = MAKE_CLOSURE_INITD(&Kmake_optional_parameterF109, 1, server_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:72
    if (req_vars_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:75
      if (req_types_ != &KPfalseVKi) {
        T25 = req_types_;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:76
        CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
        T24 = CONGRUENT_CALL1(req_vars_);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:76
        T60_0 = KmakeVKdMM23I(&KLsimple_object_vectorGVKd, &KPempty_vectorVKi, DLobjectGVdfmc_environment_database, T24);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:76
        T61 = T60_0;
        T25 = T61;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:75
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:73
      T26 = CALL3(&KmapVKd, T22, req_vars_, T25);
      env_required_ = T26;
    } else {
      env_required_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:72
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:78
    if (rest_var_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:79
      if (rest_type_ != &KPfalseVKi) {
        T28 = rest_type_;
      } else {
        T28 = DLobjectGVdfmc_environment_database;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:79
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:79
      T29 = CALL2(T22, rest_var_, T28);
      env_rest_ = T29;
    } else {
      env_rest_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:78
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:81
    if (key_vars_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:84
      if (key_types_ != &KPfalseVKi) {
        T32 = key_types_;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:85
        CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
        T31 = CONGRUENT_CALL1(key_vars_);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:85
        T62_0 = KmakeVKdMM23I(&KLsimple_object_vectorGVKd, &KPempty_vectorVKi, DLobjectGVdfmc_environment_database, T31);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:85
        T63 = T62_0;
        T32 = T63;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:84
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:82
      T33 = CALL4(&KmapVKd, T23, key_vars_, T32, keys_);
      env_keys_ = T33;
    } else {
      env_keys_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:81
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:88
    if (next_var_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:89
      if (next_type_ != &KPfalseVKi) {
        T35 = next_type_;
      } else {
        T35 = DLobjectGVdfmc_environment_database;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:89
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:89
      T36 = CALL2(T22, next_var_, T35);
      env_next_ = T36;
    } else {
      env_next_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:88
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:91
    if (value_vars_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:94
      if (value_types_ != &KPfalseVKi) {
        T39 = value_types_;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:95
        CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
        T38 = CONGRUENT_CALL1(value_vars_);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:95
        T64_0 = KmakeVKdMM23I(&KLsimple_object_vectorGVKd, &KPempty_vectorVKi, DLobjectGVdfmc_environment_database, T38);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:95
        T65 = T64_0;
        T39 = T65;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:94
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:92
      T40 = CALL3(&KmapVKd, T22, value_vars_, T39);
      env_values_ = T40;
    } else {
      env_values_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:91
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:97
    if (rest_value_var_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:98
      if (rest_value_type_ != &KPfalseVKi) {
        T42 = rest_value_type_;
      } else {
        T42 = DLobjectGVdfmc_environment_database;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:98
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:98
      T43 = CALL2(T22, rest_value_var_, T42);
      env_rest_value_ = T43;
    } else {
      env_rest_value_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:97
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:99
    if (env_required_ != &KPfalseVKi) {
      T45 = env_required_;
    } else {
      T45 = &KPempty_listVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:99
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:99
    if (env_keys_ != &KPfalseVKi) {
      T46 = env_keys_;
    } else {
      T46 = &KPempty_listVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:99
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:100
    if (env_values_ != &KPfalseVKi) {
      T47 = env_values_;
    } else {
      T47 = &KPempty_listVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:100
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:99
    T66_0 = T45;
    T66_1 = env_rest_;
    T66_2 = T46;
    T66_3 = all_keysQ_;
    T66_4 = env_next_;
    T66_5 = T47;
    T66_6 = env_rest_value_;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:99
    T68_0 = T66_0;
    T68_1 = T66_1;
    T68_2 = T66_2;
    T68_3 = T66_3;
    T68_4 = T66_4;
    T68_5 = T66_5;
    T68_6 = T66_6;
    {
      MV_CHECK_TYPE_PROLOGUE(T66_0);
      primitive_type_check(T68_0, &KLsequenceGVKd);
      primitive_type_check(T68_1, &K107);
      primitive_type_check(T68_2, &KLsequenceGVKd);
      primitive_type_check(T68_3, &KLbooleanGVKd);
      primitive_type_check(T68_4, &K107);
      primitive_type_check(T68_5, &KLsequenceGVKd);
      primitive_type_check(T68_6, &K107);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T48_0 = T68_0;
    T48_1 = T68_1;
    T48_2 = T68_2;
    T48_3 = T68_3;
    T48_4 = T68_4;
    T48_5 = T68_5;
    T48_6 = T68_6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:102
    T67_0 = &KPempty_listVKi;
    T67_1 = &KPfalseVKi;
    T67_2 = &KPempty_listVKi;
    T67_3 = &KPfalseVKi;
    T67_4 = &KPfalseVKi;
    T67_5 = &KPempty_listVKi;
    T67_6 = &KPfalseVKi;
    T48_0 = T67_0;
    T48_1 = T67_1;
    T48_2 = T67_2;
    T48_3 = T67_3;
    T48_4 = T67_4;
    T48_5 = T67_5;
    T48_6 = T67_6;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:26
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:15
  MV_SET_ELT(1, T48_1);
  MV_SET_ELT(2, T48_2);
  MV_SET_ELT(3, T48_3);
  MV_SET_ELT(4, T48_4);
  MV_SET_ELT(5, T48_5);
  MV_SET_ELT(6, T48_6);
  MV_SET_COUNT(7);
  return(T48_0);
}

D Kdo_generic_function_methodsVenvironment_protocolsMdfmc_environment_databaseM0I (D function_, D server_, D generic_function_, D Urest_, D client_) {
  D definition_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:106
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:112
  T11 = SLOT_VALUE_INITD(generic_function_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:111
  primitive_type_check(T11, &K77);
  definition_ = T11;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:113
  if (definition_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:114
    T12 = SLOT_VALUE_INITD(server_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:116
    T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_generic_function_methodsF92, 2, T12, function_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:115
    T8 = CALL3(&Kdo_generic_definition_methodsVdfmc_environment_databaseMM0, T7, server_, definition_);
    T10 = T8;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:113
    T9 = &KPfalseVKi;
    T10 = T9;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:113
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:106
  MV_SET_COUNT(0);
  return(T10);
}

D Kmethod_specializersVenvironment_protocolsMdfmc_environment_databaseM0I (D server_, D object_) {
  D req_types_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10T, T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D req_vars_;
  D object_class_definition_;
  D T17;
  DWORD i_T, i_;
  D T19;
  D T20_0;
  D T21_0;
  D specializers_;
  D T23;
  DWORD T24;
  D T25;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:145
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:148
  T21_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:148
  specializers_ = T21_0;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:149
  T23 = SLOT_VALUE_INITD(object_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:150
  ENGINE_NODE_CALL_PROLOG(&Kbrowsing_contextVdfmc_environment_database, &K81, 2);
  ENGINE_NODE_CALL2(&K81, server_, T23);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:153
  req_types_ = CALL1(&Kfunctional_parameter_typesYdfmc_derived_informationVdfmc_browser_support, T23);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:154
  if (req_types_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
    T4 = CALL1(&Kforward_iteration_protocolVKd, req_types_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
    T5 = T4;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
    T6 = MV_GET_ELT(1);
;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
    T7 = MV_GET_ELT(2);
;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
    T8 = MV_GET_ELT(3);
;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
    T9 = MV_GET_ELT(5);
;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
    T10T = T5;
  L0: ;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
      T10 = T10T;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
      T11 = CALL3(T8, req_types_, T10, T6);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
      if (T11 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
        T12 = CALL2(T9, req_types_, T10);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:156
        T13 = CALL2(&Kmake_environment_object_for_type_expressionVdfmc_environment_database, server_, T12);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:156
        KaddXVKdMM3I(specializers_, T13);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
        T14 = CALL2(T7, req_types_, T10);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
        T10T = T14;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:155
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:160
    req_vars_ = CALL1(&Kfunctional_parametersYdfmc_derived_informationVdfmc_browser_support, T23);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:161
    object_class_definition_ = Kfind_LobjectGVdfmc_environment_databaseI(server_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
    CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
    T17 = CONGRUENT_CALL1(req_vars_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
    i_T = 1;
  L1: ;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
      i_ = i_T;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
      T25 = primitive_cast_raw_as_integer(i_);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
      CONGRUENT_CALL_PROLOG(&KLVKd, 2);
      T19 = CONGRUENT_CALL2(T25, T17);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
      if (T19 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:163
        KaddXVKdMM3I(specializers_, object_class_definition_);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
        T24 = primitive_machine_word_add_signal_overflow(i_,4);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
        i_T = T24;
        goto L1;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:162
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:154
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:166
  T20_0 = specializers_;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:145
  MV_SET_COUNT(1);
  return(T20_0);
}

D Kmethod_generic_functionVenvironment_protocolsMdfmc_environment_databaseM0I (D server_, D object_) {
  D definition_;
  D T4_0;
  D T5_0;
  D T6;
  D T7;
  D context_;
  D T9;
  D T10_0;
  D T11_0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:201
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:204
  T7 = SLOT_VALUE_INITD(object_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:205
  ENGINE_NODE_CALL_PROLOG(&Kbrowsing_contextVdfmc_environment_database, &K71, 2);
  context_ = ENGINE_NODE_CALL2(&K71, server_, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:207
  definition_ = CALL2(&Kmethod_definition_generic_definitionVdfmc_environment_databaseMM0, context_, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:208
  if (definition_ != &KPfalseVKi) {
    T6 = definition_;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:210
    T9 = SLOT_VALUE_INITD(server_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:209
    T10_0 = Kmake_environment_objectVenvironment_protocolsMM2I(&KLgeneric_function_objectGVenvironment_protocols, &KPempty_vectorVKi, T9, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi, T6);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:209
    T11_0 = T10_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T10_0);
      primitive_type_check(T11_0, &K73);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T11_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:208
    T4_0 = &KPfalseVKi;
    T5_0 = T4_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:208
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:201
  MV_SET_COUNT(1);
  return(T5_0);
}

D Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM5I (D server_, D id_, D Urest_, D importedQ_) {
  volatile D returnPexit_12_;
  volatile D T6;
  volatile D T7;
  volatile D T8;
  volatile D T9_0;
  volatile D T10_0;
  volatile D T11_0;
  volatile D T12;
  volatile D T13;
  volatile D T14;
  volatile D T15;
  volatile D T16;
  volatile D T17;
  volatile D T18_0;
  volatile D T19;
  volatile D T20_0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:267
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:271
  T13 = SLOT_VALUE_INITD(id_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:272
  T14 = SLOT_VALUE_INITD(id_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:274
  T15 = Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM4I(server_, T13, &KPempty_vectorVKi, importedQ_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:275
  T16 = primitive_instanceQ(T15,&KLgeneric_definitionGVdfmc_definitions);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:275
  if (T16 != &KPfalseVKi) {
    T12 = T15;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:276
    ENTER_EXIT_FRAME(returnPexit_12_);
    if (nlx_setjmp(FRAME_DEST(returnPexit_12_))) {
        T9_0 = FRAME_RETVAL(returnPexit_12_);
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:278
      T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_find_compiler_database_proxyF62, 2, returnPexit_12_, server_);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:278
      T18_0 = Kobject_classVKdI(T14);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:278
      T19 = T18_0;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:278
      T17 = CALL3(&Kmap_as_oneVKi, T19, T7, T14);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:290
      T8 = CALL3(&Kfind_method_with_specializersVdfmc_environment_databaseMM0, server_, T12, T17);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:276
    T9_0 = T8;
      /* invalidate returnPexit_12_ */
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:276
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:276
    T20_0 = T9_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T9_0);
      primitive_type_check(T20_0, &K43);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T11_0 = T20_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:275
    T10_0 = &KPfalseVKi;
    T11_0 = T10_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:275
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:267
  MV_SET_COUNT(1);
  return(T11_0);
}

D Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM3I (D server_, D definition_) {
  volatile D gf_;
  volatile D function_id_;
  volatile D returnPexit_13_;
  volatile D T6;
  volatile D T7;
  volatile D T8_0;
  volatile D T9;
  volatile D Utmp_;
  volatile D T11_0;
  volatile D T12_0;
  volatile D T13;
  volatile D T14;
  volatile D T15;
  volatile D context_;
  volatile D T17;
  volatile D T18_0;
  volatile D specializer_ids_;
  volatile D T20;
  volatile _KLsimple_object_vectorGVKd_4 T21 = {&KLsimple_object_vectorGVKdW, (D) 17};
  volatile D T22;
  volatile D T23;
  volatile D T24_0;
  volatile D T25_0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:295
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:298
  context_ = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:299
  gf_ = Kmethod_definition_generic_definitionVdfmc_environment_databaseMM0I(context_, definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:300
  if (gf_ != &KPfalseVKi) {
    T13 = gf_;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:300
    T17 = Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM2I(server_, T13);
    function_id_ = T17;
  } else {
    function_id_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:300
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:301
  if (function_id_ != &KPfalseVKi) {
    T14 = function_id_;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:302
    ENTER_EXIT_FRAME(returnPexit_13_);
    if (nlx_setjmp(FRAME_DEST(returnPexit_13_))) {
        T8_0 = FRAME_RETVAL(returnPexit_13_);
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:303
      T18_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:303
      specializer_ids_ = T18_0;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:305
      T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_compiler_database_proxy_idF32, 3, specializer_ids_, returnPexit_13_, server_);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:304
      Kdo_method_definition_specializersVdfmc_environment_databaseMM0I(T7, server_, definition_);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:318
      T20 = KasVKdMM41I(&KLsimple_object_vectorGVKd, specializer_ids_);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:316
      T21.vector_element_[0] = &KJgeneric_function_;
      T21.vector_element_[1] = T14;
      T21.vector_element_[2] = IKJspecializers_;
      T21.vector_element_[3] = T20;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:316
      MIEP_CALL_PROLOG(&K27);
      T22 = KmakeVKdMenvironment_protocolsM0I(&KLmethod_idGVenvironment_protocols, &T21);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:302
    T8_0 = T22;
      /* invalidate returnPexit_13_ */
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:302
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:302
    T9 = T8_0;
    Utmp_ = T9;
  } else {
    Utmp_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:301
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:301
  if (Utmp_ != &KPfalseVKi) {
    T15 = Utmp_;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:301
    T11_0 = T15;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:301
    T25_0 = T11_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T11_0);
      primitive_type_check(T25_0, &K28);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T12_0 = T25_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:321
    T23 = Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM2I(server_, definition_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:321
    T24_0 = T23;
    T12_0 = T24_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:301
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:295
  MV_SET_COUNT(1);
  return(T12_0);
}

D Kinternal_dylan_methodQVdfmc_environment_databaseMM0I (D server_, D definition_) {
  D variable_;
  D home_variable_;
  D T5_0;
  D T5_1;
  D module_name_;
  D T7;
  D T8;
  D T9_0;
  D gf_;
  D T11_0;
  D T11_1;
  D T12_0;
  D T13_0;
  D T14_0;
  D T15;
  D T16;
  D context_;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22_0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:324
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:327
  context_ = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:328
  variable_ = Ksource_form_variableVdfmc_environment_databaseMM0I(definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:329
  if (variable_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:330
    CONGRUENT_CALL_PROLOG(&Kvariable_homeYdfmc_derived_informationVdfmc_browser_support, 2);
    home_variable_ = CONGRUENT_CALL2(context_, variable_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:331
    CONGRUENT_CALL_PROLOG(&Kvariable_nameYdfmc_derived_informationVdfmc_browser_support, 1);
    T5_0 = CONGRUENT_CALL1(home_variable_);
    T5_1 = MV_GET_ELT(1);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:331
    module_name_ = T5_1;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:332
    T7 = CALL1(&Kid_nameVenvironment_protocols, Ddispatch_engine_module_idVenvironment_protocols);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:332
    CONGRUENT_CALL_PROLOG(&KasVKd, 2);
    T8 = CONGRUENT_CALL2(&KLsymbolGVKd, T7);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:332
    T9_0 = KEEVKdI(module_name_, T8);
    T14_0 = T9_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:334
    gf_ = Kmethod_definition_generic_definitionVdfmc_environment_databaseMM0I(context_, definition_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:335
    if (gf_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/utilities.dylan:26
      T15 = gf_;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:335
      T11_0 = Kdefinition_home_name_and_moduleVdfmc_environment_databaseI(server_, T15);
      T11_1 = MV_GET_ELT(1);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:335
      T18 = T11_1;
      T19 = T18;
    } else {
      T19 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:335
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:336
    if (T19 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/utilities.dylan:26
      T16 = T19;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:337
      T20 = Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM1I(server_, T16);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:337
      T21 = primitive_idQ(T20,Ddispatch_engine_module_idVenvironment_protocols);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:337
      T22_0 = T21;
      T13_0 = T22_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:336
      T12_0 = &KPfalseVKi;
      T13_0 = T12_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:336
    T14_0 = T13_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:329
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:324
  MV_SET_COUNT(1);
  return(T14_0);
}

D Kmethod_definition_generic_definitionVdfmc_environment_databaseMM0I (D context_, D method_definition_) {
  D variable_;
  D T4;
  D generic_definition_;
  D T6_0;
  D T7_0;
  D T8_0;
  D T9;
  D T10;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:253
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:256
  variable_ = Ksource_form_variableVdfmc_environment_databaseMM0I(method_definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:258
  if (variable_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:258
    T4 = CALL2(&Kvariable_active_definitionYdfmc_derived_informationVdfmc_browser_support, context_, variable_);
    generic_definition_ = T4;
  } else {
    generic_definition_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:258
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:259
  T10 = primitive_instanceQ(generic_definition_,&KLgeneric_definitionGVdfmc_definitions);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:259
  if (T10 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:334
    T9 = generic_definition_;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:260
    T6_0 = T9;
    T8_0 = T6_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:259
    T7_0 = &KPfalseVKi;
    T8_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:259
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:253
  MV_SET_COUNT(1);
  return(T8_0);
}

static D Kanonymous_of_compiler_database_proxy_idF32I (D definition_) {
  D definitionF1;
  D id_;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  _KLsimple_object_vectorGVKd_1 T8 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T9;
  D T10;
  D T11;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:305
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:305
  definitionF1 = definition_;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:307
  T6 = primitive_instanceQ(definitionF1,&KLclass_definitionGVdfmc_definitions);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:307
  if (T6 != &KPfalseVKi) {
    T4 = definitionF1;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:308
    T7 = Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM2I(CREF(2), T4);
    id_ = T7;
  } else {
    id_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:307
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:309
  if (id_ != &KPfalseVKi) {
    T5 = id_;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:310
    T11 = KaddXVKdMM3I(CREF(0), T5);
    T3 = T11;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:312
    T8.vector_element_[0] = &KPfalseVKi;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:302
    T9 = MV_SET_REST_AT(&T8, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:302
    T10 = NLX(CREF(1), T9);
    T3 = T10;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:309
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:305
  return(T3);
}

D Kdo_method_definition_specializersVdfmc_environment_databaseMM0I (D function_, D server_, D definition_) {
  D req_types_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11T, T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D req_vars_;
  D object_class_definition_;
  D T18;
  DWORD i_T, i_;
  D T20;
  D T21;
  D T22;
  D definitionF23;
  DWORD T24;
  D T25;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:220
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:223
  Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:225
  req_types_ = CALL1(&Kfunctional_parameter_typesYdfmc_derived_informationVdfmc_browser_support, definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:226
  if (req_types_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
    T5 = CALL1(&Kforward_iteration_protocolVKd, req_types_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
    T6 = T5;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
    T7 = MV_GET_ELT(1);
;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
    T8 = MV_GET_ELT(2);
;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
    T9 = MV_GET_ELT(3);
;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
    T10 = MV_GET_ELT(5);
;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
    T11T = T6;
  L0: ;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
      T11 = T11T;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
      T12 = CALL3(T9, req_types_, T11, T7);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
      if (T12 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
        T13 = CALL2(T10, req_types_, T11);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:228
        ENGINE_NODE_CALL_PROLOG(&Ktype_expression_to_definitionVdfmc_environment_database, &K31, 2);
        definitionF23 = ENGINE_NODE_CALL2(&K31, server_, T13);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:229
        CALL1(function_, definitionF23);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
        T14 = CALL2(T8, req_types_, T11);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
        T11T = T14;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
      T15 = &KPfalseVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:227
    T22 = T15;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:233
    req_vars_ = CALL1(&Kfunctional_parametersYdfmc_derived_informationVdfmc_browser_support, definition_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:234
    object_class_definition_ = Kfind_LobjectGVdfmc_environment_databaseI(server_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
    CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
    T18 = CONGRUENT_CALL1(req_vars_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
    i_T = 1;
  L1: ;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
      i_ = i_T;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
      T25 = primitive_cast_raw_as_integer(i_);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
      CONGRUENT_CALL_PROLOG(&KLVKd, 2);
      T20 = CONGRUENT_CALL2(T25, T18);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
      if (T20 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:236
        CALL1(function_, object_class_definition_);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
        T24 = primitive_machine_word_add_signal_overflow(i_,4);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
        i_T = T24;
        goto L1;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
      T21 = &KPfalseVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:235
    T22 = T21;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:226
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:220
  MV_SET_COUNT(0);
  return(T22);
}

static D Kanonymous_of_find_compiler_database_proxyF62I (D id_) {
  D T2;
  D definition_;
  D T4;
  _KLsimple_object_vectorGVKd_1 T5 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T6;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:278
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:280
  definition_ = Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM4I(CREF(1), id_, &KPempty_vectorVKi, &KPtrueVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:284
  T4 = primitive_instanceQ(definition_,&KLclass_definitionGVdfmc_definitions);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:284
  if (T4 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:285
    T5.vector_element_[0] = &KPfalseVKi;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:276
    T6 = MV_SET_REST_AT(&T5, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:276
    NLX(CREF(0), T6);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:284
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:287
  T2 = definition_;
  MV_SET_ELT(0, definition_);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:278
  return(T2);
}

D Kfind_method_with_specializersVdfmc_environment_databaseMM0I (D server_, D definition_, D specializers_) {
  volatile D T4;
  volatile D T5;
  volatile D T6;
  volatile D Utmp_;
  volatile D T8;
  volatile D context_;
  volatile D returnPexit_11_;
  volatile D T11;
  volatile D T12;
  volatile D T13;
  volatile D T14_0;
  volatile D T15_0;
  volatile D T16;
  volatile D gf_context_;
  volatile D class_context_;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:172
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:177
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T4 = CONGRUENT_CALL1(specializers_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:177
  if (T4 != &KPfalseVKi) {
    T6 = &KPfalseVKi;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:177
    CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
    T5 = CONGRUENT_CALL3(specializers_, (D) 1, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:177
    primitive_type_check(T5, &K46);
    T16 = T5;
    T6 = T16;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:177
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:178
  gf_context_ = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:180
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:181
    ENGINE_NODE_CALL_PROLOG(&Kbrowsing_contextVdfmc_environment_database, &K47, 2);
    class_context_ = ENGINE_NODE_CALL2(&K47, server_, T6);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:182
    Utmp_ = Kmore_specific_contextVdfmc_environment_databaseI(class_context_, gf_context_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:182
    if (Utmp_ != &KPfalseVKi) {
      T8 = Utmp_;
    } else {
      T8 = gf_context_;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:182
    context_ = T8;
  } else {
    context_ = gf_context_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:180
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:186
  ENTER_EXIT_FRAME(returnPexit_11_);
  if (nlx_setjmp(FRAME_DEST(returnPexit_11_))) {
    T14_0 = FRAME_RETVAL(returnPexit_11_);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:188
    T12 = MAKE_CLOSURE_INITD(&Kanonymous_of_find_method_with_specializersF52, 3, returnPexit_11_, specializers_, server_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:187
    Kdo_generic_definition_methodsVdfmc_environment_databaseMM0I(T12, server_, definition_, &KPempty_vectorVKi, context_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:197
    T13 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:186
  T14_0 = T13;
    /* invalidate returnPexit_11_ */
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:186
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:172
  T15_0 = T14_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T14_0);
    primitive_type_check(T15_0, &K43);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:172
  MV_SET_COUNT(1);
  return(T15_0);
}

static D Kanonymous_of_find_method_with_specializersF52I (D method_definition_) {
  D method_specializers_;
  D T3;
  D T4;
  D T5;
  _KLsimple_object_vectorGVKd_1 T6 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T7;
  D T8;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:188
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:190
  method_specializers_ = Kmethod_definition_specializersVdfmc_environment_databaseMM0I(CREF(2), method_definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:191
  CONGRUENT_CALL_PROLOG(&KEVKd, 2);
  T3 = CONGRUENT_CALL2(method_specializers_, CREF(1));
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:191
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:192
    T6.vector_element_[0] = method_definition_;
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:186
    T7 = MV_SET_REST_AT(&T6, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:186
    T8 = NLX(CREF(0), T7);
    T5 = T8;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:191
    T4 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:191
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:188
  return(T5);
}

D Kdo_generic_definition_methodsVdfmc_environment_databaseMM0I (D function_, D server_, D definition_, D Urest_, D context_) {
  D variable_;
  D contextF7;
  D T8;
  D method_definitions_;
  D T10;
  D T11;
  D T12;
  D T13;
  DWORD T14T, T14;
  D T15;
  DWORD T16;
  D T17;
  D T18;
  DWORD T19;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:127
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:132
  variable_ = Ksource_form_variableVdfmc_environment_databaseMM0I(definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:133
  if (variable_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:134
    if (context_ != &KPfalseVKi) {
      contextF7 = context_;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:134
      T12 = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, definition_);
      contextF7 = T12;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:134
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:137
    T8 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_generic_definition_methodsF51, 1, variable_);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:136
    method_definitions_ = Kcollect_from_all_client_contextsVdfmc_environment_databaseMM0I(T8, server_, contextF7, &KPempty_vectorVKi, &KPtrueVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
    T15 = SLOT_VALUE_INITD(method_definitions_, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
    T16 = primitive_cast_integer_as_raw(T15);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
    T14T = 1;
  L0: ;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
      T14 = T14T;
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
      T17 = primitive_machine_word_equalQ(T14,T16);
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
      if (T17 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
        T18 = REPEATED_D_SLOT_VALUE_TAGGED(method_definitions_, 1, T14);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
        CALL1(function_, T18);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
        T19 = primitive_machine_word_add_signal_overflow(T14,4);
        // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
        T14T = T19;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
      // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:141
    T13 = &KPfalseVKi;
    T11 = T13;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:133
    T10 = &KPfalseVKi;
    T11 = T10;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:133
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:127
  MV_SET_COUNT(0);
  return(T11);
}

static D Kanonymous_of_do_generic_definition_methodsF51I (D context_) {
  D T1;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:137
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:138
  T1 = CALL2(&Kvariable_active_method_definitionsYdfmc_derived_informationVdfmc_browser_support, context_, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:137
  return(T1);
}

D Kmethod_definition_specializersVdfmc_environment_databaseMM0I (D server_, D definition_) {
  D T3;
  D T4_0;
  D T5_0;
  D specializers_;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:241
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:244
  T5_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:244
  specializers_ = T5_0;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:246
  T3 = MAKE_CLOSURE_INITD(&Kanonymous_of_method_definition_specializersF56, 1, specializers_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:245
  Kdo_method_definition_specializersVdfmc_environment_databaseMM0I(T3, server_, definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:250
  T4_0 = specializers_;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:241
  MV_SET_COUNT(1);
  return(T4_0);
}

static D Kanonymous_of_method_definition_specializersF56I (D type_) {
  D typeF1;
  D T2;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:246
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:246
  typeF1 = type_;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:247
  T2 = KaddXVKdMM3I(CREF(0), typeF1);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:246
  return(T2);
}

static D Kanonymous_of_do_generic_function_methodsF92I (D method_definition_) {
  D environment_method_;
  D T3;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:116
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:118
  environment_method_ = Kmake_environment_objectVenvironment_protocolsMM2I(&KLmethod_objectGVenvironment_protocols, &KPempty_vectorVKi, CREF(0), &KPfalseVKi, &KPfalseVKi, &KPfalseVKi, method_definition_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:121
  CALL1(CREF(1), environment_method_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:116
  T3 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:116
  MV_SET_COUNT(0);
  return(T3);
}

static D Kanonymous_of_function_parametersF121I () {
  _KLsimple_object_vectorGVKd_15 T0 = {&KLsimple_object_vectorGVKdW, (D) 61};
  D T1;
  D T2_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
  T0.vector_element_[0] = &K122;
  T0.vector_element_[1] = CREF(13);
  T0.vector_element_[2] = CREF(7);
  T0.vector_element_[3] = CREF(12);
  T0.vector_element_[4] = CREF(6);
  T0.vector_element_[5] = CREF(11);
  T0.vector_element_[6] = CREF(5);
  T0.vector_element_[7] = CREF(10);
  T0.vector_element_[8] = CREF(4);
  T0.vector_element_[9] = CREF(1);
  T0.vector_element_[10] = CREF(0);
  T0.vector_element_[11] = CREF(9);
  T0.vector_element_[12] = CREF(3);
  T0.vector_element_[13] = CREF(8);
  T0.vector_element_[14] = CREF(2);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
  T1 = primitive_copy_vector(&T0);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
  T2_0 = T1;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
  MV_SET_COUNT(1);
  return(T2_0);
}

static D Kmake_parameterF117I (D var_, D type_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6_0;
  D T7_0;
  _KLsimple_object_vectorGVKd_4 T8 = {&KLsimple_object_vectorGVKdW, (D) 17};
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:48
  CONGRUENT_CALL_PROLOG(&Kvariable_nameYdfmc_derived_informationVdfmc_browser_support, 1);
  T2 = CONGRUENT_CALL1(var_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:48
  CALL1(&Kname_to_stringVdfmc_environment_database, T2);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:50
  CONGRUENT_CALL_PROLOG(&Kvariable_nameYdfmc_derived_informationVdfmc_browser_support, 1);
  T3 = CONGRUENT_CALL1(var_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:50
  T4 = CALL1(&Kname_to_stringVdfmc_environment_database, T3);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:51
  T5 = Kmake_environment_object_for_type_expressionVdfmc_environment_databaseI(CREF(0), type_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:49
  T8.vector_element_[0] = &KJname_;
  T8.vector_element_[1] = T4;
  T8.vector_element_[2] = &KJtype_;
  T8.vector_element_[3] = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:49
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T6_0 = CONGRUENT_CALL2(&KLparameterGVenvironment_protocols, &T8);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
  T7_0 = T6_0;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:33
  MV_SET_COUNT(1);
  return(T7_0);
}

static D Kmake_optional_parameterF109I (D var_, D type_, D key_) {
  D name_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9_0;
  D T10_0;
  D T11;
  _KLsimple_object_vectorGVKd_8 T12 = {&KLsimple_object_vectorGVKdW, (D) 33};
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:53
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:58
  CONGRUENT_CALL_PROLOG(&Kvariable_nameYdfmc_derived_informationVdfmc_browser_support, 1);
  name_ = CONGRUENT_CALL1(var_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:60
  T5 = CALL1(&Kname_to_stringVdfmc_environment_database, name_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:61
  T6 = Kmake_environment_object_for_type_expressionVdfmc_environment_databaseI(CREF(0), type_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:62
  T11 = primitive_idQ(key_,name_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:62
  if (T11 != &KPfalseVKi) {
    T8 = &KPfalseVKi;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:63
    T7 = Kname_to_stringVdfmc_environment_databaseI(key_);
    T8 = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:62
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:59
  T12.vector_element_[0] = &KJname_;
  T12.vector_element_[1] = T5;
  T12.vector_element_[2] = &KJtype_;
  T12.vector_element_[3] = T6;
  T12.vector_element_[4] = IKJkeyword_;
  T12.vector_element_[5] = T8;
  T12.vector_element_[6] = IKJdefault_value_;
  T12.vector_element_[7] = Dfalse_objectVenvironment_protocols;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:59
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T9_0 = CONGRUENT_CALL2(&KLoptional_parameterGVenvironment_protocols, &T12);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:53
  T10_0 = T9_0;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:53
  MV_SET_COUNT(1);
  return(T10_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJLobjectG_);
    if (T0 != &KJLobjectG_) {
      IKJLobjectG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdylan_);
    if (T0 != &KJdylan_) {
      IKJdylan_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJspecializers_);
    if (T0 != &KJspecializers_) {
      IKJspecializers_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJimportedQ_);
    if (T0 != &KJimportedQ_) {
      primitive_repeated_slot_value_setter(T0, &K70, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K66, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcontext_);
    if (T0 != &KJcontext_) {
      primitive_repeated_slot_value_setter(T0, &K91, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K87, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJclient_);
    if (T0 != &KJclient_) {
      primitive_repeated_slot_value_setter(T0, &K99, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K95, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdfmc_environment_database_);
    if (T0 != &KJdfmc_environment_database_) {
      IKJdfmc_environment_database_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJkeyword_);
    if (T0 != &KJkeyword_) {
      IKJkeyword_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdefault_value_);
    if (T0 != &KJdefault_value_) {
      IKJdefault_value_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_environment_database__X_function_objects_for_user () {
{
  D T0;
  D T1;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:13
  T0 = Kmake_variableYdfmc_derived_informationVdfmc_browser_supportI(IKJLobjectG_, IKJdylan_);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:13
  DLobjectGVdfmc_environment_database = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:13
  T1 = &KPfalseVKi;
  goto I0;
}
I0:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:15
  T0 = KPadd_a_methodVKnI(&Kfunction_parametersVenvironment_protocols, &Kfunction_parametersVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I5;
}
I5:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:106
  T0 = KPadd_a_methodVKnI(&Kdo_generic_function_methodsVenvironment_protocols, &Kdo_generic_function_methodsVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I8;
}
I8:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:145
  T0 = KPadd_a_methodVKnI(&Kmethod_specializersVenvironment_protocols, &Kmethod_specializersVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I11;
}
I11:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:201
  T0 = KPadd_a_methodVKnI(&Kmethod_generic_functionVenvironment_protocols, &Kmethod_generic_functionVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I14;
}
I14:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:267
  T0 = KPadd_a_methodVKnI(&Kfind_compiler_database_proxyVenvironment_protocols, &Kfind_compiler_database_proxyVenvironment_protocolsMdfmc_environment_databaseM5, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I17;
}
I17:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/function-objects.dylan:295
  T0 = KPadd_a_methodVKnI(&Kcompiler_database_proxy_idVenvironment_protocols, &Kcompiler_database_proxy_idVenvironment_protocolsMdfmc_environment_databaseM3, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I20;
}
I20:

  return;
}


/* eof */
