#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;
} _KLbooleanGVKd;

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;
  D element_type_;
  D table_vector_;
  D initial_entries_;
  D grow_size_function_;
  D weakQ_;
} _KLtableGVKd;

#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(6);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(0);

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 xep_;
  D function_signature_;
  D mep_;
} _KLsimple_methodGVKe;

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

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
  D users_;
  D generator_;
  D environment_;
  D temporary_properties_;
} _KLtemporaryGVdfmc_flow_graph;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(36);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(29);
define__KLbyte_stringGVKd(27);
define__KLbyte_stringGVKd(28);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(2);
define__KLbyte_stringGVKd(1);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(21);
define__KLbyte_stringGVKd(38);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(31);
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(3);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(22);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(13);

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

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

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

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

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

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

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

#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 head_;
  D tail_;
} _KLlistGVKd;

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

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

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

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

typedef struct {
  D wrapper;
} _KLstreamGYcommon_extensionsVcommon_dylan;

typedef struct {
  D wrapper;
} _KLintegerGVKd;

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;

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

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

typedef struct {
  D wrapper;
  D type_estimate_to_be_normalizedQ_;
} _KLtype_estimate_bottomGVdfmc_typist;

typedef struct {
  D wrapper;
  D referenced_binding_;
  D users_;
} _KLdefined_constant_referenceGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D reference_value_;
} _KLobject_referenceGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
} _KLcall_site_summaryGVdfmc_modeling;

typedef struct {
  D wrapper;
  D users_;
} _KLvalue_referenceGVdfmc_flow_graph;

typedef struct {
  D wrapper;
} _KLbindingGVdfmc_namespace;

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

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

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

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

typedef struct {
  D wrapper;
  D compiled_to_definitionsQ_;
  D compilation_from_definitions_startedQ_;
  D compilation_definitions_inconsistentQ_;
  D private_compilation_context_records_;
  D compilation_timings_;
} _KLcompilation_contextGVdfmc_common;

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

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D users_;
  D private_Cfunction_signature_;
  D Pmep_;
  D private_debug_name_;
  D function_properties_;
  D private_signature_spec_;
  D parameters_dynamic_extent_;
  D private_lambda_heap_;
  D private_lambda_body_;
} _KLBlambdaGVdfmc_modeling;

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

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

typedef struct {
  D wrapper;
  D type_estimate_to_be_normalizedQ_;
  D type_estimate_unionees_variable_internal_;
  D type_estimate_unionees_cache_;
} _KLtype_estimate_unionGVdfmc_typist;

typedef struct {
  D wrapper;
  D type_estimate_to_be_normalizedQ_;
  D type_estimate_fixed_values_variable_internal_;
  D type_estimate_fixed_values_cache_;
  D type_estimate_rest_values_variable_internal_;
  D type_estimate_rest_values_cache_;
} _KLtype_estimate_valuesGVdfmc_typist;

typedef struct {
  D wrapper;
  D type_estimate_to_be_normalizedQ_;
  D type_estimate_raw_;
} _KLtype_estimate_rawGVdfmc_typist;

typedef struct {
  D wrapper;
  D type_estimate_to_be_normalizedQ_;
  D type_estimate_class_;
} _KLtype_estimate_classGVdfmc_typist;

typedef struct {
  D wrapper;
  D type_estimate_to_be_normalizedQ_;
} _KLtype_estimate_topGVdfmc_typist;


/* Typedefs for defined classes */

typedef struct {
  D wrapper;
  D type_estimate_to_be_normalizedQ_;
} _KLtype_estimateGVdfmc_typist;

typedef struct {
  D wrapper;
  D type_variable_contents_;
  D type_variable_supporters_;
  D type_variable_supportees_;
} _KLtype_variableGVdfmc_typist;

typedef struct {
  D wrapper;
  D justification_rule_;
  D justification_lhs_;
  D justification_rhs_;
} _KLjustificationGVdfmc_typist;


/* Referenced object declarations */

D KPadd_classVKeI (D);
D KPadd_nonsiblinged_domainVKnI (D, D);
extern _KLincremental_generic_functionGVKe KinitializeVKd;
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 _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
D KPadd_a_methodVKnI (D, D, D, D, D, D);
extern _KLincremental_generic_functionGVKe Kprint_objectYprintVio;
extern _KLlibraryGVKe Kdfmc_typist_libraryYdylan_userVdfmc_typist;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
D KlimitedVKdMM4I (D, D, D, D);
extern _KLclassGVKd KLtableGVKd;
extern _KLmm_wrapperGVKi_0 KLtableGVKdW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLsealed_generic_functionGVKe Kinitialize_typist_library_cachesVdfmc_namespace;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLsimple_methodGVKe Kimmutable_type_vectorVKe;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsimple_methodGVKe Kmake_LsignatureGVKi;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLsimple_methodGVKe KPdefine_genericVKn;
D KPadd_dynamic_methodVKnI (D, D);
extern _KLsimple_methodGVKe KPdefine_methodVKn;
extern _KLclassGVKd KLcomputationGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLcomputationGVdfmc_flow_graphW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLsimple_methodGVKe Kmake_Lkeyword_signatureGVKi;
extern _KLclassGVKd KLtemporaryGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLtemporaryGVdfmc_flow_graphW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLsealed_generic_functionGVKe Kcurrent_library_descriptionVdfmc_common;
extern _KLsealed_generic_functionGVKe Klibrary_type_cacheVdfmc_namespace;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM0;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM1;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM2;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM3;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM4;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM5;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM6;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM7;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM8;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM9;
extern _KLsimple_methodGVKe Ktype_estimate_normalizeVdfmc_typistMM10;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM0;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM1;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM2;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM3;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM4;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM5;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM6;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM7;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM8;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM9;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM10;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM11;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM12;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM13;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM14;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM15;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM16;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM17;
extern _KLsimple_methodGVKe Ktype_estimate_matchQVdfmc_typistMM18;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern _KLsimple_methodGVKe Ktype_estimate_disjointQVdfmc_typistMM0;
extern _KLsimple_methodGVKe Ktype_estimate_unionVdfmc_typistMM0;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM0;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM1;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM2;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM3;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM4;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM5;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM6;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM7;
extern _KLsimple_methodGVKe Ktype_estimate_baseVdfmc_typistMM8;
extern _KLsimple_methodGVKe Ktype_estimate_subtypeQVdfmc_typistMM0;
extern _KLsimple_methodGVKe Ktype_estimate_subtypeQVdfmc_typistMM1;
extern _KLsimple_methodGVKe Ktype_estimate_subtypeQVdfmc_typistMM2;
extern _KLsimple_methodGVKe Ktype_estimate_subtypeQVdfmc_typistMM3;
extern _KLsimple_methodGVKe Ktype_estimate_subtypeQVdfmc_typistMM4;
extern _KLsimple_methodGVKe Ktype_estimate_subtypeQVdfmc_typistMM5;
extern _KLsimple_methodGVKe Ktype_estimate_subtypeQVdfmc_typistMM6;
extern _KLsimple_methodGVKe Ktype_estimate_subtypeQVdfmc_typistMM7;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM0;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM1;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM2;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM3;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM4;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM5;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM6;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM7;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM8;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM9;
extern _KLsimple_methodGVKe Ktype_estimate_instanceQVdfmc_typistMM10;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLclassGVKd KLsetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsetter_methodGVKiW;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM2;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM3;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM4;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM5;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM6;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM7;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM8;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM9;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM10;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LtypeG_typesVKi;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLclassGVKd KLsubclassGVKe;
extern _KLmm_wrapperGVKi_0 KLsubclassGVKeW;
D Ksubclass_instanceQVKiI (D, D);
extern _KLsimple_methodGVKe Ktype_estimate_retractVdfmc_typistMM0;
D Kfunction_required_typeVKiI (D, D);
extern _KLclassGVKd KLstreamGYcommon_extensionsVcommon_dylan;
extern _KLmm_wrapperGVKi_0 KLstreamGYcommon_extensionsVcommon_dylanW;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
D Kobject_classVKdI (D);
extern _KLsealed_generic_functionGVKe KformatYformatVio;
extern _KLkeyword_methodGVKe Kprint_separated_collectionVdfmc_typist;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLsimple_methodGVKe KrcurryVKd;
extern _KLincremental_generic_functionGVKe KAVKd;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLincremental_generic_functionGVKe KwriteYstreams_protocolVcommon_dylan;
extern _KLfunction_classGVKi KLkeyword_closure_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_closure_methodGVKeW;
extern _KLsealed_generic_functionGVKe KassignmentsVdfmc_flow_graph;
extern _KLincremental_generic_functionGVKe KemptyQVKd;
D KerrorVKdMM1I (D, D);
extern _KLmoduleGVKe Kdfmc_typist_moduleYdylan_userVdfmc_typist;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLincremental_generic_functionGVKe Kremove_keyXVKd;
extern _KLincremental_generic_functionGVKe Kelement_setterVKd;
D Kfunction_value_typeVKiI (D, D);
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLsymbolGVKd KJdefault_;
extern _KLsealed_generic_functionGVKe Kcomputation_type_setterVdfmc_flow_graph;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
extern _KLsealed_generic_functionGVKe Kcomputation_typeVdfmc_flow_graph;
D KmakeVdfmc_typistMM10I (D cl_, D keys_);
extern _KLclassGVKd KLtype_estimate_bottomGVdfmc_typist;
extern _KLmm_wrapperGVKi_0 KLtype_estimate_bottomGVdfmc_typistW;
extern _KLclassGVKd KLdefined_constant_referenceGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLdefined_constant_referenceGVdfmc_flow_graphW;
extern _KLclassGVKd KLobject_referenceGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLobject_referenceGVdfmc_flow_graphW;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
D Kdebug_assertion_failureVKiI (D, D);
D KmemberQVKdMM3I (D, D, D, D);
extern _KLsimple_methodGVKe KEEVKd;
extern _KLincremental_generic_functionGVKe KaddXVKd;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLclassGVKd KLcall_site_summaryGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLcall_site_summaryGVdfmc_modelingW;
extern _KLclassGVKd KLvalue_referenceGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLvalue_referenceGVdfmc_flow_graphW;
extern _KLclassGVKd KLbindingGVdfmc_namespace;
extern _KLmm_wrapperGVKi_0 KLbindingGVdfmc_namespaceW;
extern _KLunionGVKe KLmodel_valueGVdfmc_modeling;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
D Kclass_instanceQ_initialVKiI (D, D);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLsealed_generic_functionGVKe Klibrary_type_cache_setterVdfmc_namespace;
extern _KLclassGVKd KLtype_estimate_pair_match_tableGVdfmc_typist;
extern _KLmm_wrapperGVKi_0 KLtype_estimate_pair_match_tableGVdfmc_typistW;
extern _KLsealed_generic_functionGVKe Klibrary_type_estimate_disjointQ_cache_setterVdfmc_namespace;
D KLobject_tableGZ32ZconstructorVKiMM0I (D, D, D, D, D, D);
extern _KLclassGVKd KLobject_tableGVKd;
extern _KLmm_wrapperGVKi_0 KLobject_tableGVKdW;
extern _KLsimple_methodGVKe Kdefault_grow_sizeVKe;
extern _KLsealed_generic_functionGVKe Klibrary_type_estimate_cons_cache_setterVdfmc_namespace;
extern _KLsealed_generic_functionGVKe Klibrary_type_estimate_dispatch_cache_setterVdfmc_namespace;
extern _KLclassGVKd KLcompilation_contextGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLcompilation_contextGVdfmc_commonW;
extern _KLclassGVKd KLstandalone_domainGVKe;
extern _KLmm_wrapperGVKi_0 KLstandalone_domainGVKeW;
D Ktype_estimate_disjointQVdfmc_typistMM0I (D t1_, D t2_);
extern _KLsimple_methodGVKe Ktype_estimate_differenceVdfmc_typistMM0;
extern _KLsimple_methodGVKe Ktype_estimate_intersectionVdfmc_typistMM0;
extern _KLincremental_generic_functionGVKe Kwrite_elementYstreams_protocolVcommon_dylan;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM0;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM1;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM2;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM3;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM4;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM5;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM6;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM7;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM8;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM9;
extern _KLkeyword_methodGVKe Kprint_type_estimate_internalsVdfmc_typistMM10;
extern _KLkeyword_methodGVKe Kdefault_class_constructorVKi;
D Kclass_instanceQ_rcpl_single_smallVKiI (D, D);
extern _KLclassGVKd KLBlambdaGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBlambdaGVdfmc_modelingW;
extern _KLsealed_generic_functionGVKe Klibrary_type_estimate_dispatch_cacheVdfmc_namespace;
extern _KLclassGVKd KLBgeneric_functionGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBgeneric_functionGVdfmc_modelingW;
extern _KLclassGVKd KLtype_estimate_sequence_match_tableGVdfmc_typist;
extern _KLmm_wrapperGVKi_0 KLtype_estimate_sequence_match_tableGVdfmc_typistW;
extern _KLclassGVKd KLtype_estimate_unionGVdfmc_typist;
extern _KLclassGVKd KLtype_estimate_valuesGVdfmc_typist;
extern _KLclassGVKd KLtype_estimate_rawGVdfmc_typist;
extern _KLclassGVKd KLtype_estimate_classGVdfmc_typist;
extern _KLclassGVKd KLtype_estimate_topGVdfmc_typist;
extern D Tstandard_outputTYstandard_ioVio;
extern D TdebuggingQTVKi;

/* Defined object declarations */

extern _KLclassGVKd KLtype_estimateGVdfmc_typist;
extern _KLmm_wrapperGVKi_0 KLtype_estimateGVdfmc_typistW;
extern _KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_typistRD_4;
extern _KLsimple_methodGVKe Kprint_objectYprintVioMdfmc_typistM0;
D Kprint_objectYprintVioMdfmc_typistM0I (D, D);
extern _KLclassGVKd KLtype_variableGVdfmc_typist;
extern _KLmm_wrapperGVKi_0 KLtype_variableGVdfmc_typistW;
extern _KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_typistRD_3;
extern _KLsimple_methodGVKe Kprint_objectYprintVioMdfmc_typistM1;
D Kprint_objectYprintVioMdfmc_typistM1I (D, D);
static _KLunionGVKe K18;
extern _KLsimple_methodGVKe Kinitialize_typist_library_cachesVdfmc_namespaceMdfmc_typistM0;
D Kinitialize_typist_library_cachesVdfmc_namespaceMdfmc_typistM0I (D);
extern _KLclassGVKd KLjustificationGVdfmc_typist;
extern _KLmm_wrapperGVKi_0 KLjustificationGVdfmc_typistW;
extern _KLsimple_methodGVKe Kprint_objectYprintVioMdfmc_typistM2;
D Kprint_objectYprintVioMdfmc_typistM2I (D, D);
extern _KLunionGVKe KLdfm_refGVdfmc_typist;
static _KLsimple_object_vectorGVKd_1 K33;
extern _KLsimple_closure_methodGVKi_0 Ktype_estimate_update_cacheVdfmc_typistMM0;
D Ktype_estimate_update_cacheVdfmc_typistMM0I (D, D, D);
extern _KLsealed_generic_functionGVKe Ktype_estimate_update_cacheVdfmc_typist;
extern _KLsimple_closure_methodGVKi_0 Ktype_estimate_in_cacheVdfmc_typistMM0;
D Ktype_estimate_in_cacheVdfmc_typistMM0I (D, D);
extern _KLsimple_closure_methodGVKi_0 Kcached_type_variableVdfmc_typistMM0;
D Kcached_type_variableVdfmc_typistMM0I (D, D);
static _KLsimple_object_vectorGVKd_1 K46;
extern _KLsealed_generic_functionGVKe Kcached_type_variableVdfmc_typist;
extern _KLsimple_closure_methodGVKi_0 Kcached_type_variable_setterVdfmc_typistMM0;
D Kcached_type_variable_setterVdfmc_typistMM0I (D, D, D);
static _KLsimple_object_vectorGVKd_1 K51;
extern _KLsealed_generic_functionGVKe Kcached_type_variable_setterVdfmc_typist;
extern _KLsimple_closure_methodGVKi_0 Kretract_cached_type_variableVdfmc_typistMM0;
D Kretract_cached_type_variableVdfmc_typistMM0I (D, D);
extern _KLsealed_generic_functionGVKe Kretract_cached_type_variableVdfmc_typist;
extern _KLsimple_closure_methodGVKi_0 Kcached_type_variableVdfmc_typistMM1;
D Kcached_type_variableVdfmc_typistMM1I (D, D);
extern _KLsimple_closure_methodGVKi_0 Kcached_type_variable_setterVdfmc_typistMM1;
D Kcached_type_variable_setterVdfmc_typistMM1I (D, D, D);
extern _KLsimple_closure_methodGVKi_0 Kretract_cached_type_variableVdfmc_typistMM1;
D Kretract_cached_type_variableVdfmc_typistMM1I (D, D);
static _KLsimple_object_vectorGVKd_3 K67;
static _KLsimple_object_vectorGVKd_3 K68;
extern _KLkeyword_closure_methodGVKe_0 Ktype_estimate_explainVdfmc_typistMM0;
D Ktype_estimate_explainVdfmc_typistMM0I (D, D, D, D, D, D);
extern _KLkeyword_closure_methodGVKe_0 Ktype_estimate_explainVdfmc_typistMM1;
D Ktype_estimate_explainVdfmc_typistMM1I (D, D, D, D, D, D);
extern _KLinstance_slot_descriptorGVKe Ktype_estimate_to_be_normalizedQVdfmc_typistHLtype_estimateG;
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM0;
D KmakeVdfmc_typistMM0I (D type_, D init_args_);
extern _KLkeyword_methodGVKe KmakeVdfmc_typistMM1;
D KmakeVdfmc_typistMM1I (D, D, D);
extern _KLsealed_generic_functionGVKe KmakeVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_variable_supporteesVdfmc_typist;
extern _KLsealed_generic_functionGVKe Kjustification_lhsVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_estimate_instanceQVdfmc_typist;
extern _KLsimple_methodGVKe Ktype_estimateEQVdfmc_typist;
D Ktype_estimateEQVdfmc_typistI (D, D);
extern _KLsealed_generic_functionGVKe Ktype_estimate_subtypeQVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_estimate_baseVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_estimate_unionVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_estimate_disjointQVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_estimate_matchQVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_estimate_normalizeVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_estimateVdfmc_typist;
extern _KLsimple_methodGVKe Ktype_estimateVdfmc_typistMM0;
D Ktype_estimateVdfmc_typistMM0I (D ref_);
static _KLpairGVKd K95;
static _KLsignatureAvaluesGVKi K96;
static _KLbyte_stringGVKd_13 K97;
static _KLsimple_object_vectorGVKd_1 K98;
static _KLpairGVKd K99;
static _KLpairGVKd K100;
static _KLpairGVKd K101;
static _KLpairGVKd K102;
static _KLpairGVKd K103;
static _KLpairGVKd K104;
static _KLpairGVKd K105;
static _KLpairGVKd K106;
static _KLpairGVKd K107;
static _KLpairGVKd K108;
static _KLpairGVKd K109;
static _KLsignatureAvaluesGVKi K110;
static _KLbyte_stringGVKd_23 K111;
static _KLpairGVKd K112;
static _KLpairGVKd K113;
static _KLpairGVKd K114;
static _KLpairGVKd K115;
static _KLpairGVKd K116;
static _KLpairGVKd K117;
static _KLpairGVKd K118;
static _KLpairGVKd K119;
static _KLpairGVKd K120;
static _KLpairGVKd K121;
static _KLpairGVKd K122;
static _KLpairGVKd K123;
static _KLpairGVKd K124;
static _KLpairGVKd K125;
static _KLpairGVKd K126;
static _KLpairGVKd K127;
static _KLpairGVKd K128;
static _KLpairGVKd K129;
static _KLpairGVKd K130;
static _KLsignatureAvaluesGVKi K131;
static _KLbyte_stringGVKd_20 K132;
static _KLpairGVKd K133;
static _KLsignatureAvaluesGVKi K134;
static _KLbyte_stringGVKd_23 K135;
static _KLsimple_object_vectorGVKd_2 K136;
static _KLpairGVKd K137;
static _KLsignatureAvaluesGVKi K138;
static _KLbyte_stringGVKd_19 K139;
static _KLpairGVKd K140;
static _KLpairGVKd K141;
static _KLpairGVKd K142;
static _KLpairGVKd K143;
static _KLpairGVKd K144;
static _KLpairGVKd K145;
static _KLpairGVKd K146;
static _KLpairGVKd K147;
static _KLpairGVKd K148;
static _KLbyte_stringGVKd_18 K149;
static _KLpairGVKd K150;
static _KLpairGVKd K151;
static _KLpairGVKd K152;
static _KLpairGVKd K153;
static _KLpairGVKd K154;
static _KLpairGVKd K155;
static _KLpairGVKd K156;
static _KLpairGVKd K157;
static _KLbyte_stringGVKd_22 K158;
static _KLpairGVKd K159;
static _KLpairGVKd K160;
static _KLpairGVKd K161;
static _KLpairGVKd K162;
static _KLpairGVKd K163;
static _KLpairGVKd K164;
static _KLpairGVKd K165;
static _KLpairGVKd K166;
static _KLpairGVKd K167;
static _KLpairGVKd K168;
static _KLpairGVKd K169;
static _KLsignatureAvaluesGVKi K170;
static _KLbyte_stringGVKd_23 K171;
static _KLsimple_object_vectorGVKd_2 K172;
extern _KLgetter_methodGVKi Kjustification_lhsVdfmc_typistMM0;
static _KLpairGVKd K174;
static _KLbyte_stringGVKd_17 K175;
extern _KLinstance_slot_descriptorGVKe Kjustification_lhsVdfmc_typistHLjustificationG;
static _KLsimple_closure_methodGVKi_0 K181;
static D K181I ();
static _KLsymbolGVKd KJlhs_;
static _KLbyte_stringGVKd_3 K180;
static _KLsignatureGVKe K182;
extern _KLgetter_methodGVKi Ktype_variable_supporteesVdfmc_typistMM0;
static _KLpairGVKd K184;
static _KLbyte_stringGVKd_24 K185;
extern _KLinstance_slot_descriptorGVKe Ktype_variable_supporteesVdfmc_typistHLtype_variableG;
static _KLsymbolGVKd KJsupportees_;
extern _KLsealed_generic_functionGVKe Ktype_variable_supportees_setterVdfmc_typist;
extern _KLsetter_methodGVKi Ktype_variable_supportees_setterVdfmc_typistMM0;
static _KLpairGVKd K190;
static _KLbyte_stringGVKd_31 K191;
static _KLbyte_stringGVKd_10 K192;
static _KLpairGVKd K193;
static _KLpairGVKd K194;
static _KLpairGVKd K195;
static _KLpairGVKd K196;
static _KLpairGVKd K197;
static _KLpairGVKd K198;
static _KLpairGVKd K199;
static _KLpairGVKd K200;
static _KLpairGVKd K201;
static _KLpairGVKd K202;
static _KLpairGVKd K203;
static _KLkeyword_signatureGVKe K204;
static _KLbyte_stringGVKd_4 K205;
static _KLkeyword_signatureAvaluesGVKi K206;
static _KLsimple_object_vectorGVKd_2 K207;
static _KLsymbolGVKd KJnormalizeQ_;
static _KLbyte_stringGVKd_10 K209;
static _KLsimple_object_vectorGVKd_1 K210;
static _KLsimple_object_vectorGVKd_1 K211;
static _KLsubclassGVKe K212;
extern _KLsealed_generic_functionGVKe Ktype_estimate_to_be_normalizedQVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_estimate_to_be_normalizedQ_setterVdfmc_typist;
extern _KLsetter_methodGVKi Ktype_estimate_to_be_normalizedQ_setterVdfmc_typistMM0;
static _KLpairGVKd K216;
static _KLbyte_stringGVKd_38 K217;
extern _KLgetter_methodGVKi Ktype_estimate_to_be_normalizedQVdfmc_typistMM0;
static _KLpairGVKd K219;
static _KLbyte_stringGVKd_31 K220;
extern _KLsealed_generic_functionGVKe Ktype_estimate_retractVdfmc_typist;
static _KLpairGVKd K222;
static _KLsignatureAvaluesGVKi K223;
static _KLbyte_stringGVKd_21 K224;
static _KLkeyword_closure_methodGVKe_0 KindentifyF260;
static D KindentifyF260I (D, D, D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_type_estimate_explainF248;
static D Kanonymous_of_type_estimate_explainF248I (D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K229;
static _KLbyte_stringGVKd_22 K230;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K231;
static _KLbyte_stringGVKd_9 K232;
extern _KLsealed_generic_functionGVKe Ktype_variable_supportersVdfmc_typist;
static _KLsymbolGVKd KJstream_;
static _KLsymbolGVKd KJprinter_;
static _KLbyte_stringGVKd_7 K236;
static _KLbyte_stringGVKd_6 K237;
extern _KLgetter_methodGVKi Ktype_variable_supportersVdfmc_typistMM0;
static _KLpairGVKd K239;
static _KLbyte_stringGVKd_24 K240;
extern _KLinstance_slot_descriptorGVKe Ktype_variable_supportersVdfmc_typistHLtype_variableG;
static _KLsymbolGVKd KJsupporters_;
extern _KLsealed_generic_functionGVKe Ktype_variable_supporters_setterVdfmc_typist;
extern _KLsetter_methodGVKi Ktype_variable_supporters_setterVdfmc_typistMM0;
static _KLpairGVKd K245;
static _KLbyte_stringGVKd_31 K246;
static _KLbyte_stringGVKd_10 K247;
static _KLbyte_stringGVKd_7 K249;
static _KLbyte_stringGVKd_4 K250;
static _KLsymbolGVKd KJconjunction_;
static _KLbyte_stringGVKd_3 K252;
static _KLsymbolGVKd KJrecurseQ_;
static _KLsymbolGVKd KJindent_;
static _KLbyte_stringGVKd_6 K255;
static _KLbyte_stringGVKd_8 K256;
static _KLbyte_stringGVKd_11 K257;
static _KLsignatureGVKe K258;
static _KLsimple_object_vectorGVKd_2 K259;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K261;
static _KLbyte_stringGVKd_1 K262;
static _KLbyte_stringGVKd_2 K263;
static _KLkeyword_signatureGVKe K264;
static _KLsimple_object_vectorGVKd_2 K265;
static _KLsymbolGVKd KJlevels_;
static _KLbyte_stringGVKd_6 K267;
static _KLsimple_object_vectorGVKd_2 K268;
static _KLsimple_object_vectorGVKd_1 K269;
static _KLsimple_object_vectorGVKd_6 K270;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_type_estimate_explainF273;
static D Kanonymous_of_type_estimate_explainF273I (D);
static _KLbyte_stringGVKd_15 K274;
static _KLsignatureGVKe K275;
extern _KLincremental_generic_functionGVKe Ktype_estimate_explainVdfmc_typist;
static _KLbyte_stringGVKd_21 K277;
static _KLbyte_stringGVKd_28 K278;
static _KLbyte_stringGVKd_27 K279;
static _KLbyte_stringGVKd_20 K280;
extern _KLsealed_generic_functionGVKe Kcanonical_refVdfmc_typist;
extern _KLsealed_generic_functionGVKe Ktype_variable_contentsVdfmc_typist;
extern _KLgetter_methodGVKi Ktype_variable_contentsVdfmc_typistMM0;
static _KLpairGVKd K284;
static _KLbyte_stringGVKd_22 K285;
extern _KLinstance_slot_descriptorGVKe Ktype_variable_contentsVdfmc_typistHLtype_variableG;
static _KLsimple_closure_methodGVKi_0 K295;
static D K295I ();
static _KLsymbolGVKd KJcontents_;
extern _KLsealed_generic_functionGVKe Ktype_variable_contents_setterVdfmc_typist;
extern _KLsetter_methodGVKi Ktype_variable_contents_setterVdfmc_typistMM0;
static _KLpairGVKd K292;
static _KLbyte_stringGVKd_29 K293;
static _KLbyte_stringGVKd_8 K294;
static _KLpairGVKd K296;
static _KLpairGVKd K297;
extern _KLsimple_methodGVKe Kcanonical_refVdfmc_typistMM0;
D Kcanonical_refVdfmc_typistMM0I (D);
extern _KLsimple_methodGVKe Kcanonical_refVdfmc_typistMM1;
D Kcanonical_refVdfmc_typistMM1I (D);
extern _KLsimple_methodGVKe Kcanonical_refVdfmc_typistMM2;
D Kcanonical_refVdfmc_typistMM2I (D);
extern _KLsimple_methodGVKe Kcanonical_refVdfmc_typistMM3;
D Kcanonical_refVdfmc_typistMM3I (D);
static _KLpairGVKd K306;
static _KLpairGVKd K307;
static _KLpairGVKd K308;
static _KLpairGVKd K309;
static _KLsignatureGVKe K310;
static _KLbyte_stringGVKd_13 K311;
static _KLsignatureGVKe K312;
static _KLsimple_object_vectorGVKd_1 K313;
static _KLsignatureGVKe K314;
static _KLsimple_object_vectorGVKd_1 K315;
static _KLunionGVKe K316;
static _KLsignatureAvaluesGVKi K317;
static _KLsimple_object_vectorGVKd_1 K318;
static _KLsimple_object_vectorGVKd_1 K319;
static _KLsignatureAvaluesGVKi K320;
static _KLbyte_stringGVKd_26 K321;
static _KLbyte_stringGVKd_36 K322;
extern _KLsealed_generic_functionGVKe Klookup_typeVdfmc_typist;
extern _KLsimple_methodGVKe Klookup_typeVdfmc_typistMM0;
D Klookup_typeVdfmc_typistMM0I (D, D, D);
static _KLpairGVKd K326;
static _KLsignatureAvaluesGVKi K327;
static _KLbyte_stringGVKd_11 K328;
static _KLsimple_object_vectorGVKd_3 K329;
extern _KLincremental_generic_functionGVKe Ktype_estimate_inferVdfmc_typist;
static _KLbyte_stringGVKd_19 K331;
static _KLunionGVKe K332;
static _KLunionGVKe K333;
extern _KLincremental_generic_functionGVKe Ktype_estimate_in_cacheVdfmc_typist;
static _KLbyte_stringGVKd_22 K335;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K336;
static _KLbyte_stringGVKd_18 K337;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K338;
static _KLbyte_stringGVKd_7 K339;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K340;
static _KLbyte_stringGVKd_1 K341;
static _KLsignatureGVKe K342;
static _KLsimple_object_vectorGVKd_2 K343;
static _KLimplementation_classGVKe K344;
static _KLsimple_object_vectorGVKd_3 K345;
extern _KLkeyword_methodGVKe KLjustificationGZ32ZconstructorVdfmc_typistMM0;
D KLjustificationGZ32ZconstructorVdfmc_typistMM0I (D, D, D, D, D);
static _KLsimple_object_vectorGVKd_1 K348;
static _KLsimple_object_vectorGVKd_6 K349;
static D K355I ();
static D K354I ();
static D K353I ();
static _KLkeyword_signatureAvaluesGVKi K356;
static _KLsimple_object_vectorGVKd_6 K357;
static _KLsymbolGVKd KJrule_;
static _KLsymbolGVKd KJrhs_;
static _KLbyte_stringGVKd_3 K360;
static _KLbyte_stringGVKd_4 K361;
static _KLsimple_object_vectorGVKd_3 K362;
static _KLsimple_object_vectorGVKd_1 K363;
extern _KLinstance_slot_descriptorGVKe Kjustification_ruleVdfmc_typistHLjustificationG;
extern _KLinstance_slot_descriptorGVKe Kjustification_rhsVdfmc_typistHLjustificationG;
static _KLsimple_closure_methodGVKi_0 K372;
static D K372I ();
extern _KLsealed_generic_functionGVKe Kjustification_rhsVdfmc_typist;
extern _KLgetter_methodGVKi Kjustification_rhsVdfmc_typistMM0;
static _KLpairGVKd K370;
static _KLbyte_stringGVKd_17 K371;
static _KLsimple_closure_methodGVKi_0 K379;
static D K379I ();
extern _KLsealed_generic_functionGVKe Kjustification_ruleVdfmc_typist;
extern _KLgetter_methodGVKi Kjustification_ruleVdfmc_typistMM0;
static _KLpairGVKd K377;
static _KLbyte_stringGVKd_18 K378;
static _KLbyte_stringGVKd_15 K380;
static _KLunionGVKe K381;
static _KLsingletonGVKd K382;
static _KLunionGVKe K383;
static _KLsignatureGVKe K384;
static _KLsimple_object_vectorGVKd_1 K385;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K386;
static _KLbyte_stringGVKd_19 K387;
static _KLsignatureGVKe K388;
static _KLsimple_object_vectorGVKd_2 K389;
static _KLimplementation_classGVKe K390;
static _KLsimple_object_vectorGVKd_3 K391;
extern _KLkeyword_methodGVKe KLtype_variableGZ32ZconstructorVdfmc_typistMM0;
D KLtype_variableGZ32ZconstructorVdfmc_typistMM0I (D, D, D, D, D);
static _KLsimple_object_vectorGVKd_6 K394;
static D K396I ();
static _KLkeyword_signatureAvaluesGVKi K397;
static _KLsimple_object_vectorGVKd_6 K398;
static _KLsimple_object_vectorGVKd_3 K399;
static _KLbyte_stringGVKd_15 K400;
extern _KLsimple_methodGVKe Ktype_estimate_pseudosubtypeQVdfmc_typist;
D Ktype_estimate_pseudosubtypeQVdfmc_typistI (D, D);
extern _KLsealed_generic_functionGVKe Ktype_estimate_differenceVdfmc_typist;
static _KLpairGVKd K404;
static _KLbyte_stringGVKd_24 K405;
extern _KLsealed_generic_functionGVKe Ktype_estimate_intersectionVdfmc_typist;
static _KLpairGVKd K407;
static _KLbyte_stringGVKd_26 K408;
extern _KLsealed_generic_functionGVKe Kprint_type_estimate_internalsVdfmc_typist;
static _KLbyte_stringGVKd_16 K410;
static _KLpairGVKd K411;
static _KLpairGVKd K412;
static _KLpairGVKd K413;
static _KLpairGVKd K414;
static _KLpairGVKd K415;
static _KLpairGVKd K416;
static _KLpairGVKd K417;
static _KLpairGVKd K418;
static _KLpairGVKd K419;
static _KLpairGVKd K420;
static _KLpairGVKd K421;
static _KLkeyword_signatureGVKe K422;
static _KLbyte_stringGVKd_29 K423;
static _KLsimple_object_vectorGVKd_1 K424;
static _KLsignatureGVKe K425;
static _KLsimple_object_vectorGVKd_2 K426;
static _KLimplementation_classGVKe K427;
static _KLsimple_object_vectorGVKd_1 K428;
static _KLsimple_object_vectorGVKd_6 K429;
static _KLbyte_stringGVKd_15 K430;
extern _KLsimple_methodGVKe Ktype_initializer_methodVdfmc_typistMM0;
D Ktype_initializer_methodVdfmc_typistMM0I (D);
static _KLsignatureGVKe K433;
static _KLsimple_object_vectorGVKd_1 K434;
extern _KLsimple_methodGVKe Ktype_estimate_dispatch_cache_lookupVdfmc_typistMM0;
D Ktype_estimate_dispatch_cache_lookupVdfmc_typistMM0I (D, D);
static _KLsignatureGVKe K437;
static _KLsimple_object_vectorGVKd_2 K438;
extern _KLsimple_methodGVKe Kadd_type_estimate_dispatch_cache_entryVdfmc_typistMM0;
D Kadd_type_estimate_dispatch_cache_entryVdfmc_typistMM0I (D, D, D);
static _KLsignatureGVKe K441;
static _KLsimple_object_vectorGVKd_3 K442;
static _KLpairGVKd K443;
static _KLpairGVKd K444;
static _KLpairGVKd K445;
static _KLpairGVKd K446;
static _KLpairGVKd K447;
static _KLpairGVKd K448;

/* Indirection variables */

static D IKJlhs_ = &KJlhs_;
static D IKJsupportees_ = &KJsupportees_;
static D IKJnormalizeQ_ = &KJnormalizeQ_;
static D IKJstream_ = &KJstream_;
static D IKJprinter_ = &KJprinter_;
static D IKJsupporters_ = &KJsupporters_;
static D IKJconjunction_ = &KJconjunction_;
static D IKJrecurseQ_ = &KJrecurseQ_;
static D IKJindent_ = &KJindent_;
static D IKJlevels_ = &KJlevels_;
static D IKJcontents_ = &KJcontents_;
static D IKJrule_ = &KJrule_;
static D IKJrhs_ = &KJrhs_;

/* Variables */

D add_type_estimate_dispatch_cache_entryVdfmc_typist = &Kadd_type_estimate_dispatch_cache_entryVdfmc_typistMM0;
D type_estimate_dispatch_cache_lookupVdfmc_typist = &Ktype_estimate_dispatch_cache_lookupVdfmc_typistMM0;
D retract_cached_type_variableVdfmc_typist = &Kretract_cached_type_variableVdfmc_typist;
D cached_type_variableVdfmc_typist = &Kcached_type_variableVdfmc_typist;
D type_estimate_update_cacheVdfmc_typist = &Ktype_estimate_update_cacheVdfmc_typist;
D type_initializer_methodVdfmc_typist = &Ktype_initializer_methodVdfmc_typistMM0;
D justification_ruleVdfmc_typist = &Kjustification_ruleVdfmc_typist;
D justification_lhsVdfmc_typist = &Kjustification_lhsVdfmc_typist;
D justification_rhsVdfmc_typist = &Kjustification_rhsVdfmc_typist;
D type_variable_contentsVdfmc_typist = &Ktype_variable_contentsVdfmc_typist;
D type_variable_supportersVdfmc_typist = &Ktype_variable_supportersVdfmc_typist;
D type_variable_supporteesVdfmc_typist = &Ktype_variable_supporteesVdfmc_typist;
D makeVdfmc_typist = &KmakeVdfmc_typist;
D make_type_estimateVdfmc_typist = &KmakeVdfmc_typist;
D Ltype_estimateGVdfmc_typist = &KLtype_estimateGVdfmc_typist;
D Tprinting_a_type_estimateQTVdfmc_typist = &KPunboundVKi;
D print_type_estimate_internalsVdfmc_typist = &Kprint_type_estimate_internalsVdfmc_typist;
D type_estimate_normalizeVdfmc_typist = &Ktype_estimate_normalizeVdfmc_typist;
D type_estimate_unionVdfmc_typist = &Ktype_estimate_unionVdfmc_typist;
D type_estimate_intersectionVdfmc_typist = &Ktype_estimate_intersectionVdfmc_typist;
D type_estimate_differenceVdfmc_typist = &Ktype_estimate_differenceVdfmc_typist;
D type_estimate_baseVdfmc_typist = &Ktype_estimate_baseVdfmc_typist;
D type_estimate_matchQVdfmc_typist = &Ktype_estimate_matchQVdfmc_typist;
D type_estimate_instanceQVdfmc_typist = &Ktype_estimate_instanceQVdfmc_typist;
D type_estimate_disjointQVdfmc_typist = &Ktype_estimate_disjointQVdfmc_typist;
D type_estimate_subtypeQVdfmc_typist = &Ktype_estimate_subtypeQVdfmc_typist;
D type_estimateEQVdfmc_typist = &Ktype_estimateEQVdfmc_typist;
D type_estimate_pseudosubtypeQVdfmc_typist = &Ktype_estimate_pseudosubtypeQVdfmc_typist;
D Ltype_variableGVdfmc_typist = &KLtype_variableGVdfmc_typist;
D Ltype_cacheGVdfmc_typist = &KPunboundVKi;
D Tcurrent_ruleTVdfmc_typist = &KPunboundVKi;
D Tcurrent_lhsTVdfmc_typist = &KPunboundVKi;
D Tcurrent_rhsTVdfmc_typist = &KPunboundVKi;
D LjustificationGVdfmc_typist = &KLjustificationGVdfmc_typist;
D type_estimate_in_cacheVdfmc_typist = &Ktype_estimate_in_cacheVdfmc_typist;
D type_estimateVdfmc_typist = &Ktype_estimateVdfmc_typist;
D type_estimate_inferVdfmc_typist = &Ktype_estimate_inferVdfmc_typist;
D lookup_typeVdfmc_typist = &Klookup_typeVdfmc_typist;
D Ttype_vars_propagatingTVdfmc_typist = &KPunboundVKi;
D type_estimate_explainVdfmc_typist = &Ktype_estimate_explainVdfmc_typist;
D type_estimate_retractVdfmc_typist = &Ktype_estimate_retractVdfmc_typist;

/* Objects */

_KLclassGVKd KLtype_estimateGVdfmc_typist = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K430,
  &K427,
  (D) 1,
  &Kdfmc_typist_moduleYdylan_userVdfmc_typist
};

_KLmm_wrapperGVKi_0 KLtype_estimateGVdfmc_typistW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K427,
  (D) 1,
  5,
  33554439,
  (D) 1
};

_KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_typistRD_4 = {
  &KLstandalone_domainGVKeW /* wrapper */,
  &Kdfmc_typist_libraryYdylan_userVdfmc_typist,
  &KPfalseVKi,
  (D) 5,
  &KLtype_estimateGVdfmc_typist
};

_KLsimple_methodGVKe Kprint_objectYprintVioMdfmc_typistM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K425,
  &Kprint_objectYprintVioMdfmc_typistM0I
};

_KLclassGVKd KLtype_variableGVdfmc_typist = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K400,
  &K390,
  (D) 1,
  &Kdfmc_typist_moduleYdylan_userVdfmc_typist
};

_KLmm_wrapperGVKi_0 KLtype_variableGVdfmc_typistW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K390,
  (D) 1,
  13,
  33554439,
  (D) 1
};

_KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_typistRD_3 = {
  &KLstandalone_domainGVKeW /* wrapper */,
  &Kdfmc_typist_libraryYdylan_userVdfmc_typist,
  &KPfalseVKi,
  (D) 5,
  &KLtype_variableGVdfmc_typist
};

_KLsimple_methodGVKe Kprint_objectYprintVioMdfmc_typistM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K388,
  &Kprint_objectYprintVioMdfmc_typistM1I
};

static _KLunionGVKe K18 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K382,
  &KLtype_variableGVdfmc_typist
};

_KLsimple_methodGVKe Kinitialize_typist_library_cachesVdfmc_namespaceMdfmc_typistM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K384,
  &Kinitialize_typist_library_cachesVdfmc_namespaceMdfmc_typistM0I
};

_KLclassGVKd KLjustificationGVdfmc_typist = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K380,
  &K344,
  (D) 1,
  &Kdfmc_typist_moduleYdylan_userVdfmc_typist
};

_KLmm_wrapperGVKi_0 KLjustificationGVdfmc_typistW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K344,
  (D) 1,
  13,
  33554439,
  (D) 1
};

_KLsimple_methodGVKe Kprint_objectYprintVioMdfmc_typistM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K342,
  &Kprint_objectYprintVioMdfmc_typistM2I
};

_KLunionGVKe KLdfm_refGVdfmc_typist = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K332,
  &KLvalue_referenceGVdfmc_flow_graph
};

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

_KLsimple_closure_methodGVKi_0 Ktype_estimate_update_cacheVdfmc_typistMM0 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_3,
  &KPfalseVKi,
  &Ktype_estimate_update_cacheVdfmc_typistMM0I,
  (D) 1
};

_KLsealed_generic_functionGVKe Ktype_estimate_update_cacheVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 1,
  &K321,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_closure_methodGVKi_0 Ktype_estimate_in_cacheVdfmc_typistMM0 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &KPfalseVKi,
  &Ktype_estimate_in_cacheVdfmc_typistMM0I,
  (D) 1
};

_KLsimple_closure_methodGVKi_0 Kcached_type_variableVdfmc_typistMM0 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &KPfalseVKi,
  &Kcached_type_variableVdfmc_typistMM0I,
  (D) 1
};

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

_KLsealed_generic_functionGVKe Kcached_type_variableVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 1,
  &K280,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_closure_methodGVKi_0 Kcached_type_variable_setterVdfmc_typistMM0 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_3,
  &KPfalseVKi,
  &Kcached_type_variable_setterVdfmc_typistMM0I,
  (D) 1
};

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

_KLsealed_generic_functionGVKe Kcached_type_variable_setterVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 1,
  &K279,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_closure_methodGVKi_0 Kretract_cached_type_variableVdfmc_typistMM0 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &KPfalseVKi,
  &Kretract_cached_type_variableVdfmc_typistMM0I,
  (D) 1
};

_KLsealed_generic_functionGVKe Kretract_cached_type_variableVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 1,
  &K278,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_closure_methodGVKi_0 Kcached_type_variableVdfmc_typistMM1 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &KPfalseVKi,
  &Kcached_type_variableVdfmc_typistMM1I,
  (D) 1
};

_KLsimple_closure_methodGVKi_0 Kcached_type_variable_setterVdfmc_typistMM1 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_3,
  &KPfalseVKi,
  &Kcached_type_variable_setterVdfmc_typistMM1I,
  (D) 1
};

_KLsimple_closure_methodGVKi_0 Kretract_cached_type_variableVdfmc_typistMM1 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &KPfalseVKi,
  &Kretract_cached_type_variableVdfmc_typistMM1I,
  (D) 1
};

static _KLsimple_object_vectorGVKd_3 K67 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KJstream_,
  &KJrecurseQ_,
  &KJindent_
};

static _KLsimple_object_vectorGVKd_3 K68 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLstreamGYcommon_extensionsVcommon_dylan,
  &KLbooleanGVKd,
  &KLintegerGVKd
};

_KLkeyword_closure_methodGVKe_0 Ktype_estimate_explainVdfmc_typistMM0 = {
  &KLkeyword_closure_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &KPfalseVKi,
  &key_mep_6,
  &Ktype_estimate_explainVdfmc_typistMM0I,
  &K270,
  (D) 1
};

_KLkeyword_closure_methodGVKe_0 Ktype_estimate_explainVdfmc_typistMM1 = {
  &KLkeyword_closure_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &KPfalseVKi,
  &key_mep_6,
  &Ktype_estimate_explainVdfmc_typistMM1I,
  &K270,
  (D) 1
};

_KLinstance_slot_descriptorGVKe Ktype_estimate_to_be_normalizedQVdfmc_typistHLtype_estimateG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPtrueVKi,
  &KLtype_estimateGVdfmc_typist,
  &KJnormalizeQ_,
  &Ktype_estimate_to_be_normalizedQVdfmc_typist,
  &Ktype_estimate_to_be_normalizedQ_setterVdfmc_typist,
  &KLbooleanGVKd
};

_KLkeyword_methodGVKe KmakeVdfmc_typistMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_2,
  &K204,
  &key_mep_2,
  &KmakeVdfmc_typistMM0I,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KmakeVdfmc_typistMM1 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K206,
  &key_mep_3,
  &KmakeVdfmc_typistMM1I,
  &K207
};

_KLsealed_generic_functionGVKe KmakeVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_optional_xep_1,
  &K204,
  &KPfalseVKi,
  &K205,
  &K193,
  &RSINGULAR_Labsent_engine_nodeG
};

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

_KLsealed_generic_functionGVKe Kjustification_lhsVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K175,
  &K174,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_estimate_instanceQVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K170,
  (D) 5,
  &K171,
  &K159,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Ktype_estimateEQVdfmc_typist = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K134,
  &Ktype_estimateEQVdfmc_typistI
};

_KLsealed_generic_functionGVKe Ktype_estimate_subtypeQVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K134,
  (D) 1,
  &K158,
  &K150,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_estimate_baseVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K110,
  (D) 1,
  &K149,
  &K140,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_estimate_unionVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K138,
  &KPfalseVKi,
  &K139,
  &K137,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_estimate_disjointQVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K134,
  &KPfalseVKi,
  &K135,
  &K133,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_estimate_matchQVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K131,
  (D) 1,
  &K132,
  &K112,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_estimate_normalizeVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K110,
  (D) 1,
  &K111,
  &K99,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_estimateVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K96,
  &KPfalseVKi,
  &K97,
  &K95,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Ktype_estimateVdfmc_typistMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K96,
  &Ktype_estimateVdfmc_typistMM0I
};

static _KLpairGVKd K95 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimateVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K96 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K98,
  &K33
};

static _KLbyte_stringGVKd_13 K97 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "type-estimate"
};

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

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

static _KLpairGVKd K100 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM1,
  &K101
};

static _KLpairGVKd K101 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM2,
  &K102
};

static _KLpairGVKd K102 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM3,
  &K103
};

static _KLpairGVKd K103 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM4,
  &K104
};

static _KLpairGVKd K104 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM5,
  &K105
};

static _KLpairGVKd K105 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM6,
  &K106
};

static _KLpairGVKd K106 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM7,
  &K107
};

static _KLpairGVKd K107 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM8,
  &K108
};

static _KLpairGVKd K108 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM9,
  &K109
};

static _KLpairGVKd K109 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_normalizeVdfmc_typistMM10,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K110 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K33,
  &K33
};

static _KLbyte_stringGVKd_23 K111 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "type-estimate-normalize"
};

static _KLpairGVKd K112 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM0,
  &K113
};

static _KLpairGVKd K113 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM1,
  &K114
};

static _KLpairGVKd K114 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM2,
  &K115
};

static _KLpairGVKd K115 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM3,
  &K116
};

static _KLpairGVKd K116 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM4,
  &K117
};

static _KLpairGVKd K117 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM5,
  &K118
};

static _KLpairGVKd K118 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM6,
  &K119
};

static _KLpairGVKd K119 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM7,
  &K120
};

static _KLpairGVKd K120 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM8,
  &K121
};

static _KLpairGVKd K121 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM9,
  &K122
};

static _KLpairGVKd K122 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM10,
  &K123
};

static _KLpairGVKd K123 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM11,
  &K124
};

static _KLpairGVKd K124 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM12,
  &K125
};

static _KLpairGVKd K125 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM13,
  &K126
};

static _KLpairGVKd K126 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM14,
  &K127
};

static _KLpairGVKd K127 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM15,
  &K128
};

static _KLpairGVKd K128 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM16,
  &K129
};

static _KLpairGVKd K129 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM17,
  &K130
};

static _KLpairGVKd K130 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_matchQVdfmc_typistMM18,
  &KPempty_listVKi
};

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

static _KLbyte_stringGVKd_20 K132 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "type-estimate-match?"
};

static _KLpairGVKd K133 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_disjointQVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K134 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33556489,
  &K136,
  &KDsignature_LbooleanG_typesVKi
};

static _KLbyte_stringGVKd_23 K135 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "type-estimate-disjoint?"
};

static _KLsimple_object_vectorGVKd_2 K136 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLtype_estimateGVdfmc_typist,
  &KLtype_estimateGVdfmc_typist
};

static _KLpairGVKd K137 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_unionVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K138 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K136,
  &K33
};

static _KLbyte_stringGVKd_19 K139 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "type-estimate-union"
};

static _KLpairGVKd K140 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM0,
  &K141
};

static _KLpairGVKd K141 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM1,
  &K142
};

static _KLpairGVKd K142 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM2,
  &K143
};

static _KLpairGVKd K143 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM3,
  &K144
};

static _KLpairGVKd K144 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM4,
  &K145
};

static _KLpairGVKd K145 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM5,
  &K146
};

static _KLpairGVKd K146 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM6,
  &K147
};

static _KLpairGVKd K147 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM7,
  &K148
};

static _KLpairGVKd K148 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_baseVdfmc_typistMM8,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_18 K149 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "type-estimate-base"
};

static _KLpairGVKd K150 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_subtypeQVdfmc_typistMM0,
  &K151
};

static _KLpairGVKd K151 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_subtypeQVdfmc_typistMM1,
  &K152
};

static _KLpairGVKd K152 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_subtypeQVdfmc_typistMM2,
  &K153
};

static _KLpairGVKd K153 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_subtypeQVdfmc_typistMM3,
  &K154
};

static _KLpairGVKd K154 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_subtypeQVdfmc_typistMM4,
  &K155
};

static _KLpairGVKd K155 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_subtypeQVdfmc_typistMM5,
  &K156
};

static _KLpairGVKd K156 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_subtypeQVdfmc_typistMM6,
  &K157
};

static _KLpairGVKd K157 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_subtypeQVdfmc_typistMM7,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_22 K158 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "type-estimate-subtype?"
};

static _KLpairGVKd K159 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM0,
  &K160
};

static _KLpairGVKd K160 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM1,
  &K161
};

static _KLpairGVKd K161 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM2,
  &K162
};

static _KLpairGVKd K162 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM3,
  &K163
};

static _KLpairGVKd K163 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM4,
  &K164
};

static _KLpairGVKd K164 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM5,
  &K165
};

static _KLpairGVKd K165 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM6,
  &K166
};

static _KLpairGVKd K166 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM7,
  &K167
};

static _KLpairGVKd K167 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM8,
  &K168
};

static _KLpairGVKd K168 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM9,
  &K169
};

static _KLpairGVKd K169 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_instanceQVdfmc_typistMM10,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K170 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33556489,
  &K172,
  &KDsignature_LbooleanG_typesVKi
};

static _KLbyte_stringGVKd_23 K171 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "type-estimate-instance?"
};

static _KLsimple_object_vectorGVKd_2 K172 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLdfm_refGVdfmc_typist,
  &KLtype_estimateGVdfmc_typist
};

_KLgetter_methodGVKi Kjustification_lhsVdfmc_typistMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kjustification_lhsVdfmc_typistHLjustificationG
};

static _KLpairGVKd K174 = {
  &KLpairGVKdW /* wrapper */,
  &Kjustification_lhsVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_17 K175 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "justification-lhs"
};

_KLinstance_slot_descriptorGVKe Kjustification_lhsVdfmc_typistHLjustificationG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 149,
  &K181,
  &KLjustificationGVdfmc_typist,
  &KJlhs_,
  &Kjustification_lhsVdfmc_typist,
  &KPfalseVKi,
  &KLdfm_refGVdfmc_typist
};

static _KLsimple_closure_methodGVKi_0 K181 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K182,
  &K181I,
  (D) 1
};

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

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

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

_KLgetter_methodGVKi Ktype_variable_supporteesVdfmc_typistMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Ktype_variable_supporteesVdfmc_typistHLtype_variableG
};

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

static _KLbyte_stringGVKd_24 K185 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "type-variable-supportees"
};

_KLinstance_slot_descriptorGVKe Ktype_variable_supporteesVdfmc_typistHLtype_variableG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPempty_listVKi,
  &KLtype_variableGVdfmc_typist,
  &KJsupportees_,
  &Ktype_variable_supporteesVdfmc_typist,
  &Ktype_variable_supportees_setterVdfmc_typist,
  &KLlistGVKd
};

static _KLsymbolGVKd KJsupportees_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K192
};

_KLsealed_generic_functionGVKe Ktype_variable_supportees_setterVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K191,
  &K190,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Ktype_variable_supportees_setterVdfmc_typistMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Ktype_variable_supporteesVdfmc_typistHLtype_variableG
};

static _KLpairGVKd K190 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_variable_supportees_setterVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_31 K191 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 125,
  "type-variable-supportees-setter"
};

static _KLbyte_stringGVKd_10 K192 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "supportees"
};

static _KLpairGVKd K193 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM0,
  &K194
};

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

static _KLpairGVKd K195 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM2,
  &K196
};

static _KLpairGVKd K196 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM3,
  &K197
};

static _KLpairGVKd K197 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM4,
  &K198
};

static _KLpairGVKd K198 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM5,
  &K199
};

static _KLpairGVKd K199 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM6,
  &K200
};

static _KLpairGVKd K200 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM7,
  &K201
};

static _KLpairGVKd K201 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM8,
  &K202
};

static _KLpairGVKd K202 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM9,
  &K203
};

static _KLpairGVKd K203 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM10,
  &KPempty_listVKi
};

static _KLkeyword_signatureGVKe K204 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (D) 43779077,
  &KDsignature_LtypeG_typesVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLbyte_stringGVKd_4 K205 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "make"
};

static _KLkeyword_signatureAvaluesGVKi K206 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 38011909,
  &K210,
  &K211,
  &KDsignature_LobjectG_typesVKi,
  &K33
};

static _KLsimple_object_vectorGVKd_2 K207 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJnormalizeQ_,
  &KPtrueVKi
};

static _KLsymbolGVKd KJnormalizeQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K209
};

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

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

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

static _KLsubclassGVKe K212 = {
  &KLsubclassGVKeW /* wrapper */,
  &Ksubclass_instanceQVKiI,
  &KLtype_estimateGVdfmc_typist
};

_KLsealed_generic_functionGVKe Ktype_estimate_to_be_normalizedQVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K220,
  &K219,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_estimate_to_be_normalizedQ_setterVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K217,
  &K216,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Ktype_estimate_to_be_normalizedQ_setterVdfmc_typistMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Ktype_estimate_to_be_normalizedQVdfmc_typistHLtype_estimateG
};

static _KLpairGVKd K216 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_to_be_normalizedQ_setterVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_38 K217 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 153,
  "type-estimate-to-be-normalized?-setter"
};

_KLgetter_methodGVKi Ktype_estimate_to_be_normalizedQVdfmc_typistMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Ktype_estimate_to_be_normalizedQVdfmc_typistHLtype_estimateG
};

static _KLpairGVKd K219 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_to_be_normalizedQVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_31 K220 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 125,
  "type-estimate-to-be-normalized?"
};

_KLsealed_generic_functionGVKe Ktype_estimate_retractVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K223,
  &KPfalseVKi,
  &K224,
  &K222,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLpairGVKd K222 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_retractVdfmc_typistMM0,
  &KPempty_listVKi
};

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

static _KLbyte_stringGVKd_21 K224 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "type-estimate-retract"
};

static _KLkeyword_closure_methodGVKe_0 KindentifyF260 = {
  &KLkeyword_closure_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K264,
  &key_mep_2,
  &KindentifyF260I,
  &K265,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_type_estimate_explainF248 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K258,
  &Kanonymous_of_type_estimate_explainF248I,
  (D) 1
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K229 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &KformatYformatVio
};

static _KLbyte_stringGVKd_22 K230 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "Object %= (a %=) :: %="
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K231 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &KformatYformatVio
};

static _KLbyte_stringGVKd_9 K232 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "because: "
};

_KLsealed_generic_functionGVKe Ktype_variable_supportersVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K240,
  &K239,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLsymbolGVKd KJstream_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K237
};

static _KLsymbolGVKd KJprinter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K236
};

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

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

_KLgetter_methodGVKi Ktype_variable_supportersVdfmc_typistMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Ktype_variable_supportersVdfmc_typistHLtype_variableG
};

static _KLpairGVKd K239 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_variable_supportersVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K240 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "type-variable-supporters"
};

_KLinstance_slot_descriptorGVKe Ktype_variable_supportersVdfmc_typistHLtype_variableG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPempty_listVKi,
  &KLtype_variableGVdfmc_typist,
  &KJsupporters_,
  &Ktype_variable_supportersVdfmc_typist,
  &Ktype_variable_supporters_setterVdfmc_typist,
  &KLlistGVKd
};

static _KLsymbolGVKd KJsupporters_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K247
};

_KLsealed_generic_functionGVKe Ktype_variable_supporters_setterVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K246,
  &K245,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Ktype_variable_supporters_setterVdfmc_typistMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Ktype_variable_supportersVdfmc_typistHLtype_variableG
};

static _KLpairGVKd K245 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_variable_supporters_setterVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_31 K246 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 125,
  "type-variable-supporters-setter"
};

static _KLbyte_stringGVKd_10 K247 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "supporters"
};

static _KLbyte_stringGVKd_7 K249 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "Rule %="
};

static _KLbyte_stringGVKd_4 K250 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  " on "
};

static _KLsymbolGVKd KJconjunction_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K257
};

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

static _KLsymbolGVKd KJrecurseQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K256
};

static _KLsymbolGVKd KJindent_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K255
};

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

static _KLbyte_stringGVKd_8 K256 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "recurse?"
};

static _KLbyte_stringGVKd_11 K257 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "conjunction"
};

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

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

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K261 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &KformatYformatVio
};

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

static _KLbyte_stringGVKd_2 K263 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 9,
  "  "
};

static _KLkeyword_signatureGVKe K264 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (D) 44302345,
  &K268,
  &K269,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K265 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJlevels_,
  (D) 1
};

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

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

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

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

static _KLsimple_object_vectorGVKd_6 K270 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KJstream_,
  &KPunboundVKi,
  &KJrecurseQ_,
  &KPfalseVKi,
  &KJindent_,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_type_estimate_explainF273 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K275,
  &Kanonymous_of_type_estimate_explainF273I,
  (D) 1
};

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

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

_KLincremental_generic_functionGVKe Ktype_estimate_explainVdfmc_typist = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_optional_xep_2,
  &KPfalseVKi,
  &KPfalseVKi,
  &K277,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_typist_moduleYdylan_userVdfmc_typist,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 13
};

static _KLbyte_stringGVKd_21 K277 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "type-estimate-explain"
};

static _KLbyte_stringGVKd_28 K278 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 113,
  "retract-cached-type-variable"
};

static _KLbyte_stringGVKd_27 K279 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 109,
  "cached-type-variable-setter"
};

static _KLbyte_stringGVKd_20 K280 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "cached-type-variable"
};

_KLsealed_generic_functionGVKe Kcanonical_refVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K310,
  (D) 1,
  &K311,
  &K306,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktype_variable_contentsVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K285,
  &K284,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Ktype_variable_contentsVdfmc_typistMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Ktype_variable_contentsVdfmc_typistHLtype_variableG
};

static _KLpairGVKd K284 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_variable_contentsVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_22 K285 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "type-variable-contents"
};

_KLinstance_slot_descriptorGVKe Ktype_variable_contentsVdfmc_typistHLtype_variableG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 149,
  &K295,
  &KLtype_variableGVdfmc_typist,
  &KJcontents_,
  &Ktype_variable_contentsVdfmc_typist,
  &Ktype_variable_contents_setterVdfmc_typist,
  &KLtype_estimateGVdfmc_typist
};

static _KLsimple_closure_methodGVKi_0 K295 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K182,
  &K295I,
  (D) 1
};

static _KLsymbolGVKd KJcontents_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K294
};

_KLsealed_generic_functionGVKe Ktype_variable_contents_setterVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K293,
  &K292,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Ktype_variable_contents_setterVdfmc_typistMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Ktype_variable_contentsVdfmc_typistHLtype_variableG
};

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

static _KLbyte_stringGVKd_29 K293 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 117,
  "type-variable-contents-setter"
};

static _KLbyte_stringGVKd_8 K294 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "contents"
};

static _KLpairGVKd K296 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM1,
  &K297
};

static _KLpairGVKd K297 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVdfmc_typistMM0,
  &KPempty_listVKi
};

_KLsimple_methodGVKe Kcanonical_refVdfmc_typistMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K320,
  &Kcanonical_refVdfmc_typistMM0I
};

_KLsimple_methodGVKe Kcanonical_refVdfmc_typistMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K317,
  &Kcanonical_refVdfmc_typistMM1I
};

_KLsimple_methodGVKe Kcanonical_refVdfmc_typistMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K314,
  &Kcanonical_refVdfmc_typistMM2I
};

_KLsimple_methodGVKe Kcanonical_refVdfmc_typistMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K312,
  &Kcanonical_refVdfmc_typistMM3I
};

static _KLpairGVKd K306 = {
  &KLpairGVKdW /* wrapper */,
  &Kcanonical_refVdfmc_typistMM0,
  &K307
};

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

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

static _KLpairGVKd K309 = {
  &KLpairGVKdW /* wrapper */,
  &Kcanonical_refVdfmc_typistMM3,
  &KPempty_listVKi
};

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

static _KLbyte_stringGVKd_13 K311 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "canonical-ref"
};

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

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

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

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

static _KLunionGVKe K316 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &KLcomputationGVdfmc_flow_graph,
  &KLtemporaryGVdfmc_flow_graph
};

static _KLsignatureAvaluesGVKi K317 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K318,
  &K319
};

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

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

static _KLsignatureAvaluesGVKi K320 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K98,
  &K98
};

static _KLbyte_stringGVKd_26 K321 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "type-estimate-update-cache"
};

static _KLbyte_stringGVKd_36 K322 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 145,
  "Can\'t find type variable for ref %s."
};

_KLsealed_generic_functionGVKe Klookup_typeVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &K327,
  &KPfalseVKi,
  &K328,
  &K326,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Klookup_typeVdfmc_typistMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K327,
  &Klookup_typeVdfmc_typistMM0I
};

static _KLpairGVKd K326 = {
  &KLpairGVKdW /* wrapper */,
  &Klookup_typeVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K327 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K329,
  &K33
};

static _KLbyte_stringGVKd_11 K328 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "lookup-type"
};

static _KLsimple_object_vectorGVKd_3 K329 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLdfm_refGVdfmc_typist,
  &KLcall_site_summaryGVdfmc_modeling,
  &KLcomputationGVdfmc_flow_graph
};

_KLincremental_generic_functionGVKe Ktype_estimate_inferVdfmc_typist = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KPfalseVKi,
  &KPfalseVKi,
  &K331,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_typist_moduleYdylan_userVdfmc_typist,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 13
};

static _KLbyte_stringGVKd_19 K331 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "type-estimate-infer"
};

static _KLunionGVKe K332 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K333,
  &KLbindingGVdfmc_namespace
};

static _KLunionGVKe K333 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &KLcomputationGVdfmc_flow_graph,
  &KLmodel_valueGVdfmc_modeling
};

_KLincremental_generic_functionGVKe Ktype_estimate_in_cacheVdfmc_typist = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KPfalseVKi,
  &KPfalseVKi,
  &K335,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_typist_moduleYdylan_userVdfmc_typist,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 13
};

static _KLbyte_stringGVKd_22 K335 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "type-estimate-in-cache"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K336 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &KformatYformatVio
};

static _KLbyte_stringGVKd_18 K337 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "{Rule: %=, LHS: %="
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K338 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &KformatYformatVio
};

static _KLbyte_stringGVKd_7 K339 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  ", RHS: "
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K340 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &KformatYformatVio
};

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

static _KLsignatureGVKe K342 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943049,
  &K343
};

static _KLsimple_object_vectorGVKd_2 K343 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLjustificationGVdfmc_typist,
  &KLstreamGYcommon_extensionsVcommon_dylan
};

static _KLimplementation_classGVKe K344 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433741,
  &KLjustificationGVdfmc_typist,
  &KLjustificationGVdfmc_typistW,
  &KPfalseVKi,
  &K345,
  (D) -3,
  &KLjustificationGZ32ZconstructorVdfmc_typistMM0,
  &K348,
  &K349,
  (D) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K345,
  &K345,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_3 K345 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &Kjustification_ruleVdfmc_typistHLjustificationG,
  &Kjustification_lhsVdfmc_typistHLjustificationG,
  &Kjustification_rhsVdfmc_typistHLjustificationG
};

_KLkeyword_methodGVKe KLjustificationGZ32ZconstructorVdfmc_typistMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K356,
  &key_mep_2,
  &KLjustificationGZ32ZconstructorVdfmc_typistMM0I,
  &K357
};

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

static _KLsimple_object_vectorGVKd_6 K349 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLjustificationGVdfmc_typist,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K356 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K362,
  &KDsignature_LobjectG_typesVKi,
  &K363
};

static _KLsimple_object_vectorGVKd_6 K357 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KJrule_,
  &KPunboundVKi,
  &KJlhs_,
  &KPunboundVKi,
  &KJrhs_,
  &KPunboundVKi
};

static _KLsymbolGVKd KJrule_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K361
};

static _KLsymbolGVKd KJrhs_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K360
};

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

static _KLbyte_stringGVKd_4 K361 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "rule"
};

static _KLsimple_object_vectorGVKd_3 K362 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KJrule_,
  &KJlhs_,
  &KJrhs_
};

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

_KLinstance_slot_descriptorGVKe Kjustification_ruleVdfmc_typistHLjustificationG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 149,
  &K379,
  &KLjustificationGVdfmc_typist,
  &KJrule_,
  &Kjustification_ruleVdfmc_typist,
  &KPfalseVKi,
  &KLsymbolGVKd
};

_KLinstance_slot_descriptorGVKe Kjustification_rhsVdfmc_typistHLjustificationG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 149,
  &K372,
  &KLjustificationGVdfmc_typist,
  &KJrhs_,
  &Kjustification_rhsVdfmc_typist,
  &KPfalseVKi,
  &KLlistGVKd
};

static _KLsimple_closure_methodGVKi_0 K372 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K182,
  &K372I,
  (D) 1
};

_KLsealed_generic_functionGVKe Kjustification_rhsVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K371,
  &K370,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kjustification_rhsVdfmc_typistMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kjustification_rhsVdfmc_typistHLjustificationG
};

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

static _KLbyte_stringGVKd_17 K371 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "justification-rhs"
};

static _KLsimple_closure_methodGVKi_0 K379 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K182,
  &K379I,
  (D) 1
};

_KLsealed_generic_functionGVKe Kjustification_ruleVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K378,
  &K377,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kjustification_ruleVdfmc_typistMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kjustification_ruleVdfmc_typistHLjustificationG
};

static _KLpairGVKd K377 = {
  &KLpairGVKdW /* wrapper */,
  &Kjustification_ruleVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_18 K378 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "justification-rule"
};

static _KLbyte_stringGVKd_15 K380 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "<justification>"
};

static _KLunionGVKe K381 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K382,
  &KLlistGVKd
};

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

static _KLunionGVKe K383 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K382,
  &KLsymbolGVKd
};

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

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

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K386 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &KformatYformatVio
};

static _KLbyte_stringGVKd_19 K387 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "{Type-Variable: %=}"
};

static _KLsignatureGVKe K388 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943049,
  &K389
};

static _KLsimple_object_vectorGVKd_2 K389 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLtype_variableGVdfmc_typist,
  &KLstreamGYcommon_extensionsVcommon_dylan
};

static _KLimplementation_classGVKe K390 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433741,
  &KLtype_variableGVdfmc_typist,
  &KLtype_variableGVdfmc_typistW,
  &KPfalseVKi,
  &K391,
  (D) -3,
  &KLtype_variableGZ32ZconstructorVdfmc_typistMM0,
  &K348,
  &K394,
  (D) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K391,
  &K391,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_3 K391 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &Ktype_variable_contentsVdfmc_typistHLtype_variableG,
  &Ktype_variable_supportersVdfmc_typistHLtype_variableG,
  &Ktype_variable_supporteesVdfmc_typistHLtype_variableG
};

_KLkeyword_methodGVKe KLtype_variableGZ32ZconstructorVdfmc_typistMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K397,
  &key_mep_2,
  &KLtype_variableGZ32ZconstructorVdfmc_typistMM0I,
  &K398
};

static _KLsimple_object_vectorGVKd_6 K394 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLtype_variableGVdfmc_typist,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K397 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K399,
  &KDsignature_LobjectG_typesVKi,
  &K51
};

static _KLsimple_object_vectorGVKd_6 K398 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KJcontents_,
  &KPunboundVKi,
  &KJsupporters_,
  &KPempty_listVKi,
  &KJsupportees_,
  &KPempty_listVKi
};

static _KLsimple_object_vectorGVKd_3 K399 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KJcontents_,
  &KJsupporters_,
  &KJsupportees_
};

static _KLbyte_stringGVKd_15 K400 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "<type-variable>"
};

_KLsimple_methodGVKe Ktype_estimate_pseudosubtypeQVdfmc_typist = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K134,
  &Ktype_estimate_pseudosubtypeQVdfmc_typistI
};

_KLsealed_generic_functionGVKe Ktype_estimate_differenceVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K138,
  &KPfalseVKi,
  &K405,
  &K404,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLpairGVKd K404 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_differenceVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K405 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "type-estimate-difference"
};

_KLsealed_generic_functionGVKe Ktype_estimate_intersectionVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K138,
  &KPfalseVKi,
  &K408,
  &K407,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLpairGVKd K407 = {
  &KLpairGVKdW /* wrapper */,
  &Ktype_estimate_intersectionVdfmc_typistMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_26 K408 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "type-estimate-intersection"
};

_KLsealed_generic_functionGVKe Kprint_type_estimate_internalsVdfmc_typist = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_optional_xep_1,
  &K422,
  (D) 1,
  &K423,
  &K411,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLbyte_stringGVKd_16 K410 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "{Type Estimate: "
};

static _KLpairGVKd K411 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM0,
  &K412
};

static _KLpairGVKd K412 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM1,
  &K413
};

static _KLpairGVKd K413 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM2,
  &K414
};

static _KLpairGVKd K414 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM3,
  &K415
};

static _KLpairGVKd K415 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM4,
  &K416
};

static _KLpairGVKd K416 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM5,
  &K417
};

static _KLpairGVKd K417 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM6,
  &K418
};

static _KLpairGVKd K418 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM7,
  &K419
};

static _KLpairGVKd K419 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM8,
  &K420
};

static _KLpairGVKd K420 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM9,
  &K421
};

static _KLpairGVKd K421 = {
  &KLpairGVKdW /* wrapper */,
  &Kprint_type_estimate_internalsVdfmc_typistMM10,
  &KPempty_listVKi
};

static _KLkeyword_signatureGVKe K422 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (D) 42205189,
  &K33,
  &K424,
  &KDsignature_LobjectG_typesVKi
};

static _KLbyte_stringGVKd_29 K423 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 117,
  "print-type-estimate-internals"
};

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

static _KLsignatureGVKe K425 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943049,
  &K426
};

static _KLsimple_object_vectorGVKd_2 K426 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLtype_estimateGVdfmc_typist,
  &KLstreamGYcommon_extensionsVcommon_dylan
};

static _KLimplementation_classGVKe K427 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 460587013,
  &KLtype_estimateGVdfmc_typist,
  &KLtype_estimateGVdfmc_typistW,
  &KPfalseVKi,
  &K428,
  (D) -3,
  &Kdefault_class_constructorVKi,
  &K348,
  &K429,
  (D) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K443,
  &KPempty_vectorVKi,
  &K428,
  &K428,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

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

static _KLsimple_object_vectorGVKd_6 K429 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLtype_estimateGVdfmc_typist,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLbyte_stringGVKd_15 K430 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "<type-estimate>"
};

_KLsimple_methodGVKe Ktype_initializer_methodVdfmc_typistMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K433,
  &Ktype_initializer_methodVdfmc_typistMM0I
};

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

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

_KLsimple_methodGVKe Ktype_estimate_dispatch_cache_lookupVdfmc_typistMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K437,
  &Ktype_estimate_dispatch_cache_lookupVdfmc_typistMM0I
};

static _KLsignatureGVKe K437 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944073,
  &K438
};

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

_KLsimple_methodGVKe Kadd_type_estimate_dispatch_cache_entryVdfmc_typistMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K441,
  &Kadd_type_estimate_dispatch_cache_entryVdfmc_typistMM0I
};

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

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

static _KLpairGVKd K443 = {
  &KLpairGVKdW /* wrapper */,
  &KLtype_estimate_bottomGVdfmc_typist,
  &K444
};

static _KLpairGVKd K444 = {
  &KLpairGVKdW /* wrapper */,
  &KLtype_estimate_unionGVdfmc_typist,
  &K445
};

static _KLpairGVKd K445 = {
  &KLpairGVKdW /* wrapper */,
  &KLtype_estimate_valuesGVdfmc_typist,
  &K446
};

static _KLpairGVKd K446 = {
  &KLpairGVKdW /* wrapper */,
  &KLtype_estimate_rawGVdfmc_typist,
  &K447
};

static _KLpairGVKd K447 = {
  &KLpairGVKdW /* wrapper */,
  &KLtype_estimate_classGVdfmc_typist,
  &K448
};

static _KLpairGVKd K448 = {
  &KLpairGVKdW /* wrapper */,
  &KLtype_estimate_topGVdfmc_typist,
  &KPempty_listVKi
};

/* Code */

D Kprint_objectYprintVioMdfmc_typistM0I (D te_, D stream_) {
  D T3;
  D T4;
  D Pold_valueP_;
  D T6;
  D T7;
  D T8;
  _KLsimple_object_vectorGVKd_2 T9 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T10 = {&KLsimple_object_vectorGVKdW, (D) 9};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:85
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:87
  T3 = primitive_read_thread_variable(Tprinting_a_type_estimateQTVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:87
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:88
    T9.vector_element_[0] = IKJstream_;
    T9.vector_element_[1] = stream_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:88
    CONGRUENT_CALL_PROLOG(&Kprint_type_estimate_internalsVdfmc_typist, 2);
    T4 = CONGRUENT_CALL2(te_, &T9);
    T8 = T4;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:90
    Pold_valueP_ = primitive_read_thread_variable(Tprinting_a_type_estimateQTVdfmc_typist);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:90
    ENTER_UNWIND_FRAME(T6);
    if (!nlx_setjmp(FRAME_DEST(T6))) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:90
      primitive_write_thread_variable(Tprinting_a_type_estimateQTVdfmc_typist, &KPtrueVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:91
      CONGRUENT_CALL_PROLOG(&KwriteYstreams_protocolVcommon_dylan, 3);
      CONGRUENT_CALL3(stream_, &K410, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:92
      T10.vector_element_[0] = IKJstream_;
      T10.vector_element_[1] = stream_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:92
      CONGRUENT_CALL_PROLOG(&Kprint_type_estimate_internalsVdfmc_typist, 2);
      CONGRUENT_CALL2(te_, &T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:93
      CONGRUENT_CALL_PROLOG(&Kwrite_elementYstreams_protocolVcommon_dylan, 2);
      T7 = CONGRUENT_CALL2(stream_, C('}'));
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:90
      FALL_THROUGH_UNWIND(T7);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:90
    primitive_write_thread_variable(Tprinting_a_type_estimateQTVdfmc_typist, Pold_valueP_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:90
    CONTINUE_UNWIND();
    T8 = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:87
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:85
  MV_SET_COUNT(0);
  return(T8);
}

D Kprint_objectYprintVioMdfmc_typistM1I (D v_, D stream_) {
  D T3;
  _KLsimple_object_vectorGVKd_1 T4 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:242
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:244
  T3 = SLOT_VALUE_INITD(v_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:244
  T4.vector_element_[0] = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:244
  ENGINE_NODE_CALL_PROLOG(&KformatYformatVio, &K386, 3);
  T5 = ENGINE_NODE_CALL3(&K386, stream_, &K387, &T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:242
  MV_SET_COUNT(0);
  return(T5);
}

D Kinitialize_typist_library_cachesVdfmc_namespaceMdfmc_typistM0I (D ld_) {
  D T2;
  D T3;
  D T4;
  D T5_0;
  D T6;
  D T7_0;
  D T8;
  D T9_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:266
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:273
  T2 = CALL1(&KmakeVdfmc_typist, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:272
  CONGRUENT_CALL_PROLOG(&Klibrary_type_cache_setterVdfmc_namespace, 2);
  CONGRUENT_CALL2(T2, ld_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:275
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T5_0 = CONGRUENT_CALL2(&KLtype_estimate_pair_match_tableGVdfmc_typist, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:275
  T4 = T5_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:274
  CONGRUENT_CALL_PROLOG(&Klibrary_type_estimate_disjointQ_cache_setterVdfmc_namespace, 2);
  CONGRUENT_CALL2(T4, ld_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:277
  T7_0 = KLobject_tableGZ32ZconstructorVKiMM0I(&KLobject_tableGVKd, &KPempty_vectorVKi, &KLobjectGVKd, (D) 41, &Kdefault_grow_sizeVKe, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:277
  T6 = T7_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:276
  CONGRUENT_CALL_PROLOG(&Klibrary_type_estimate_cons_cache_setterVdfmc_namespace, 2);
  CONGRUENT_CALL2(T6, ld_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:279
  T9_0 = KLobject_tableGZ32ZconstructorVKiMM0I(&KLobject_tableGVKd, &KPempty_vectorVKi, &KLobjectGVKd, (D) 41, &Kdefault_grow_sizeVKe, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:279
  T8 = T9_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:278
  CONGRUENT_CALL_PROLOG(&Klibrary_type_estimate_dispatch_cache_setterVdfmc_namespace, 2);
  CONGRUENT_CALL2(T8, ld_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:278
  T3 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:266
  MV_SET_COUNT(0);
  return(T3);
}

D Kprint_objectYprintVioMdfmc_typistM2I (D j_, D stream_) {
  D T3;
  D T4;
  _KLsimple_object_vectorGVKd_2 T5 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:298
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:301
  T3 = SLOT_VALUE_INITD(j_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:301
  T4 = SLOT_VALUE_INITD(j_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:300
  T5.vector_element_[0] = T3;
  T5.vector_element_[1] = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:300
  ENGINE_NODE_CALL_PROLOG(&KformatYformatVio, &K336, 3);
  ENGINE_NODE_CALL3(&K336, stream_, &K337, &T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:303
  ENGINE_NODE_CALL_PROLOG(&KformatYformatVio, &K338, 3);
  ENGINE_NODE_CALL3(&K338, stream_, &K339, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:304
  T6 = SLOT_VALUE_INITD(j_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:304
  CALL5(&Kprint_separated_collectionVdfmc_typist, T6, IKJstream_, stream_, IKJconjunction_, &K252);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:308
  ENGINE_NODE_CALL_PROLOG(&KformatYformatVio, &K340, 3);
  T7 = ENGINE_NODE_CALL3(&K340, stream_, &K341, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:298
  MV_SET_COUNT(0);
  return(T7);
}

D Ktype_estimate_update_cacheVdfmc_typistMM0I (D ref_, D cache_, D new_type_) {
  D T4;
  D cacheF5;
  D refF6;
  D ref_variable_;
  D T8;
  D T9;
  D Pold_valueP_;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24T, T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39T, T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D next_rhs_;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  _KLsimple_object_vectorGVKd_1 T51 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T52;
  D T53;
  D just_;
  D T55_0;
  D T56;
  D T57;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:342
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:342
  T4 = Kfunction_required_typeVKiI(MREF, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:342
  cacheF5 = cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:345
  CONGRUENT_CALL_PROLOG(&Kcanonical_refVdfmc_typist, 1);
  refF6 = CONGRUENT_CALL1(ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:348
  CONGRUENT_CALL_PROLOG(&Kcached_type_variableVdfmc_typist, 2);
  ref_variable_ = CONGRUENT_CALL2(refF6, cacheF5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:349
  T49 = TdebuggingQTVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:349
  if (T49 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:349
    T50 = primitive_not(ref_variable_);
    T8 = T50;
  } else {
    T8 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:349
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:349
  if (T8 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:349
    T51.vector_element_[0] = refF6;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:349
    Kdebug_assertion_failureVKiI(&K322, &T51);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:349
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:350
  T9 = primitive_read_thread_variable(Ttype_vars_propagatingTVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:350
  T52 = KmemberQVKdMM3I(ref_variable_, T9, &KPempty_vectorVKi, &KEEVKd);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:350
  if (T52 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:351
    Pold_valueP_ = primitive_read_thread_variable(Ttype_vars_propagatingTVdfmc_typist);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:351
    ENTER_UNWIND_FRAME(T11);
    if (!nlx_setjmp(FRAME_DEST(T11))) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:352
      T12 = primitive_read_thread_variable(Ttype_vars_propagatingTVdfmc_typist);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:352
      T53 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:352
      SLOT_VALUE_SETTER(ref_variable_, T53, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:352
      SLOT_VALUE_SETTER(T12, T53, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:351
      primitive_write_thread_variable(Ttype_vars_propagatingTVdfmc_typist, T53);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:355
      T13 = CALL1(&Ktype_variable_contentsVdfmc_typist, ref_variable_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:355
      T14 = CALL2(&Ktype_estimate_unionVdfmc_typist, T13, new_type_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:354
      CALL2(&Ktype_variable_contents_setterVdfmc_typist, T14, ref_variable_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:357
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T55_0 = CONGRUENT_CALL2(&KLjustificationGVdfmc_typist, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:357
      just_ = T55_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:359
      T15 = CALL1(&Ktype_variable_supportersVdfmc_typist, ref_variable_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:359
      T16 = CALL2(&KaddXVKd, T15, just_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:358
      CALL2(&Ktype_variable_supporters_setterVdfmc_typist, T16, ref_variable_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      T17 = primitive_read_thread_variable(Tcurrent_rhsTVdfmc_typist);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      T18 = CALL1(&Kforward_iteration_protocolVKd, T17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      T19 = T18;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      T20 = MV_GET_ELT(1);
;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      T21 = MV_GET_ELT(2);
;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      T22 = MV_GET_ELT(3);
;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      T23 = MV_GET_ELT(5);
;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      T24T = T19;
    L0: ;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
        T24 = T24T;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
        T25 = CALL3(T22, T17, T24, T20);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
        if (T25 == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
          T26 = CALL2(T23, T17, T24);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
          next_rhs_ = T26;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:361
          T48 = next_rhs_;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:361
          T56 = primitive_instanceQ(T48,&KLtype_variableGVdfmc_typist);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:361
          if (T56 == &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:362
            T47 = next_rhs_;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:362
            CONGRUENT_CALL_PROLOG(&Kcanonical_refVdfmc_typist, 1);
            T27 = CONGRUENT_CALL1(T47);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:362
            CONGRUENT_CALL_PROLOG(&Kcached_type_variableVdfmc_typist, 2);
            T28 = CONGRUENT_CALL2(T27, cacheF5);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:362
            next_rhs_ = T28;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:361
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:365
          T46 = next_rhs_;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:365
          T29 = CALL1(&Ktype_variable_supporteesVdfmc_typist, T46);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:365
          T30 = CALL2(&KaddXVKd, T29, just_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:364
          T45 = next_rhs_;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:364
          CALL2(&Ktype_variable_supportees_setterVdfmc_typist, T30, T45);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
          T31 = CALL2(T21, T17, T24);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
          T24T = T31;
          goto L0;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:360
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      T32 = CALL1(&Ktype_variable_supporteesVdfmc_typist, ref_variable_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      T33 = CALL1(&Kforward_iteration_protocolVKd, T32);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      T34 = T33;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      T35 = MV_GET_ELT(1);
;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      T36 = MV_GET_ELT(2);
;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      T37 = MV_GET_ELT(3);
;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      T38 = MV_GET_ELT(5);
;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      T39T = T34;
    L1: ;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
        T39 = T39T;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
        T40 = CALL3(T37, T32, T39, T35);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
        if (T40 == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
          T41 = CALL2(T38, T32, T39);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:370
          T42 = CALL1(&Kjustification_lhsVdfmc_typist, T41);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:370
          CONGRUENT_CALL_PROLOG(&Ktype_estimate_update_cacheVdfmc_typist, 3);
          CONGRUENT_CALL3(T42, cacheF5, new_type_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
          T43 = CALL2(T36, T32, T39);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
          T39T = T43;
          goto L1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:369
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:351
      FALL_THROUGH_UNWIND(&KPfalseVKi);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:351
    primitive_write_thread_variable(Ttype_vars_propagatingTVdfmc_typist, Pold_valueP_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:351
    CONTINUE_UNWIND();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:350
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:374
  T57 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:342
  MV_SET_COUNT(0);
  return(T57);
}

D Ktype_estimate_in_cacheVdfmc_typistMM0I (D ref_, D cache_) {
  D T3;
  D cacheF4;
  D refF5;
  D type_var_;
  D T7_0;
  D T8;
  D T9_0;
  D T10_0;
  D T11_0;
  D T12_0;
  D T13;
  D T14_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  T3 = Kfunction_required_typeVKiI(MREF, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  cacheF4 = cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:414
  CONGRUENT_CALL_PROLOG(&Kcanonical_refVdfmc_typist, 1);
  refF5 = CONGRUENT_CALL1(ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:419
  CONGRUENT_CALL_PROLOG(&Kcached_type_variableVdfmc_typist, 2);
  type_var_ = CONGRUENT_CALL2(refF5, cacheF4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:420
  if (type_var_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:422
    T7_0 = CALL1(&Ktype_variable_contentsVdfmc_typist, type_var_);
    T10_0 = T7_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:426
    CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
    T14_0 = CONGRUENT_CALL2(&KLtype_variableGVdfmc_typist, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:426
    T13 = T14_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:426
    CONGRUENT_CALL_PROLOG(&Kcached_type_variable_setterVdfmc_typist, 3);
    CONGRUENT_CALL3(T13, refF5, cacheF4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:427
    primitive_type_check(type_estimate_inferVdfmc_typist, &KLfunctionGVKd);
    T8 = type_estimate_inferVdfmc_typist;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:427
    T9_0 = CALL2(T8, refF5, cacheF4);
    T10_0 = T9_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:420
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  T11_0 = T10_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  T12_0 = T11_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T11_0);
    primitive_type_check(T12_0, &KLtype_estimateGVdfmc_typist);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  MV_SET_COUNT(1);
  return(T12_0);
}

D Kcached_type_variableVdfmc_typistMM0I (D ref_, D cache_) {
  D T3;
  D T4;
  D T5_0;
  D T6_0;
  D T7_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  T3 = Kfunction_required_typeVKiI(MREF, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  T4 = Kfunction_value_typeVKiI(MREF, (D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:434
  CONGRUENT_CALL_PROLOG(&Kcomputation_typeVdfmc_flow_graph, 1);
  T5_0 = CONGRUENT_CALL1(ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  T6_0 = T5_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  T7_0 = T6_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T6_0);
    primitive_type_check(T7_0, T4);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  MV_SET_COUNT(1);
  return(T7_0);
}

D Kcached_type_variable_setterVdfmc_typistMM0I (D tv_, D ref_, D cache_) {
  D T4;
  D T5_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:437
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:437
  T4 = Kfunction_required_typeVKiI(MREF, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:437
  cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:440
  CONGRUENT_CALL_PROLOG(&Kcomputation_type_setterVdfmc_flow_graph, 2);
  CONGRUENT_CALL2(tv_, ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:440
  T5_0 = tv_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:437
  MV_SET_COUNT(1);
  return(T5_0);
}

D Kretract_cached_type_variableVdfmc_typistMM0I (D ref_, D cache_) {
  D T3;
  D T4;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:443
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:443
  T3 = Kfunction_required_typeVKiI(MREF, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:443
  cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:445
  CONGRUENT_CALL_PROLOG(&Kcomputation_type_setterVdfmc_flow_graph, 2);
  CONGRUENT_CALL2(&KPfalseVKi, ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:445
  T4 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:443
  MV_SET_COUNT(0);
  return(T4);
}

D Kcached_type_variableVdfmc_typistMM1I (D ref_, D cache_) {
  D T3;
  D cacheF4;
  D T5;
  D T6_0;
  D T7_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  T3 = Kfunction_required_typeVKiI(MREF, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  cacheF4 = cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  T5 = Kfunction_value_typeVKiI(MREF, (D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:451
  T6_0 = CALL4(&KelementVKd, cacheF4, ref_, &KJdefault_, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  T7_0 = T6_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T6_0);
    primitive_type_check(T7_0, T5);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  MV_SET_COUNT(1);
  return(T7_0);
}

D Kcached_type_variable_setterVdfmc_typistMM1I (D tv_, D ref_, D cache_) {
  D T4;
  D cacheF5;
  D T6_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:454
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:454
  T4 = Kfunction_required_typeVKiI(MREF, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:454
  cacheF5 = cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:457
  CALL3(&Kelement_setterVKd, tv_, cacheF5, ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:457
  T6_0 = tv_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:454
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kretract_cached_type_variableVdfmc_typistMM1I (D ref_, D cache_) {
  D T3;
  D cacheF4;
  D T5;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  T3 = Kfunction_required_typeVKiI(MREF, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  cacheF4 = cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:462
  CALL2(&Kremove_keyXVKd, cacheF4, ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  T5 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  MV_SET_COUNT(0);
  return(T5);
}

D Ktype_estimate_explainVdfmc_typistMM0I (D ref_, D cache_, D keys_, D stream_, D recurseQ_, D indent_) {
  D T7;
  D cacheF8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  CAPTURE_KEYWORD_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T16 = primitive_copy_vector(keys_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T14 = primitive_next_methods_parameter();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T15 = MAKE_CLOSURE_INITD(&Kanonymous_of_type_estimate_explainF273, 4, T16, T14, cache_, ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T7 = Kfunction_required_typeVKiI(MREF, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  cacheF8 = cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T17 = primitive_idQ(stream_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  if (T17 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:478
    T9 = Tstandard_outputTYstandard_ioVio;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    T10 = T9;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    primitive_type_check(T10, &KLstreamGYcommon_extensionsVcommon_dylan);
    T10;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    primitive_type_check(stream_, &KLstreamGYcommon_extensionsVcommon_dylan);
    stream_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  primitive_type_check(recurseQ_, &KLbooleanGVKd);
  recurseQ_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  primitive_type_check(indent_, &KLintegerGVKd);
  indent_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:482
  T18 = SLOT_VALUE_INITD(ref_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:483
  if (T18 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:483
    CONGRUENT_CALL_PROLOG(&KassignmentsVdfmc_flow_graph, 1);
    T11 = CONGRUENT_CALL1(ref_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:483
    CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
    T12 = CONGRUENT_CALL1(T11);
    T13 = T12;
  } else {
    T13 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:483
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:483
  if (T13 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:484
    APPLY3(T15, T18, cacheF8, T16);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:487
    get_teb()->function = T15;
    Kanonymous_of_type_estimate_explainF273I(&KPempty_vectorVKi);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:483
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T19 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  MV_SET_COUNT(0);
  return(T19);
}

D Ktype_estimate_explainVdfmc_typistMM1I (D ref_, D cache_, D Urest_, D stream_, D recurseQ_, D indent_) {
  D T7;
  D cacheF8;
  D T9;
  D T10;
  D streamF11;
  D recurseQF12;
  D indentF13;
  D T14;
  D T15;
  D ref_type_;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  _KLsimple_object_vectorGVKd_3 T24 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T25;
  CAPTURE_KEYWORD_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  T7 = Kfunction_required_typeVKiI(MREF, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  cacheF8 = cache_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  T21 = primitive_idQ(stream_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  if (T21 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:493
    T9 = Tstandard_outputTYstandard_ioVio;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
    T10 = T9;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
    primitive_type_check(T10, &KLstreamGYcommon_extensionsVcommon_dylan);
    T22 = T10;
    streamF11 = T22;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
    primitive_type_check(stream_, &KLstreamGYcommon_extensionsVcommon_dylan);
    T23 = stream_;
    streamF11 = T23;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  primitive_type_check(recurseQ_, &KLbooleanGVKd);
  recurseQF12 = recurseQ_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  primitive_type_check(indent_, &KLintegerGVKd);
  indentF13 = indent_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:498
  T14 = &KindentifyF260;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:498
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:506
  primitive_type_check(type_estimate_in_cacheVdfmc_typist, &KLfunctionGVKd);
  T15 = type_estimate_in_cacheVdfmc_typist;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:506
  ref_type_ = CALL2(T15, ref_, cacheF8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:507
  KindentifyF260I(indentF13, streamF11, &KPempty_vectorVKi, (D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:508
  T17 = Kobject_classVKdI(ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:508
  T24.vector_element_[0] = ref_;
  T24.vector_element_[1] = T17;
  T24.vector_element_[2] = ref_type_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:508
  ENGINE_NODE_CALL_PROLOG(&KformatYformatVio, &K229, 3);
  ENGINE_NODE_CALL3(&K229, streamF11, &K230, &T24);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:509
  KindentifyF260I(indentF13, streamF11, &KPempty_vectorVKi, (D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:509
  ENGINE_NODE_CALL_PROLOG(&KformatYformatVio, &K231, 3);
  ENGINE_NODE_CALL3(&K231, streamF11, &K232, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:511
  CONGRUENT_CALL_PROLOG(&Kcached_type_variableVdfmc_typist, 2);
  T18 = CONGRUENT_CALL2(ref_, cacheF8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:511
  T19 = CALL1(&Ktype_variable_supportersVdfmc_typist, T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:513
  T20 = MAKE_CLOSURE(&Kanonymous_of_type_estimate_explainF248, 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:513
  INIT_CLOSURE(T20, 5, T14, indentF13, recurseQF12, streamF11, cacheF8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:510
  CALL5(&Kprint_separated_collectionVdfmc_typist, T19, IKJstream_, streamF11, IKJprinter_, T20);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:530
  T25 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  MV_SET_COUNT(0);
  return(T25);
}

D KmakeVdfmc_typistMM0I (D type_, D init_args_) {
  D T3_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:12
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:14
  T3_0 = APPLY2(&KmakeVKd, type_, init_args_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:12
  MV_SET_COUNT(1);
  return(T3_0);
}

D KmakeVdfmc_typistMM1I (D cl_, D Urest_, D normalizeQ_) {
  D T4_0;
  D T5_0;
  D T6_0;
  D T7;
  D T8_0;
  D T9_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:67
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:73
  T8_0 = APPLY2(&KmakeVKd, cl_, Urest_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:73
  T7 = T8_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:74
  if (normalizeQ_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:75
    T4_0 = CALL1(&Ktype_estimate_normalizeVdfmc_typist, T7);
    T6_0 = T4_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:77
    T5_0 = T7;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:77
    T9_0 = T5_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T5_0);
      primitive_type_check(T9_0, &KLtype_estimateGVdfmc_typist);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T6_0 = T9_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:74
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:67
  MV_SET_COUNT(1);
  return(T6_0);
}

D Ktype_estimateEQVdfmc_typistI (D te1_, D te2_) {
  D T2_0;
  D T2_1;
  D subQ_1_;
  D knownQ_1_;
  D T5_0;
  D T5_1;
  D subQ_2_;
  D knownQ_2_;
  D T8;
  D T9;
  D Utmp_;
  D T11;
  D T12;
  D T13_0;
  D T13_1;
  D T14_0;
  D T14_1;
  D T15_0;
  D T15_1;
  D T16;
  D T17;
  D T18_0;
  D T18_1;
  D T19_0;
  D T19_1;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:150
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:153
  CONGRUENT_CALL_PROLOG(&Ktype_estimate_subtypeQVdfmc_typist, 2);
  T2_0 = CONGRUENT_CALL2(te1_, te2_);
  T2_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:153
  subQ_1_ = T2_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:153
  knownQ_1_ = T2_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:154
  CONGRUENT_CALL_PROLOG(&Ktype_estimate_subtypeQVdfmc_typist, 2);
  T5_0 = CONGRUENT_CALL2(te2_, te1_);
  T5_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:154
  subQ_2_ = T5_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:154
  knownQ_2_ = T5_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:155
  if (knownQ_1_ != &KPfalseVKi) {
    T8 = knownQ_2_;
  } else {
    T8 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:155
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:155
  if (T8 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:156
    if (subQ_1_ != &KPfalseVKi) {
      T9 = subQ_2_;
    } else {
      T9 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:156
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:156
    T15_0 = T9;
    T15_1 = &KPtrueVKi;
    T14_0 = T15_0;
    T14_1 = T15_1;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:157
    if (knownQ_1_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:157
      T16 = primitive_not(subQ_1_);
      Utmp_ = T16;
    } else {
      Utmp_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:157
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:157
    if (Utmp_ != &KPfalseVKi) {
      T12 = Utmp_;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:157
      if (knownQ_2_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:157
        T17 = primitive_not(subQ_2_);
        T11 = T17;
      } else {
        T11 = &KPfalseVKi;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:157
      T12 = T11;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:157
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:155
    if (T12 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:158
      T18_0 = &KPfalseVKi;
      T18_1 = &KPtrueVKi;
      T13_0 = T18_0;
      T13_1 = T18_1;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:160
      T19_0 = &KPfalseVKi;
      T19_1 = &KPfalseVKi;
      T13_0 = T19_0;
      T13_1 = T19_1;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:155
    T14_0 = T13_0;
    T14_1 = T13_1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:155
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:150
  MV_SET_ELT(1, T14_1);
  MV_SET_COUNT(2);
  return(T14_0);
}

D Ktype_estimateVdfmc_typistMM0I (D ref_) {
  D T2;
  D T3;
  D T4;
  D T5_0;
  D T6_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:408
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:409
  primitive_type_check(type_estimate_in_cacheVdfmc_typist, &KLfunctionGVKd);
  T2 = type_estimate_in_cacheVdfmc_typist;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:409
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T3 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:409
  CONGRUENT_CALL_PROLOG(&Klibrary_type_cacheVdfmc_namespace, 1);
  T4 = CONGRUENT_CALL1(T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:409
  T5_0 = CALL2(T2, ref_, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:408
  T6_0 = T5_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T5_0);
    primitive_type_check(T6_0, &KLtype_estimateGVdfmc_typist);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:408
  MV_SET_COUNT(1);
  return(T6_0);
}

static D K181I () {
  D T0;
  D T1_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:292
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:292
  T0 = primitive_read_thread_variable(Tcurrent_lhsTVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:292
  T1_0 = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:292
  MV_SET_COUNT(1);
  return(T1_0);
}

static D KindentifyF260I (D indent_, D stream_, D Urest_, D levels_) {
  D T5;
  D level_T, level_;
  D T7;
  D T8;
  DWORD T9;
  DWORD T10;
  D T11;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:498
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:501
  ENGINE_NODE_CALL_PROLOG(&KformatYformatVio, &K261, 3);
  ENGINE_NODE_CALL3(&K261, stream_, &K262, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
  CONGRUENT_CALL_PROLOG(&KAVKd, 2);
  T5 = CONGRUENT_CALL2(indent_, levels_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
  level_T = (D) 1;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
    level_ = level_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T7 = CONGRUENT_CALL2(level_, T5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
    if (T7 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:503
      CONGRUENT_CALL_PROLOG(&KwriteYstreams_protocolVcommon_dylan, 3);
      CONGRUENT_CALL3(stream_, &K263, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
      T9 = primitive_cast_integer_as_raw(level_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
      T10 = primitive_machine_word_add_signal_overflow(T9,4);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
      T11 = primitive_cast_raw_as_integer(T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
      level_T = T11;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
    T8 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:502
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:498
  return(T8);
}

static D Kanonymous_of_type_estimate_explainF248I (D just_, D stream_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  DWORD T10;
  DWORD T11;
  D T12;
  D T13;
  D T14T, T14;
  D T15;
  D T16;
  D T17;
  D T18_0;
  D T19_0;
  D T20;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:513
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:514
  KindentifyF260I(CREF(1), CREF(3), &KPempty_vectorVKi, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:515
  T6 = SLOT_VALUE_INITD(just_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:515
  CALL3(&KformatYformatVio, stream_, &K249, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:516
  T7 = SLOT_VALUE_INITD(just_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:516
  T8 = primitive_idQ(T7,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:516
  if (T8 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:517
    CALL2(&KformatYformatVio, stream_, &K250);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:518
    CALL5(&Kprint_separated_collectionVdfmc_typist, T7, IKJstream_, stream_, IKJconjunction_, &K252);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:516
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:521
  if (CREF(2) != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:521
    T9 = primitive_not(T8);
    T2 = T9;
  } else {
    T2 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:521
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:521
  if (T2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:526
    T10 = primitive_cast_integer_as_raw(CREF(1));
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:526
    T11 = primitive_machine_word_add_signal_overflow(T10,4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:526
    T12 = primitive_cast_raw_as_integer(T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
    T3 = CALL8(&KrcurryVKd, type_estimate_explainVdfmc_typist, CREF(4), IKJstream_, stream_, IKJrecurseQ_, &KPtrueVKi, IKJindent_, T12);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
    T14T = T7;
  L0: ;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
      T14 = T14T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
      T15 = primitive_idQ(T14,&KPempty_listVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
      if (T15 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
        T16 = SLOT_VALUE_INITD(T14, 0);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
        CALL1(T3, T16);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
        T17 = SLOT_VALUE_INITD(T14, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
        T18_0 = T17;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
        T19_0 = T18_0;
        {
          MV_CHECK_TYPE_PROLOGUE(T18_0);
          primitive_type_check(T19_0, &KLlistGVKd);
          MV_CHECK_TYPE_EPILOGUE();
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
        T20 = T19_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
        T14T = T20;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:524
    T13 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T13;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:521
    T4 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:521
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:513
  return(T5);
}

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

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T6 = primitive_idQ(CREF(1),&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    T14 = KerrorVKdMM1I(&K274, &KPempty_vectorVKi);
    T5 = T14;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    T7 = SLOT_VALUE_INITD(Unext_method_argsU_, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    T8 = primitive_cast_integer_as_raw(T7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    T9 = primitive_machine_word_equalQ(T8,1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    if (T9 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
      T10 = SLOT_VALUE_INITD(CREF(1), 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
      T11 = SLOT_VALUE_INITD(CREF(1), 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
      MEP_CALL_PROLOG(T10, T11, 3);
      T2 = MEP_CALL3(T10, CREF(3), CREF(2), CREF(0));
      T4 = T2;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
      T12 = SLOT_VALUE_INITD(CREF(1), 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
      T13 = SLOT_VALUE_INITD(CREF(1), 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
      T3 = MEP_APPLY1(T12, T13, Unext_method_argsU_);
      T4 = T3;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  return(T5);
}

static D K295I () {
  D T0_0;
  D T1;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:229
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:229
  MIEP_CALL_PROLOG(&K296);
  T1 = KmakeVdfmc_typistMM10I(&KLtype_estimate_bottomGVdfmc_typist, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:229
  T0_0 = T1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:229
  MV_SET_COUNT(1);
  return(T0_0);
}

D Kcanonical_refVdfmc_typistMM0I (D ref_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:379
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:380
  T2_0 = ref_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:379
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kcanonical_refVdfmc_typistMM1I (D ref_) {
  D T2;
  D T3;
  D T4_0;
  D T5_0;
  D T6_0;
  D T7_0;
  D T8_0;
  D T9;
  D T10_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:383
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:386
  CONGRUENT_CALL_PROLOG(&KassignmentsVdfmc_flow_graph, 1);
  T2 = CONGRUENT_CALL1(ref_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:386
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T3 = CONGRUENT_CALL1(T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:386
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:387
    T9 = SLOT_VALUE_INITD(ref_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:387
    if (T9 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:387
      T4_0 = T9;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:387
      T10_0 = T4_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T4_0);
        primitive_type_check(T10_0, &K316);
        MV_CHECK_TYPE_EPILOGUE();
      }
      T6_0 = T10_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:387
      T5_0 = ref_;
      T6_0 = T5_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:387
    T8_0 = T6_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:389
    T7_0 = ref_;
    T8_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:386
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:383
  MV_SET_COUNT(1);
  return(T8_0);
}

D Kcanonical_refVdfmc_typistMM2I (D ref_) {
  D T2_0;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:394
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:395
  T3 = SLOT_VALUE_INITD(ref_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:395
  CONGRUENT_CALL_PROLOG(&Kcanonical_refVdfmc_typist, 1);
  T2_0 = CONGRUENT_CALL1(T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:394
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kcanonical_refVdfmc_typistMM3I (D ref_) {
  D T2;
  D T3_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:398
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:400
  T2 = SLOT_VALUE_INITD(ref_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:400
  T3_0 = Kcanonical_refVdfmc_typistMM0I(T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:398
  MV_SET_COUNT(1);
  return(T3_0);
}

D Klookup_typeVdfmc_typistMM0I (D ref_, D css_, D computation_) {
  D T4;
  D T5;
  D T6;
  D T7_0;
  D T8_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:326
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:329
  primitive_type_check(type_estimate_in_cacheVdfmc_typist, &KLfunctionGVKd);
  T4 = type_estimate_in_cacheVdfmc_typist;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:329
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T5 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:329
  CONGRUENT_CALL_PROLOG(&Klibrary_type_cacheVdfmc_namespace, 1);
  T6 = CONGRUENT_CALL1(T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:329
  T7_0 = CALL2(T4, ref_, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:329
  T8_0 = T7_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T7_0);
    primitive_type_check(T8_0, &KLtype_estimateGVdfmc_typist);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:326
  MV_SET_COUNT(1);
  return(T8_0);
}

D KLjustificationGZ32ZconstructorVdfmc_typistMM0I (D class_, D init_args_, D Uunique_justification_rule_, D Uunique_justification_lhs_, D Uunique_justification_rhs_) {
  D T6;
  D T7;
  D Uunique_justification_ruleF8;
  D T9;
  D T10;
  D Uunique_justification_lhsF11;
  D T12;
  D T13;
  D Uunique_justification_rhsF14;
  D T15;
  D Uunique_justification_ruleF16;
  D Uunique_justification_lhsF17;
  D Uunique_justification_rhsF18;
  D T19_0;
  D T20;
  D T21;
  D T22;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  T20 = primitive_idQ(Uunique_justification_rule_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  if (T20 != &KPfalseVKi) {
    T6 = K355I();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
    T7 = T6;
    Uunique_justification_ruleF8 = T7;
  } else {
    Uunique_justification_ruleF8 = Uunique_justification_rule_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  T21 = primitive_idQ(Uunique_justification_lhs_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  if (T21 != &KPfalseVKi) {
    T9 = K354I();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
    T10 = T9;
    Uunique_justification_lhsF11 = T10;
  } else {
    Uunique_justification_lhsF11 = Uunique_justification_lhs_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  T22 = primitive_idQ(Uunique_justification_rhs_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  if (T22 != &KPfalseVKi) {
    T12 = K353I();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
    T13 = T12;
    Uunique_justification_rhsF14 = T13;
  } else {
    Uunique_justification_rhsF14 = Uunique_justification_rhs_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  T15 = primitive_object_allocate_filled(4,&KLjustificationGVdfmc_typistW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_justification_ruleF8, &KLsymbolGVKd);
  Uunique_justification_ruleF16 = Uunique_justification_ruleF8;
  SLOT_VALUE_SETTER(Uunique_justification_ruleF16, T15, 0);
  primitive_type_check(Uunique_justification_lhsF11, &KLdfm_refGVdfmc_typist);
  Uunique_justification_lhsF17 = Uunique_justification_lhsF11;
  SLOT_VALUE_SETTER(Uunique_justification_lhsF17, T15, 1);
  primitive_type_check(Uunique_justification_rhsF14, &KLlistGVKd);
  Uunique_justification_rhsF18 = Uunique_justification_rhsF14;
  SLOT_VALUE_SETTER(Uunique_justification_rhsF18, T15, 2);
  APPLY2(&KinitializeVKd, T15, init_args_);
  T19_0 = T15;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  MV_SET_COUNT(1);
  return(T19_0);
}

static D K355I () {
  D T0;
  D init_value_;
  D T2_0;

  T0 = primitive_read_thread_variable(Tcurrent_ruleTVdfmc_typist);
  primitive_type_check(T0, &KLsymbolGVKd);
  init_value_ = T0;
  T2_0 = init_value_;
  MV_SET_COUNT(1);
  return(T2_0);
}

static D K354I () {
  D T0;
  D T1_0;

  T0 = primitive_read_thread_variable(Tcurrent_lhsTVdfmc_typist);
  T1_0 = T0;
  MV_SET_COUNT(1);
  return(T1_0);
}

static D K353I () {
  D T0;
  D init_value_;
  D T2_0;

  T0 = primitive_read_thread_variable(Tcurrent_rhsTVdfmc_typist);
  primitive_type_check(T0, &KLlistGVKd);
  init_value_ = T0;
  T2_0 = init_value_;
  MV_SET_COUNT(1);
  return(T2_0);
}

static D K372I () {
  D T0;
  D init_value_;
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:294
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:294
  T0 = primitive_read_thread_variable(Tcurrent_rhsTVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:294
  primitive_type_check(T0, &KLlistGVKd);
  init_value_ = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:294
  T2_0 = init_value_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:294
  MV_SET_COUNT(1);
  return(T2_0);
}

static D K379I () {
  D T0;
  D init_value_;
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:290
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:290
  T0 = primitive_read_thread_variable(Tcurrent_ruleTVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:290
  primitive_type_check(T0, &KLsymbolGVKd);
  init_value_ = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:290
  T2_0 = init_value_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:290
  MV_SET_COUNT(1);
  return(T2_0);
}

D KLtype_variableGZ32ZconstructorVdfmc_typistMM0I (D class_, D init_args_, D Uunique_type_variable_contents_, D Uunique_type_variable_supporters_, D Uunique_type_variable_supportees_) {
  D T6;
  D T7;
  D Uunique_type_variable_contentsF8;
  D T9;
  D Uunique_type_variable_contentsF10;
  D Uunique_type_variable_supportersF11;
  D Uunique_type_variable_supporteesF12;
  D T13_0;
  D T14;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:225
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:225
  T14 = primitive_idQ(Uunique_type_variable_contents_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:225
  if (T14 != &KPfalseVKi) {
    T6 = K396I();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:225
    T7 = T6;
    Uunique_type_variable_contentsF8 = T7;
  } else {
    Uunique_type_variable_contentsF8 = Uunique_type_variable_contents_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:225
  T9 = primitive_object_allocate_filled(4,&KLtype_variableGVdfmc_typistW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_type_variable_contentsF8, &KLtype_estimateGVdfmc_typist);
  Uunique_type_variable_contentsF10 = Uunique_type_variable_contentsF8;
  SLOT_VALUE_SETTER(Uunique_type_variable_contentsF10, T9, 0);
  primitive_type_check(Uunique_type_variable_supporters_, &KLlistGVKd);
  Uunique_type_variable_supportersF11 = Uunique_type_variable_supporters_;
  SLOT_VALUE_SETTER(Uunique_type_variable_supportersF11, T9, 1);
  primitive_type_check(Uunique_type_variable_supportees_, &KLlistGVKd);
  Uunique_type_variable_supporteesF12 = Uunique_type_variable_supportees_;
  SLOT_VALUE_SETTER(Uunique_type_variable_supporteesF12, T9, 2);
  T13_0 = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:225
  MV_SET_COUNT(1);
  return(T13_0);
}

static D K396I () {
  D T0_0;
  D T1;

  MIEP_CALL_PROLOG(&K296);
  T1 = KmakeVdfmc_typistMM10I(&KLtype_estimate_bottomGVdfmc_typist, &KPempty_vectorVKi);
  T0_0 = T1;
  MV_SET_COUNT(1);
  return(T0_0);
}

D Ktype_estimate_pseudosubtypeQVdfmc_typistI (D te1_, D te2_) {
  D T2;
  D T3_0;
  D T3_1;
  D subQ_;
  D know_subQ_;
  D disjQ_;
  D know_disQ_;
  D T8;
  D T9;
  D Utmp_;
  D T11;
  D T12;
  D T13_0;
  D T13_1;
  D T14_0;
  D T14_1;
  D T15_0;
  D T15_1;
  D T16;
  D T17_0;
  D T17_1;
  D T18;
  D T19_0;
  D T19_1;
  D T20_0;
  D T20_1;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:164
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:168
  CONGRUENT_CALL_PROLOG(&Ktype_estimate_baseVdfmc_typist, 1);
  T2 = CONGRUENT_CALL1(te2_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:168
  CONGRUENT_CALL_PROLOG(&Ktype_estimate_subtypeQVdfmc_typist, 2);
  T3_0 = CONGRUENT_CALL2(te1_, T2);
  T3_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:168
  subQ_ = T3_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:168
  know_subQ_ = T3_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:169
  T15_0 = Ktype_estimate_disjointQVdfmc_typistMM0I(te1_, te2_);
  T15_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:169
  disjQ_ = T15_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:169
  know_disQ_ = T15_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:170
  if (know_subQ_ != &KPfalseVKi) {
    T8 = know_disQ_;
  } else {
    T8 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:170
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:170
  if (T8 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:171
    if (subQ_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:171
      T16 = primitive_not(disjQ_);
      T9 = T16;
    } else {
      T9 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:171
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:171
    T17_0 = T9;
    T17_1 = &KPtrueVKi;
    T14_0 = T17_0;
    T14_1 = T17_1;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:172
    if (know_subQ_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:172
      T18 = primitive_not(subQ_);
      Utmp_ = T18;
    } else {
      Utmp_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:172
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:172
    if (Utmp_ != &KPfalseVKi) {
      T12 = Utmp_;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:172
      if (know_disQ_ != &KPfalseVKi) {
        T11 = disjQ_;
      } else {
        T11 = &KPfalseVKi;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:172
      T12 = T11;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:172
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:170
    if (T12 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:173
      T19_0 = &KPfalseVKi;
      T19_1 = &KPtrueVKi;
      T13_0 = T19_0;
      T13_1 = T19_1;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:175
      T20_0 = &KPfalseVKi;
      T20_1 = &KPfalseVKi;
      T13_0 = T20_0;
      T13_1 = T20_1;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:170
    T14_0 = T13_0;
    T14_1 = T13_1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:170
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:164
  MV_SET_ELT(1, T14_1);
  MV_SET_COUNT(2);
  return(T14_0);
}

D Ktype_initializer_methodVdfmc_typistMM0I (D l_) {
  D T2;
  D T3;
  D T4;
  D T5_0;
  D T6_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:333
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:334
  primitive_type_check(type_estimate_in_cacheVdfmc_typist, &KLfunctionGVKd);
  T2 = type_estimate_in_cacheVdfmc_typist;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:334
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T3 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:334
  CONGRUENT_CALL_PROLOG(&Klibrary_type_cacheVdfmc_namespace, 1);
  T4 = CONGRUENT_CALL1(T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:334
  T5_0 = CALL2(T2, l_, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:334
  T6_0 = T5_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T5_0);
    primitive_type_check(T6_0, &KLtype_estimateGVdfmc_typist);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:333
  MV_SET_COUNT(1);
  return(T6_0);
}

D Ktype_estimate_dispatch_cache_lookupVdfmc_typistMM0I (D gf_, D teT_) {
  D T3;
  D dispatch_cache_;
  D gf_cache_;
  D methods_;
  D T7_0;
  D T8_0;
  D T9_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:540
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:543
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T3 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:543
  CONGRUENT_CALL_PROLOG(&Klibrary_type_estimate_dispatch_cacheVdfmc_namespace, 1);
  dispatch_cache_ = CONGRUENT_CALL1(T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:545
  gf_cache_ = CALL4(&KelementVKd, dispatch_cache_, gf_, &KJdefault_, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:546
  if (gf_cache_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:547
    methods_ = CALL4(&KelementVKd, gf_cache_, teT_, &KJdefault_, &KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:552
    T7_0 = methods_;
    T9_0 = T7_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:546
    T8_0 = &KPfalseVKi;
    T9_0 = T8_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:546
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:540
  MV_SET_COUNT(1);
  return(T9_0);
}

D Kadd_type_estimate_dispatch_cache_entryVdfmc_typistMM0I (D gf_, D teT_, D methods_) {
  D T4;
  D dispatch_cache_;
  D Utmp_;
  D gf_cache_;
  D T8;
  D T9;
  D T10_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:556
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:561
  CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
  T4 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:561
  CONGRUENT_CALL_PROLOG(&Klibrary_type_estimate_dispatch_cacheVdfmc_namespace, 1);
  dispatch_cache_ = CONGRUENT_CALL1(T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:563
  Utmp_ = CALL4(&KelementVKd, dispatch_cache_, gf_, &KJdefault_, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:563
  if (Utmp_ != &KPfalseVKi) {
    gf_cache_ = Utmp_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:565
    CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
    T10_0 = CONGRUENT_CALL2(&KLtype_estimate_sequence_match_tableGVdfmc_typist, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:565
    T9 = T10_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:564
    CALL3(&Kelement_setterVKd, T9, dispatch_cache_, gf_);
    gf_cache_ = T9;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:563
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:566
  CALL3(&Kelement_setterVKd, methods_, gf_cache_, teT_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:566
  T8 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:556
  MV_SET_COUNT(0);
  return(T8);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJlhs_);
    if (T0 != &KJlhs_) {
      primitive_repeated_slot_value_setter(T0, &K362, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K357, 1, 2);
      primitive_slot_value_setter(T0, &Kjustification_lhsVdfmc_typistHLjustificationG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsupportees_);
    if (T0 != &KJsupportees_) {
      primitive_repeated_slot_value_setter(T0, &K399, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K398, 1, 4);
      primitive_slot_value_setter(T0, &Ktype_variable_supporteesVdfmc_typistHLtype_variableG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJnormalizeQ_);
    if (T0 != &KJnormalizeQ_) {
      primitive_slot_value_setter(T0, &Ktype_estimate_to_be_normalizedQVdfmc_typistHLtype_estimateG, 3);
      primitive_repeated_slot_value_setter(T0, &K211, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K207, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJstream_);
    if (T0 != &KJstream_) {
      primitive_repeated_slot_value_setter(T0, &K424, 1, 0);
      IKJstream_ = T0;
      primitive_repeated_slot_value_setter(T0, &K67, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K270, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJprinter_);
    if (T0 != &KJprinter_) {
      IKJprinter_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsupporters_);
    if (T0 != &KJsupporters_) {
      primitive_repeated_slot_value_setter(T0, &K399, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K398, 1, 2);
      primitive_slot_value_setter(T0, &Ktype_variable_supportersVdfmc_typistHLtype_variableG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJconjunction_);
    if (T0 != &KJconjunction_) {
      IKJconjunction_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJrecurseQ_);
    if (T0 != &KJrecurseQ_) {
      primitive_repeated_slot_value_setter(T0, &K67, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K270, 1, 2);
      IKJrecurseQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJindent_);
    if (T0 != &KJindent_) {
      primitive_repeated_slot_value_setter(T0, &K67, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K270, 1, 4);
      IKJindent_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJlevels_);
    if (T0 != &KJlevels_) {
      primitive_repeated_slot_value_setter(T0, &K269, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K265, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcontents_);
    if (T0 != &KJcontents_) {
      primitive_repeated_slot_value_setter(T0, &K399, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K398, 1, 0);
      primitive_slot_value_setter(T0, &Ktype_variable_contentsVdfmc_typistHLtype_variableG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJrule_);
    if (T0 != &KJrule_) {
      primitive_slot_value_setter(T0, &Kjustification_ruleVdfmc_typistHLjustificationG, 3);
      primitive_repeated_slot_value_setter(T0, &K362, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K357, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJrhs_);
    if (T0 != &KJrhs_) {
      primitive_slot_value_setter(T0, &Kjustification_rhsVdfmc_typistHLjustificationG, 3);
      primitive_repeated_slot_value_setter(T0, &K362, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K357, 1, 4);
    }
  }
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:58
  T0 = KPadd_classVKeI(&KLtype_estimateGVdfmc_typist);
  goto I0;
}
I0:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:225
  T0 = KPadd_classVKeI(&KLtype_variableGVdfmc_typist);
  goto I9;
}
I9:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:287
  T0 = KPadd_classVKeI(&KLjustificationGVdfmc_typist);
  goto I25;
}
I25:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_typist__X_typist_protocol_for_user () {
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:65
  T0 = KPadd_nonsiblinged_domainVKnI(&KinitializeVKd, &KinitializeVKdRD_dfmc_typistRD_4);
  goto I4;
}
I4:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:81
  Tprinting_a_type_estimateQTVdfmc_typist = primitive_allocate_thread_variable(&KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:81
  T0 = &KPfalseVKi;
  goto I5;
}
I5:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:85
  T0 = KPadd_a_methodVKnI(&Kprint_objectYprintVio, &Kprint_objectYprintVioMdfmc_typistM0, &Kdfmc_typist_libraryYdylan_userVdfmc_typist, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I8;
}
I8:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:240
  T0 = KPadd_nonsiblinged_domainVKnI(&KinitializeVKd, &KinitializeVKdRD_dfmc_typistRD_3);
  goto I13;
}
I13:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:242
  T0 = KPadd_a_methodVKnI(&Kprint_objectYprintVio, &Kprint_objectYprintVioMdfmc_typistM1, &Kdfmc_typist_libraryYdylan_userVdfmc_typist, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I16;
}
I16:

{
  D T0;
  D T1;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:248
  T1 = KlimitedVKdMM4I(&KLtableGVKd, &KPempty_vectorVKi, &K18, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:247
  Ltype_cacheGVdfmc_typist = T1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:247
  T0 = &KPfalseVKi;
  goto I17;
}
I17:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:266
  T0 = KPadd_a_methodVKnI(&Kinitialize_typist_library_cachesVdfmc_namespace, &Kinitialize_typist_library_cachesVdfmc_namespaceMdfmc_typistM0, &Kdfmc_typist_libraryYdylan_userVdfmc_typist, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I21;
}
I21:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:283
  Tcurrent_ruleTVdfmc_typist = primitive_allocate_thread_variable(&KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:283
  T0 = &KPfalseVKi;
  goto I22;
}
I22:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:284
  Tcurrent_lhsTVdfmc_typist = primitive_allocate_thread_variable(&KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:284
  T0 = &KPfalseVKi;
  goto I23;
}
I23:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:285
  Tcurrent_rhsTVdfmc_typist = primitive_allocate_thread_variable(&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:285
  T0 = &KPfalseVKi;
  goto I24;
}
I24:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:298
  T0 = KPadd_a_methodVKnI(&Kprint_objectYprintVio, &Kprint_objectYprintVioMdfmc_typistM2, &Kdfmc_typist_libraryYdylan_userVdfmc_typist, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I30;
}
I30:

{
  D T0;
  D T1;
  D T2;

  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLdfm_refGVdfmc_typist, Ltype_cacheGVdfmc_typist);
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPtrueVKi, T0, &K33, &KPfalseVKi, (D) 33555465);
  T2 = CALL2(&KPdefine_genericVKn, type_estimate_in_cacheVdfmc_typist, T1);
  goto I31;
}
I31:

{
  D T0;
  D T1;
  D T2;

  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLdfm_refGVdfmc_typist, Ltype_cacheGVdfmc_typist);
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPtrueVKi, T0, &K33, &KPfalseVKi, (D) 33555465);
  T2 = CALL2(&KPdefine_genericVKn, type_estimate_inferVdfmc_typist, T1);
  goto I34;
}
I34:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:337
  Ttype_vars_propagatingTVdfmc_typist = primitive_allocate_thread_variable(&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:337
  T0 = &KPfalseVKi;
  goto I35;
}
I35:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:342
  T0 = CALL3(&Kimmutable_type_vectorVKe, &KLdfm_refGVdfmc_typist, Ltype_cacheGVdfmc_typist, &KLtype_estimateGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:342
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPfalseVKi, T0, &KPempty_vectorVKi, &KPfalseVKi, (D) 33554445);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:342
  T2 = SET_METHOD_SIG(&Ktype_estimate_update_cacheVdfmc_typistMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:342
  T3 = KPadd_dynamic_methodVKnI(&Ktype_estimate_update_cacheVdfmc_typist, T2);
  goto I36;
}
I36:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLdfm_refGVdfmc_typist, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPfalseVKi, T0, &K33, &KPfalseVKi, (D) 33555465);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  T2 = SET_METHOD_SIG(&Ktype_estimate_in_cacheVdfmc_typistMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:412
  T3 = CALL3(&KPdefine_methodVKn, type_estimate_in_cacheVdfmc_typist, T2, &Kdfmc_typist_libraryYdylan_userVdfmc_typist);
  goto I40;
}
I40:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLcomputationGVdfmc_flow_graph, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPfalseVKi, T0, &K46, &KPfalseVKi, (D) 33555465);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  T2 = SET_METHOD_SIG(&Kcached_type_variableVdfmc_typistMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:431
  T3 = KPadd_dynamic_methodVKnI(&Kcached_type_variableVdfmc_typist, T2);
  goto I43;
}
I43:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:437
  T0 = CALL3(&Kimmutable_type_vectorVKe, &KLtype_variableGVdfmc_typist, &KLcomputationGVdfmc_flow_graph, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:437
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPfalseVKi, T0, &K51, &KPfalseVKi, (D) 33555469);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:437
  T2 = SET_METHOD_SIG(&Kcached_type_variable_setterVdfmc_typistMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:437
  T3 = KPadd_dynamic_methodVKnI(&Kcached_type_variable_setterVdfmc_typist, T2);
  goto I48;
}
I48:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:443
  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLcomputationGVdfmc_flow_graph, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:443
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPfalseVKi, T0, &KPempty_vectorVKi, &KPfalseVKi, (D) 33554441);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:443
  T2 = SET_METHOD_SIG(&Kretract_cached_type_variableVdfmc_typistMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:443
  T3 = KPadd_dynamic_methodVKnI(&Kretract_cached_type_variableVdfmc_typist, T2);
  goto I53;
}
I53:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLdfm_refGVdfmc_typist, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPfalseVKi, T0, &K46, &KPfalseVKi, (D) 33555465);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  T2 = SET_METHOD_SIG(&Kcached_type_variableVdfmc_typistMM1, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:448
  T3 = KPadd_dynamic_methodVKnI(&Kcached_type_variableVdfmc_typist, T2);
  goto I57;
}
I57:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:454
  T0 = CALL3(&Kimmutable_type_vectorVKe, &KLtype_variableGVdfmc_typist, &KLdfm_refGVdfmc_typist, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:454
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPfalseVKi, T0, &K51, &KPfalseVKi, (D) 33555469);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:454
  T2 = SET_METHOD_SIG(&Kcached_type_variable_setterVdfmc_typistMM1, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:454
  T3 = KPadd_dynamic_methodVKnI(&Kcached_type_variable_setterVdfmc_typist, T2);
  goto I60;
}
I60:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLobjectGVKd, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  T1 = CALL5(&Kmake_LsignatureGVKi, &KPfalseVKi, T0, &KPempty_vectorVKi, &KPfalseVKi, (D) 33554441);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  T2 = SET_METHOD_SIG(&Kretract_cached_type_variableVdfmc_typistMM1, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:460
  T3 = KPadd_dynamic_methodVKnI(&Kretract_cached_type_variableVdfmc_typist, T2);
  goto I63;
}
I63:

{
  D T0;
  D T1;
  D T2;

  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLdfm_refGVdfmc_typist, Ltype_cacheGVdfmc_typist);
  T1 = CALL7(&Kmake_Lkeyword_signatureGVKi, &KPtrueVKi, T0, &KPempty_vectorVKi, &KPfalseVKi, (D) 33816585, &K67, &K68);
  T2 = CALL2(&KPdefine_genericVKn, type_estimate_explainVdfmc_typist, T1);
  goto I66;
}
I66:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLtemporaryGVdfmc_flow_graph, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T1 = CALL7(&Kmake_Lkeyword_signatureGVKi, &KPtrueVKi, T0, &KPempty_vectorVKi, &KPfalseVKi, (D) 34865161, &K67, &K68);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T2 = SET_KEYWORD_METHOD_SIG(&Ktype_estimate_explainVdfmc_typistMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:475
  T3 = CALL3(&KPdefine_methodVKn, type_estimate_explainVdfmc_typist, T2, &Kdfmc_typist_libraryYdylan_userVdfmc_typist);
  goto I69;
}
I69:

{
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  T0 = CALL2(&Kimmutable_type_vectorVKe, &KLdfm_refGVdfmc_typist, Ltype_cacheGVdfmc_typist);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  T1 = CALL7(&Kmake_Lkeyword_signatureGVKi, &KPfalseVKi, T0, &KPempty_vectorVKi, &KPfalseVKi, (D) 33816585, &K67, &K68);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  T2 = SET_KEYWORD_METHOD_SIG(&Ktype_estimate_explainVdfmc_typistMM1, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/typist/typist-protocol.dylan:491
  T3 = CALL3(&KPdefine_methodVKn, type_estimate_explainVdfmc_typist, T2, &Kdfmc_typist_libraryYdylan_userVdfmc_typist);
  goto I72;
}
I72:

  return;
}


/* eof */
