#include "opendylan/run-time.h"

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

/* Typedefs for referenced classes */

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(18);
define__KLsimple_object_vectorGVKd(5);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(31);
define__KLsimple_object_vectorGVKd(15);
define__KLsimple_object_vectorGVKd(13);
define__KLsimple_object_vectorGVKd(10);
define__KLsimple_object_vectorGVKd(9);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(6);

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

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

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value macro_word_class_;
  dylan_value macro_expander_function_;
  dylan_value macro_referenced_names_;
  dylan_value macro_suffix_;
} _KLsuffixed_macro_descriptorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

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

typedef struct {
  dylan_value wrapper;
  dylan_value private_option_debug_name_;
  dylan_value private_option_symbol_;
  dylan_value private_option_constraint_;
  dylan_value private_option_excludes_thunk_;
} _KLoptionGVdfmc_definitions;

typedef struct {
  dylan_value wrapper;
  dylan_value macro_word_class_;
  dylan_value macro_expander_function_;
  dylan_value macro_referenced_names_;
} _KLsimple_macro_descriptorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(41);
define__KLbyte_stringGVKd(46);
define__KLbyte_stringGVKd(32);
define__KLbyte_stringGVKd(43);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(31);
define__KLbyte_stringGVKd(52);
define__KLbyte_stringGVKd(36);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(28);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(1);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(27);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(3);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(2);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(29);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(8);

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

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

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

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

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

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

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value PinstanceQ_iep_;
  dylan_value CinstanceQ_function_;
  dylan_value private_Cdebug_name_;
  dylan_value Cclass_implementation_class_;
  dylan_value Cclass_subtype_bit_;
  dylan_value Pclass_module_;
  dylan_value Calignment_of_;
  dylan_value Csize_of_;
  dylan_value private_Creferenced_type_;
  dylan_value private_Cconcrete_pointer_type_;
  dylan_value private_Cabstract_pointer_type_;
  dylan_value private_Cmapped_import_type_;
  dylan_value private_Cmapped_export_type_;
  dylan_value private_Clow_level_type_;
  dylan_value private_Craw_type_info_;
  dylan_value private_Craw_dereferencer_name_;
  dylan_value private_Cbitfield_dereferencer_name_;
  dylan_value private_Cboxer_function_name_;
  dylan_value private_Cimport_function_;
  dylan_value private_Cexport_function_;
  dylan_value private_Cunboxer_function_name_;
  dylan_value private_Coptions_;
  dylan_value private_struct_fields_;
  dylan_value proxyQ_;
  dylan_value private_pointer_type_name_;
  dylan_value private_concrete_class_name_;
  dylan_value private_raw_struct_name_;
  dylan_value private_Cconcrete_class_;
} _KLBdesignator_classGVdfmc_c_ffi;

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

typedef struct {
  dylan_value wrapper;
  dylan_value template_fragments_;
} _KLtemplateGVdfmc_reader;

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLsequenceGVKd;

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

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_definition_name_;
  dylan_value condition_pointer_type_name_expression_;
} _KLinvalid_pointer_type_name_valueGVdfmc_c_ffi;

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

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

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

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

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

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

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

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

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

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


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLsuffixed_macro_descriptorGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsuffixed_macro_descriptorGVdfmc_macro_expanderW;
dylan_value Kdo_define_core_macroVdfmc_definitionsMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLsymbolGVKd KJdebug_name_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLoptionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLoptionGVdfmc_definitionsW;
extern _KLsymbolGVKd KJname_;
dylan_value KlistVKdI (dylan_value);
extern _KLclassGVKd KLsimple_macro_descriptorGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsimple_macro_descriptorGVdfmc_macro_expanderW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLsealed_generic_functionGVKe Kcall_as_fragment_tokensVdfmc_macro_expander;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
dylan_value Kmatch_list_part_strictVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_expression_constraintVdfmc_macro_expanderI (dylan_value);
extern _KLincremental_generic_functionGVKe KemptyQVKd;
dylan_value Kmatch_list_partVdfmc_macro_expanderI (dylan_value);
dylan_value Kdylan_variable_nameVdfmc_readerI (dylan_value);
dylan_value Kmacro_main_rule_match_errorVdfmc_macro_expanderI (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kexport_fragment_tokensVdfmc_macro_expander;
dylan_value KCtop_level_eval_typeVdfmc_conversionMM0I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_4VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
dylan_value Kmake_parens_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value Kmake_templateVdfmc_macro_expanderI (dylan_value);
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLfragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLfragmentGVdfmc_readerW;
dylan_value Kmake_name_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value Kmake_comma_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_hash_lbracket_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_rbracket_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_semicolon_fragmentVdfmc_macro_expanderI ();
extern _KLclassGVKd KLBdesignator_classGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLBdesignator_classGVdfmc_c_ffiW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLsealed_generic_functionGVKe Kas_fragment_tokensVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Kcurrent_library_descriptionVdfmc_common;
extern _KLsealed_generic_functionGVKe Klibrary_forms_dynamicQVdfmc_namespace;
extern _KLsealed_generic_functionGVKe Kfragment_source_locationVdfmc_reader;
extern _KLincremental_generic_functionGVKe KnoteVdfmc_conditions;
extern _KLclassGVKd KLdynamic_ffi_definitionGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLdynamic_ffi_definitionGVdfmc_c_ffiW;
extern _KLsymbolGVKd KJslots_;
dylan_value KapplyVKdI (dylan_value, dylan_value);
dylan_value KgensymVdfmc_c_ffiMM0I (dylan_value);
extern _KLsymbolGVKd KJfunction_;
extern _KLsealed_generic_functionGVKe Kimport_to_templateVdfmc_macro_expander;
dylan_value Kmake_colon_colon_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_equal_greater_fragmentVdfmc_macro_expanderI ();
extern _KLsymbolGVKd KJvalue_;
extern _KLsealed_generic_functionGVKe Kmaybe_substitute_separatorVdfmc_macro_expander;
extern _KLsealed_generic_functionGVKe Ksubstitute_sequence_separatedVdfmc_macro_expander;
extern _KLsymbolGVKd KJend_;
extern _KLclassGVKd KLtemplateGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLtemplateGVdfmc_readerW;
dylan_value Kcreate_automatic_c_pointer_definition_fragmentVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
dylan_value Kmake_hash_key_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_equal_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_literal_fragmentVdfmc_macro_expanderMM1I (dylan_value);
extern _KLsymbolGVKd KJclass_;
dylan_value Kmake_literal_fragmentVdfmc_macro_expanderMM3I (dylan_value);
dylan_value Kmake_literal_fragmentVdfmc_macro_expanderMM6I (dylan_value);
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLvariable_name_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLvariable_name_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLsealed_generic_functionGVKe KheadVKd;
extern _KLsealed_generic_functionGVKe KtailVKd;
dylan_value Kmatch_body_partVdfmc_macro_expanderI (dylan_value);
dylan_value Kmacro_aux_rule_match_errorVdfmc_macro_expanderI (dylan_value, dylan_value, dylan_value);
dylan_value Kexport_fragment_tokensVdfmc_macro_expanderMM0I (dylan_value);
dylan_value Kparse_optionsVdfmc_definitionsMM0I (dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
dylan_value Kconcatenate_asVKdMM4I (dylan_value, dylan_value, dylan_value);
dylan_value Kfragment_nameQVdfmc_c_ffiI (dylan_value);
extern _KLclassGVKd KLinvalid_pointer_type_name_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_pointer_type_name_valueGVdfmc_c_ffiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LlistG_typesVKi;
dylan_value Kmatch_nameVdfmc_macro_expanderI (dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe KconcatenateXYcommon_extensionsVcommon_dylan;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
dylan_value Kmatch_end_of_modifiersVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_name_constraintVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_parensVdfmc_macro_expanderI (dylan_value);
extern _KLclassGVKd KLunresolved_export_typeGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLunresolved_export_typeGVdfmc_c_ffiW;
extern _KLclassGVKd KLunresolved_import_typeGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLunresolved_import_typeGVdfmc_c_ffiW;
dylan_value Kmatch_variable_constraintVdfmc_macro_expanderI (dylan_value);
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLsimple_methodGVKe KCimport_functionVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCexport_functionVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCreferenced_typeVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KClow_level_typeVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCboxer_function_nameVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCraw_dereferencer_nameVdfmc_c_ffiMM0;
dylan_value Kmake_binary_operator_fragmentVdfmc_macro_expanderI (dylan_value);
extern _KLsimple_methodGVKe KCunboxer_function_nameVdfmc_c_ffiMM0;
extern _KLsealed_generic_functionGVKe Kmake_literal_fragmentVdfmc_macro_expander;
dylan_value Kmatch_property_listVdfmc_macro_expanderI (dylan_value, dylan_value, dylan_value);
dylan_value Kmatch_literalVdfmc_macro_expanderI (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe KconcatenateVKd;
extern _KLfunction_classGVKi KLkeyword_closure_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_closure_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLmultiple_export_mappingsGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmultiple_export_mappingsGVdfmc_c_ffiW;
extern _KLclassGVKd KLmultiple_import_mappingsGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmultiple_import_mappingsGVdfmc_c_ffiW;
extern _KLclassGVKd KLmissing_import_functionGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmissing_import_functionGVdfmc_c_ffiW;
extern _KLclassGVKd KLmissing_export_functionGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmissing_export_functionGVdfmc_c_ffiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LsequenceG_typesVKi;
extern dylan_value DunsuppliedYcommon_extensionsVcommon_dylan;

/* Defined object declarations */

static _KLsymbolGVKd KJword_class_;
static _KLsymbolGVKd KJsuffix_;
static _KLbyte_stringGVKd_8 K3;
static _KLsymbolGVKd KJexpander_function_;
extern _KLsimple_methodGVKe Kc_mapped_subtype_definer_expanderVdfmc_c_ffiMM0;
dylan_value Kc_mapped_subtype_definer_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJc_mapped_subtype_definer_;
static _KLsymbolGVKd KJLc_mapped_subtype_import_function_optionG_;
static _KLsymbolGVKd KJsymbol_;
static _KLsymbolGVKd KJimport_function_;
static _KLsymbolGVKd KJconstraint_;
static _KLsymbolGVKd KJexpression_;
static _KLsymbolGVKd KJexcludes_thunk_;
static _KLsimple_closure_methodGVKi_0 K275;
static dylan_value K275I ();
static _KLsymbolGVKd KJLc_mapped_subtype_export_function_optionG_;
static _KLsymbolGVKd KJexport_function_;
static _KLsimple_closure_methodGVKi_0 K272;
static dylan_value K272I ();
static _KLsymbolGVKd KJLc_mapped_subtype_pointer_value_setter_optionG_;
static _KLsymbolGVKd KJpointer_value_setter_;
static _KLsimple_closure_methodGVKi_0 K269;
static dylan_value K269I ();
static _KLsymbolGVKd KJLc_mapped_subtype_c_name_optionG_;
static _KLsymbolGVKd KJc_name_;
static _KLsimple_closure_methodGVKi_0 K266;
static dylan_value K266I ();
static _KLsymbolGVKd KJLc_mapped_subtype_pointer_type_name_optionG_;
static _KLsymbolGVKd KJpointer_type_name_;
static _KLsimple_closure_methodGVKi_0 K263;
static dylan_value K263I ();
extern _KLsimple_methodGVKe Ksimple_c_mapped_subtype_definer_expanderVdfmc_c_ffiMM0;
dylan_value Ksimple_c_mapped_subtype_definer_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJsimple_c_mapped_subtype_definer_;
extern _KLsimple_methodGVKe Kpointer_value_setter_body_expanderVdfmc_c_ffiMM0;
dylan_value Kpointer_value_setter_body_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJpointer_value_setter_body_;
extern _KLsimple_methodGVKe Kpointer_value_body_expanderVdfmc_c_ffiMM0;
dylan_value Kpointer_value_body_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJpointer_value_body_;
extern _KLsimple_methodGVKe Kexport_function_body_expanderVdfmc_c_ffiMM0;
dylan_value Kexport_function_body_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJexport_function_body_;
extern _KLsimple_methodGVKe Kimport_function_body_expanderVdfmc_c_ffiMM0;
dylan_value Kimport_function_body_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJimport_function_body_;
extern _KLsimple_methodGVKe Kcheck_import_type_defined_expanderVdfmc_c_ffiMM0;
dylan_value Kcheck_import_type_defined_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJcheck_import_type_defined_;
extern _KLsimple_methodGVKe Kcheck_export_type_defined_expanderVdfmc_c_ffiMM0;
dylan_value Kcheck_export_type_defined_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJcheck_export_type_defined_;
static _KLsymbolGVKd KJLc_subtype_pointer_type_name_optionG_;
static _KLsimple_closure_methodGVKi_0 K202;
static dylan_value K202I ();
static _KLsymbolGVKd KJLc_subtype_c_name_optionG_;
static _KLsimple_closure_methodGVKi_0 K199;
static dylan_value K199I ();
extern _KLsimple_methodGVKe Kc_subtype_definer_expanderVdfmc_c_ffiMM0;
dylan_value Kc_subtype_definer_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJc_subtype_definer_;
extern _KLsimple_methodGVKe Kboxer_for_designator_expanderVdfmc_c_ffiMM0;
dylan_value Kboxer_for_designator_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJboxer_for_designator_;
static _KLbyte_stringGVKd_20 K87;
extern _KLsealed_generic_functionGVKe Kboxer_expressionVdfmc_c_ffi;
extern _KLsimple_methodGVKe Kboxer_expressionVdfmc_c_ffiMM0;
dylan_value Kboxer_expressionVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kboxer_expressionVdfmc_c_ffiMM1;
dylan_value Kboxer_expressionVdfmc_c_ffiMM1I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLpairGVKd K93;
static _KLpairGVKd K94;
static _KLbyte_stringGVKd_16 K95;
static _KLsignatureGVKe K96;
static _KLsimple_object_vectorGVKd_4 K97;
static _KLsymbolGVKd KJmake_c_pointer_;
static _KLsymbolGVKd KJprimitive_cast_pointer_as_raw_;
static _KLbyte_stringGVKd_29 K100;
static _KLbyte_stringGVKd_14 K101;
static _KLsignatureGVKe K102;
static _KLsimple_object_vectorGVKd_4 K103;
static _KLbyte_stringGVKd_17 K104;
static dylan_value KUwildcard_loopUF198I (dylan_value, dylan_value);
static dylan_value Ksupers_rewriterF194I (dylan_value);
static _KLsymbolGVKd KJsource_location_;
extern _KLsimple_methodGVKe Kparse_subtype_keys_and_slotsVdfmc_c_ffiMM0;
dylan_value Kparse_subtype_keys_and_slotsVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJmodifiers_;
extern _KLkeyword_methodGVKe Kdo_define_c_mapped_subtypeVdfmc_c_ffiMM0;
dylan_value Kdo_define_c_mapped_subtypeVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
dylan_value Kverify_mapped_subtype_optionsVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLbyte_stringGVKd_2 K114;
static _KLbyte_stringGVKd_26 K115;
static _KLbyte_stringGVKd_20 K116;
static _KLbyte_stringGVKd_20 K117;
dylan_value Kdo_simple_c_mapped_subtypeVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsymbolGVKd KJdefine_;
static _KLsymbolGVKd KJarg_;
static _KLsymbolGVKd KJlow_level_type_for_;
static _KLbyte_stringGVKd_18 K122;
static _KLbyte_stringGVKd_3 K123;
static _KLbyte_stringGVKd_6 K124;
static _KLsymbolGVKd KJmethod_;
static _KLsymbolGVKd KJpointer_value_;
static _KLsymbolGVKd KJp_;
static _KLsymbolGVKd KJindex_;
static _KLsymbolGVKd KJLintegerG_;
static _KLsymbolGVKd KJv_;
static _KLsymbolGVKd KJimport_type_for_;
static _KLsymbolGVKd KJnew_;
static _KLsymbolGVKd KJexport_type_for_;
static _KLsymbolGVKd KJmetaclass_;
static _KLsymbolGVKd KJLc_mapped_designator_classG_;
static _KLsymbolGVKd KJmapped_import_type_;
static _KLsymbolGVKd KJmapped_export_type_;
static _KLsymbolGVKd KJself_;
static _KLbyte_stringGVKd_4 K139;
static _KLbyte_stringGVKd_18 K140;
static _KLbyte_stringGVKd_18 K141;
static _KLbyte_stringGVKd_27 K142;
static _KLbyte_stringGVKd_9 K143;
static _KLbyte_stringGVKd_15 K144;
static _KLbyte_stringGVKd_3 K145;
static _KLbyte_stringGVKd_15 K146;
static _KLbyte_stringGVKd_1 K147;
static _KLbyte_stringGVKd_9 K148;
static _KLbyte_stringGVKd_5 K149;
static _KLbyte_stringGVKd_1 K150;
static _KLbyte_stringGVKd_13 K151;
static _KLbyte_stringGVKd_6 K152;
static _KLkeyword_signatureAvaluesGVKi K153;
static _KLsimple_object_vectorGVKd_18 K154;
static _KLsymbolGVKd KJpartial_import_function_;
static _KLsymbolGVKd KJpartial_export_function_;
static _KLsymbolGVKd KJimport_type_;
static _KLsymbolGVKd KJexport_type_;
static _KLsymbolGVKd KJdefine_pointer_value_setter_;
static _KLbyte_stringGVKd_27 K160;
static _KLbyte_stringGVKd_11 K161;
static _KLbyte_stringGVKd_11 K162;
static _KLbyte_stringGVKd_23 K163;
static _KLbyte_stringGVKd_23 K164;
static _KLsimple_object_vectorGVKd_3 K165;
static _KLsimple_object_vectorGVKd_9 K166;
static _KLsimple_object_vectorGVKd_1 K167;
static _KLbyte_stringGVKd_9 K168;
static dylan_value Kitems_rewriterF170I (dylan_value, dylan_value);
static _KLsymbolGVKd KJmacro_case_;
static _KLsymbolGVKd KJitems_;
static dylan_value KUwildcard_loopUF185I (dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kprocess_c_subtype_optionsVdfmc_c_ffi;
dylan_value Kprocess_c_subtype_optionsVdfmc_c_ffiI (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsymbolGVKd KJdefinition_name_;
static _KLsymbolGVKd KJpointer_type_name_expression_;
static _KLbyte_stringGVKd_28 K178;
static _KLbyte_stringGVKd_15 K179;
static _KLkeyword_signatureAvaluesGVKi K180;
static _KLsimple_object_vectorGVKd_2 K181;
static _KLsimple_object_vectorGVKd_1 K182;
static _KLsymbolGVKd KJslot_;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF185;
static _KLsignatureGVKe K186;
static _KLbyte_stringGVKd_4 K187;
static _KLbyte_stringGVKd_5 K188;
static _KLbyte_stringGVKd_10 K189;
static _KLsignatureAvaluesGVKi K190;
static _KLsimple_object_vectorGVKd_2 K191;
static _KLsimple_object_vectorGVKd_2 K192;
static _KLbyte_stringGVKd_15 K193;
static _KLsymbolGVKd KJsupers_;
static _KLbyte_stringGVKd_6 K196;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF198;
static _KLsignatureGVKe K200;
static _KLbyte_stringGVKd_25 K201;
static _KLbyte_stringGVKd_36 K203;
static _KLbyte_stringGVKd_25 K204;
static _KLsymbolGVKd KJLobjectG_;
static _KLbyte_stringGVKd_8 K206;
static _KLbyte_stringGVKd_25 K207;
static _KLbyte_stringGVKd_20 K208;
static dylan_value Ksupers_rewriterF210I (dylan_value);
static _KLbyte_stringGVKd_20 K211;
static dylan_value Ksupers_rewriterF213I (dylan_value);
static _KLbyte_stringGVKd_18 K214;
static _KLsymbolGVKd KJidentity_;
static _KLsymbolGVKd KJprimitive_unwrap_c_pointer_;
static _KLsymbolGVKd KJinteger_as_raw_;
static _KLsymbolGVKd KJA_;
static _KLbyte_stringGVKd_1 K219;
static _KLbyte_stringGVKd_14 K220;
static _KLbyte_stringGVKd_26 K221;
static _KLbyte_stringGVKd_8 K222;
static _KLbyte_stringGVKd_25 K223;
static _KLsymbolGVKd KJZ58ZE_;
static _KLsymbolGVKd KJerror_;
static _KLbyte_stringGVKd_52 K226;
static _KLbyte_stringGVKd_5 K227;
static _KLbyte_stringGVKd_2 K228;
static _KLbyte_stringGVKd_31 K229;
static _KLkeyword_closure_methodGVKe_0 Kanonymous_of_simple_c_mapped_subtype_definer_expanderF257;
static dylan_value Kanonymous_of_simple_c_mapped_subtype_definer_expanderF257I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static dylan_value KUwildcard_loopUF256I (dylan_value, dylan_value);
static dylan_value Ksupers_rewriterF254I (dylan_value);
static dylan_value Kspecs_rewriterF235I (dylan_value);
static _KLsymbolGVKd KJspecs_;
static _KLsymbolGVKd KJmap_;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_simple_c_mapped_subtype_definer_expanderF251;
static dylan_value Kanonymous_of_simple_c_mapped_subtype_definer_expanderF251I ();
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_simple_c_mapped_subtype_definer_expanderF250;
static dylan_value Kanonymous_of_simple_c_mapped_subtype_definer_expanderF250I ();
static _KLsymbolGVKd KJimport_map_;
static _KLsymbolGVKd KJexport_map_;
static _KLsymbolGVKd KJpointer_type_;
static _KLsymbolGVKd KJspec_;
static _KLbyte_stringGVKd_4 K246;
static _KLbyte_stringGVKd_12 K247;
static _KLbyte_stringGVKd_10 K248;
static _KLbyte_stringGVKd_10 K249;
static _KLbyte_stringGVKd_3 K252;
static _KLbyte_stringGVKd_5 K253;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF256;
static _KLbyte_stringGVKd_18 K258;
static _KLbyte_stringGVKd_17 K259;
static _KLkeyword_signatureGVKe K260;
static _KLsimple_object_vectorGVKd_10 K261;
static _KLsimple_object_vectorGVKd_5 K262;
static _KLbyte_stringGVKd_17 K264;
static _KLbyte_stringGVKd_43 K265;
static _KLbyte_stringGVKd_6 K267;
static _KLbyte_stringGVKd_32 K268;
static _KLbyte_stringGVKd_20 K270;
static _KLbyte_stringGVKd_46 K271;
static _KLbyte_stringGVKd_15 K273;
static _KLbyte_stringGVKd_41 K274;
static _KLbyte_stringGVKd_14 K276;
static _KLbyte_stringGVKd_10 K277;
static _KLbyte_stringGVKd_10 K278;
static _KLbyte_stringGVKd_15 K279;
static _KLbyte_stringGVKd_6 K280;
static _KLbyte_stringGVKd_41 K281;
static _KLbyte_stringGVKd_24 K282;
static dylan_value KUwildcard_loopUF315I (dylan_value, dylan_value);
static dylan_value Ksupers_rewriterF313I (dylan_value);
static dylan_value Kspecs_rewriterF312I (dylan_value);
extern _KLsimple_methodGVKe Kparse_c_mapped_subtype_specsVdfmc_c_ffiMM0;
dylan_value Kparse_c_mapped_subtype_specsVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kprocess_pointer_type_optionsVdfmc_c_ffi;
dylan_value Kprocess_pointer_type_optionsVdfmc_c_ffiI (dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kprocess_export_map_optionsVdfmc_c_ffi;
dylan_value Kprocess_export_map_optionsVdfmc_c_ffiI (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kprocess_import_map_optionsVdfmc_c_ffi;
dylan_value Kprocess_import_map_optionsVdfmc_c_ffiI (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kprocess_map_optionsVdfmc_c_ffi;
dylan_value Kprocess_map_optionsVdfmc_c_ffiI (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLkeyword_signatureAvaluesGVKi K296;
static _KLsimple_object_vectorGVKd_4 K297;
static _KLsimple_object_vectorGVKd_2 K298;
static _KLkeyword_signatureAvaluesGVKi K299;
static _KLsimple_object_vectorGVKd_2 K300;
static _KLsimple_object_vectorGVKd_1 K301;
static _KLkeyword_signatureAvaluesGVKi K302;
static _KLsimple_object_vectorGVKd_2 K303;
static _KLsimple_object_vectorGVKd_1 K304;
static _KLsymbolGVKd KJnot_given_;
static _KLbyte_stringGVKd_9 K306;
static _KLkeyword_signatureAvaluesGVKi K307;
static _KLsimple_object_vectorGVKd_2 K308;
static _KLsimple_object_vectorGVKd_1 K309;
static _KLsignatureAvaluesGVKi K310;
static _KLsimple_object_vectorGVKd_3 K311;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF315;
static _KLbyte_stringGVKd_17 K316;
static _KLbyte_stringGVKd_6 K317;
static _KLbyte_stringGVKd_10 K318;

/* Indirection variables */

static dylan_value IKJword_class_ = &KJword_class_;
static dylan_value IKJsuffix_ = &KJsuffix_;
static dylan_value IKJexpander_function_ = &KJexpander_function_;
static dylan_value IKJc_mapped_subtype_definer_ = &KJc_mapped_subtype_definer_;
static dylan_value IKJLc_mapped_subtype_import_function_optionG_ = &KJLc_mapped_subtype_import_function_optionG_;
static dylan_value IKJsymbol_ = &KJsymbol_;
static dylan_value IKJimport_function_ = &KJimport_function_;
static dylan_value IKJconstraint_ = &KJconstraint_;
static dylan_value IKJexpression_ = &KJexpression_;
static dylan_value IKJexcludes_thunk_ = &KJexcludes_thunk_;
static dylan_value IKJLc_mapped_subtype_export_function_optionG_ = &KJLc_mapped_subtype_export_function_optionG_;
static dylan_value IKJexport_function_ = &KJexport_function_;
static dylan_value IKJLc_mapped_subtype_pointer_value_setter_optionG_ = &KJLc_mapped_subtype_pointer_value_setter_optionG_;
static dylan_value IKJpointer_value_setter_ = &KJpointer_value_setter_;
static dylan_value IKJLc_mapped_subtype_c_name_optionG_ = &KJLc_mapped_subtype_c_name_optionG_;
static dylan_value IKJc_name_ = &KJc_name_;
static dylan_value IKJLc_mapped_subtype_pointer_type_name_optionG_ = &KJLc_mapped_subtype_pointer_type_name_optionG_;
static dylan_value IKJpointer_type_name_ = &KJpointer_type_name_;
static dylan_value IKJsimple_c_mapped_subtype_definer_ = &KJsimple_c_mapped_subtype_definer_;
static dylan_value IKJpointer_value_setter_body_ = &KJpointer_value_setter_body_;
static dylan_value IKJpointer_value_body_ = &KJpointer_value_body_;
static dylan_value IKJexport_function_body_ = &KJexport_function_body_;
static dylan_value IKJimport_function_body_ = &KJimport_function_body_;
static dylan_value IKJcheck_import_type_defined_ = &KJcheck_import_type_defined_;
static dylan_value IKJcheck_export_type_defined_ = &KJcheck_export_type_defined_;
static dylan_value IKJLc_subtype_pointer_type_name_optionG_ = &KJLc_subtype_pointer_type_name_optionG_;
static dylan_value IKJLc_subtype_c_name_optionG_ = &KJLc_subtype_c_name_optionG_;
static dylan_value IKJc_subtype_definer_ = &KJc_subtype_definer_;
static dylan_value IKJboxer_for_designator_ = &KJboxer_for_designator_;
static dylan_value IKJmake_c_pointer_ = &KJmake_c_pointer_;
static dylan_value IKJprimitive_cast_pointer_as_raw_ = &KJprimitive_cast_pointer_as_raw_;
static dylan_value IKJsource_location_ = &KJsource_location_;
static dylan_value IKJmodifiers_ = &KJmodifiers_;
static dylan_value IKJdefine_ = &KJdefine_;
static dylan_value IKJarg_ = &KJarg_;
static dylan_value IKJlow_level_type_for_ = &KJlow_level_type_for_;
static dylan_value IKJmethod_ = &KJmethod_;
static dylan_value IKJpointer_value_ = &KJpointer_value_;
static dylan_value IKJp_ = &KJp_;
static dylan_value IKJindex_ = &KJindex_;
static dylan_value IKJLintegerG_ = &KJLintegerG_;
static dylan_value IKJv_ = &KJv_;
static dylan_value IKJimport_type_for_ = &KJimport_type_for_;
static dylan_value IKJnew_ = &KJnew_;
static dylan_value IKJexport_type_for_ = &KJexport_type_for_;
static dylan_value IKJmetaclass_ = &KJmetaclass_;
static dylan_value IKJLc_mapped_designator_classG_ = &KJLc_mapped_designator_classG_;
static dylan_value IKJmapped_import_type_ = &KJmapped_import_type_;
static dylan_value IKJmapped_export_type_ = &KJmapped_export_type_;
static dylan_value IKJself_ = &KJself_;
static dylan_value IKJpartial_import_function_ = &KJpartial_import_function_;
static dylan_value IKJpartial_export_function_ = &KJpartial_export_function_;
static dylan_value IKJimport_type_ = &KJimport_type_;
static dylan_value IKJexport_type_ = &KJexport_type_;
static dylan_value IKJdefine_pointer_value_setter_ = &KJdefine_pointer_value_setter_;
static dylan_value IKJmacro_case_ = &KJmacro_case_;
static dylan_value IKJitems_ = &KJitems_;
static dylan_value IKJdefinition_name_ = &KJdefinition_name_;
static dylan_value IKJpointer_type_name_expression_ = &KJpointer_type_name_expression_;
static dylan_value IKJslot_ = &KJslot_;
static dylan_value IKJsupers_ = &KJsupers_;
static dylan_value IKJLobjectG_ = &KJLobjectG_;
static dylan_value IKJidentity_ = &KJidentity_;
static dylan_value IKJprimitive_unwrap_c_pointer_ = &KJprimitive_unwrap_c_pointer_;
static dylan_value IKJinteger_as_raw_ = &KJinteger_as_raw_;
static dylan_value IKJA_ = &KJA_;
static dylan_value IKJZ58ZE_ = &KJZ58ZE_;
static dylan_value IKJerror_ = &KJerror_;
static dylan_value IKJspecs_ = &KJspecs_;
static dylan_value IKJmap_ = &KJmap_;
static dylan_value IKJimport_map_ = &KJimport_map_;
static dylan_value IKJexport_map_ = &KJexport_map_;
static dylan_value IKJpointer_type_ = &KJpointer_type_;
static dylan_value IKJspec_ = &KJspec_;
static dylan_value IKJnot_given_ = &KJnot_given_;

/* Variables */

dylan_value Lc_mapped_subtype_import_function_optionGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Lc_mapped_subtype_export_function_optionGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Lc_mapped_subtype_pointer_value_setter_optionGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Lc_mapped_subtype_c_name_optionGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Lc_mapped_subtype_pointer_type_name_optionGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Dc_mapped_subtype_map_optionsVdfmc_c_ffi = &KPunboundVKi;
dylan_value Dc_mapped_subtype_import_map_optionsVdfmc_c_ffi = &KPunboundVKi;
dylan_value Dc_mapped_subtype_export_map_optionsVdfmc_c_ffi = &KPunboundVKi;
dylan_value Dc_mapped_subtype_pointer_type_optionsVdfmc_c_ffi = &KPunboundVKi;
dylan_value Dc_mapped_subtype_optionsVdfmc_c_ffi = &KPunboundVKi;
dylan_value Lc_subtype_pointer_type_name_optionGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Lc_subtype_c_name_optionGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Dc_subtype_optionsVdfmc_c_ffi = &KPunboundVKi;

/* Objects */

static _KLsymbolGVKd KJword_class_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K318
};

static _KLsymbolGVKd KJsuffix_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K317
};

static _KLbyte_stringGVKd_8 K3 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 33,
  "-definer"
};

static _KLsymbolGVKd KJexpander_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K316
};

_KLsimple_methodGVKe Kc_mapped_subtype_definer_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kc_mapped_subtype_definer_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJc_mapped_subtype_definer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K282
};

static _KLsymbolGVKd KJLc_mapped_subtype_import_function_optionG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K281
};

static _KLsymbolGVKd KJsymbol_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K280
};

static _KLsymbolGVKd KJimport_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K279
};

static _KLsymbolGVKd KJconstraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K278
};

static _KLsymbolGVKd KJexpression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K277
};

static _KLsymbolGVKd KJexcludes_thunk_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K276
};

static _KLsimple_closure_methodGVKi_0 K275 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &K275I,
  (dylan_value) 1
};

static _KLsymbolGVKd KJLc_mapped_subtype_export_function_optionG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K274
};

static _KLsymbolGVKd KJexport_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K273
};

static _KLsimple_closure_methodGVKi_0 K272 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &K272I,
  (dylan_value) 1
};

static _KLsymbolGVKd KJLc_mapped_subtype_pointer_value_setter_optionG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K271
};

static _KLsymbolGVKd KJpointer_value_setter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K270
};

static _KLsimple_closure_methodGVKi_0 K269 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &K269I,
  (dylan_value) 1
};

static _KLsymbolGVKd KJLc_mapped_subtype_c_name_optionG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K268
};

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

static _KLsimple_closure_methodGVKi_0 K266 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &K266I,
  (dylan_value) 1
};

static _KLsymbolGVKd KJLc_mapped_subtype_pointer_type_name_optionG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K265
};

static _KLsymbolGVKd KJpointer_type_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K264
};

static _KLsimple_closure_methodGVKi_0 K263 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &K263I,
  (dylan_value) 1
};

_KLsimple_methodGVKe Ksimple_c_mapped_subtype_definer_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Ksimple_c_mapped_subtype_definer_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJsimple_c_mapped_subtype_definer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K229
};

_KLsimple_methodGVKe Kpointer_value_setter_body_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kpointer_value_setter_body_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJpointer_value_setter_body_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K223
};

_KLsimple_methodGVKe Kpointer_value_body_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kpointer_value_body_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJpointer_value_body_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K214
};

_KLsimple_methodGVKe Kexport_function_body_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kexport_function_body_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJexport_function_body_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K211
};

_KLsimple_methodGVKe Kimport_function_body_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kimport_function_body_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJimport_function_body_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K208
};

_KLsimple_methodGVKe Kcheck_import_type_defined_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kcheck_import_type_defined_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJcheck_import_type_defined_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K207
};

_KLsimple_methodGVKe Kcheck_export_type_defined_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kcheck_export_type_defined_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJcheck_export_type_defined_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K204
};

static _KLsymbolGVKd KJLc_subtype_pointer_type_name_optionG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K203
};

static _KLsimple_closure_methodGVKi_0 K202 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &K202I,
  (dylan_value) 1
};

static _KLsymbolGVKd KJLc_subtype_c_name_optionG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K201
};

static _KLsimple_closure_methodGVKi_0 K199 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &K199I,
  (dylan_value) 1
};

_KLsimple_methodGVKe Kc_subtype_definer_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kc_subtype_definer_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJc_subtype_definer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K104
};

_KLsimple_methodGVKe Kboxer_for_designator_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kboxer_for_designator_expanderVdfmc_c_ffiMM0I
};

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

static _KLbyte_stringGVKd_20 K87 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "boxer-for-designator"
};

_KLsealed_generic_functionGVKe Kboxer_expressionVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_4,
  &KDsignature_LobjectG_object_rest_value_4VKi,
  (dylan_value) 57,
  &K95,
  &K93,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kboxer_expressionVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_4,
  &K102,
  &Kboxer_expressionVdfmc_c_ffiMM0I
};

_KLsimple_methodGVKe Kboxer_expressionVdfmc_c_ffiMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_4,
  &K96,
  &Kboxer_expressionVdfmc_c_ffiMM1I
};

static _KLpairGVKd K93 = {
  &KLpairGVKdW /* wrapper */,
  &Kboxer_expressionVdfmc_c_ffiMM0,
  &K94
};

static _KLpairGVKd K94 = {
  &KLpairGVKdW /* wrapper */,
  &Kboxer_expressionVdfmc_c_ffiMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_16 K95 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "boxer-expression"
};

static _KLsignatureGVKe K96 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944081,
  &K97
};

static _KLsimple_object_vectorGVKd_4 K97 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KLobjectGVKd,
  &KLfragmentGVdfmc_reader,
  &KLfragmentGVdfmc_reader,
  &KLfragmentGVdfmc_reader
};

static _KLsymbolGVKd KJmake_c_pointer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K101
};

static _KLsymbolGVKd KJprimitive_cast_pointer_as_raw_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K100
};

static _KLbyte_stringGVKd_29 K100 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 117,
  "primitive-cast-pointer-as-raw"
};

static _KLbyte_stringGVKd_14 K101 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "make-c-pointer"
};

static _KLsignatureGVKe K102 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944081,
  &K103
};

static _KLsimple_object_vectorGVKd_4 K103 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KLBdesignator_classGVdfmc_c_ffi,
  &KLfragmentGVdfmc_reader,
  &KLfragmentGVdfmc_reader,
  &KLfragmentGVdfmc_reader
};

static _KLbyte_stringGVKd_17 K104 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "c-subtype-definer"
};

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

_KLsimple_methodGVKe Kparse_subtype_keys_and_slotsVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K190,
  &Kparse_subtype_keys_and_slotsVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJmodifiers_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K168
};

_KLkeyword_methodGVKe Kdo_define_c_mapped_subtypeVdfmc_c_ffiMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep,
  &K153,
  &key_mep,
  &Kdo_define_c_mapped_subtypeVdfmc_c_ffiMM0I,
  &K154
};

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

static _KLbyte_stringGVKd_26 K115 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 105,
  "concrete-pointer-type-for-"
};

static _KLbyte_stringGVKd_20 K116 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "import-function-for-"
};

static _KLbyte_stringGVKd_20 K117 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "export-function-for-"
};

static _KLsymbolGVKd KJdefine_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K124
};

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

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

static _KLbyte_stringGVKd_18 K122 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "low-level-type-for"
};

static _KLbyte_stringGVKd_3 K123 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 13,
  "arg"
};

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

static _KLsymbolGVKd KJmethod_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K152
};

static _KLsymbolGVKd KJpointer_value_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K151
};

static _KLsymbolGVKd KJp_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K150
};

static _KLsymbolGVKd KJindex_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K149
};

static _KLsymbolGVKd KJLintegerG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K148
};

static _KLsymbolGVKd KJv_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K147
};

static _KLsymbolGVKd KJimport_type_for_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K146
};

static _KLsymbolGVKd KJnew_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K145
};

static _KLsymbolGVKd KJexport_type_for_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K144
};

static _KLsymbolGVKd KJmetaclass_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K143
};

static _KLsymbolGVKd KJLc_mapped_designator_classG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K142
};

static _KLsymbolGVKd KJmapped_import_type_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K141
};

static _KLsymbolGVKd KJmapped_export_type_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K140
};

static _KLsymbolGVKd KJself_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K139
};

static _KLbyte_stringGVKd_4 K139 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 17,
  "self"
};

static _KLbyte_stringGVKd_18 K140 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "mapped-export-type"
};

static _KLbyte_stringGVKd_18 K141 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "mapped-import-type"
};

static _KLbyte_stringGVKd_27 K142 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 109,
  "<c-mapped-designator-class>"
};

static _KLbyte_stringGVKd_9 K143 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 37,
  "metaclass"
};

static _KLbyte_stringGVKd_15 K144 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "export-type-for"
};

static _KLbyte_stringGVKd_3 K145 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 13,
  "new"
};

static _KLbyte_stringGVKd_15 K146 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "import-type-for"
};

static _KLbyte_stringGVKd_1 K147 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 5,
  "v"
};

static _KLbyte_stringGVKd_9 K148 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 37,
  "<integer>"
};

static _KLbyte_stringGVKd_5 K149 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "index"
};

static _KLbyte_stringGVKd_1 K150 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 5,
  "p"
};

static _KLbyte_stringGVKd_13 K151 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 53,
  "pointer-value"
};

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

static _KLkeyword_signatureAvaluesGVKi K153 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817613,
  &K165,
  &K166,
  &KDsignature_LobjectG_typesVKi,
  &K167
};

static _KLsimple_object_vectorGVKd_18 K154 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 73,
  &KJpartial_import_function_,
  &KPfalseVKi,
  &KJpartial_export_function_,
  &KPfalseVKi,
  &KJimport_type_,
  &KPfalseVKi,
  &KJexport_type_,
  &KPfalseVKi,
  &KJpointer_type_name_,
  &KPfalseVKi,
  &KJdefine_pointer_value_setter_,
  &KPfalseVKi,
  &KJc_name_,
  &KPfalseVKi,
  &KJslots_,
  &KPunboundVKi,
  &KJmodifiers_,
  &KPunboundVKi
};

static _KLsymbolGVKd KJpartial_import_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K164
};

static _KLsymbolGVKd KJpartial_export_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K163
};

static _KLsymbolGVKd KJimport_type_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K162
};

static _KLsymbolGVKd KJexport_type_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K161
};

static _KLsymbolGVKd KJdefine_pointer_value_setter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K160
};

static _KLbyte_stringGVKd_27 K160 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 109,
  "define-pointer-value-setter"
};

static _KLbyte_stringGVKd_11 K161 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "export-type"
};

static _KLbyte_stringGVKd_11 K162 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "import-type"
};

static _KLbyte_stringGVKd_23 K163 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "partial-export-function"
};

static _KLbyte_stringGVKd_23 K164 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "partial-import-function"
};

static _KLsimple_object_vectorGVKd_3 K165 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLfragmentGVdfmc_reader,
  &KLvariable_name_fragmentGVdfmc_reader,
  &KLsequenceGVKd
};

static _KLsimple_object_vectorGVKd_9 K166 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 37,
  &KJpartial_import_function_,
  &KJpartial_export_function_,
  &KJimport_type_,
  &KJexport_type_,
  &KJpointer_type_name_,
  &KJdefine_pointer_value_setter_,
  &KJc_name_,
  &KJslots_,
  &KJmodifiers_
};

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

static _KLbyte_stringGVKd_9 K168 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 37,
  "modifiers"
};

static _KLsymbolGVKd KJmacro_case_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K189
};

static _KLsymbolGVKd KJitems_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K188
};

_KLkeyword_methodGVKe Kprocess_c_subtype_optionsVdfmc_c_ffi = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K180,
  &key_mep_4,
  &Kprocess_c_subtype_optionsVdfmc_c_ffiI,
  &K181
};

static _KLsymbolGVKd KJdefinition_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K179
};

static _KLsymbolGVKd KJpointer_type_name_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K178
};

static _KLbyte_stringGVKd_28 K178 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 113,
  "pointer-type-name-expression"
};

static _KLbyte_stringGVKd_15 K179 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "definition-name"
};

static _KLkeyword_signatureAvaluesGVKi K180 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817609,
  &KDsignature_LobjectG_typesVKi,
  &K182,
  &KDsignature_LobjectG_typesVKi,
  &KDsignature_LlistG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K181 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJpointer_type_name_,
  &KPunboundVKi
};

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

static _KLsymbolGVKd KJslot_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K187
};

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF185 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K186,
  &KUwildcard_loopUF185I,
  (dylan_value) 1
};

static _KLsignatureGVKe K186 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040201,
  &KDsignature_LlistG_typesVKi
};

static _KLbyte_stringGVKd_4 K187 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 17,
  "slot"
};

static _KLbyte_stringGVKd_5 K188 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "items"
};

static _KLbyte_stringGVKd_10 K189 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "macro-case"
};

static _KLsignatureAvaluesGVKi K190 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33556489,
  &K191,
  &K192
};

static _KLsimple_object_vectorGVKd_2 K191 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLfragmentGVdfmc_reader,
  &KLfragmentGVdfmc_reader
};

static _KLsimple_object_vectorGVKd_2 K192 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLsequenceGVKd,
  &KLtemplateGVdfmc_reader
};

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

static _KLsymbolGVKd KJsupers_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K196
};

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

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF198 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K186,
  &KUwildcard_loopUF198I,
  (dylan_value) 1
};

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

static _KLbyte_stringGVKd_25 K201 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 101,
  "<c-subtype-c-name-option>"
};

static _KLbyte_stringGVKd_36 K203 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 145,
  "<c-subtype-pointer-type-name-option>"
};

static _KLbyte_stringGVKd_25 K204 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 101,
  "check-export-type-defined"
};

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

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

static _KLbyte_stringGVKd_25 K207 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 101,
  "check-import-type-defined"
};

static _KLbyte_stringGVKd_20 K208 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "import-function-body"
};

static _KLbyte_stringGVKd_20 K211 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "export-function-body"
};

static _KLbyte_stringGVKd_18 K214 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "pointer-value-body"
};

static _KLsymbolGVKd KJidentity_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K222
};

static _KLsymbolGVKd KJprimitive_unwrap_c_pointer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K221
};

static _KLsymbolGVKd KJinteger_as_raw_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K220
};

static _KLsymbolGVKd KJA_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K219
};

static _KLbyte_stringGVKd_1 K219 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 5,
  "+"
};

static _KLbyte_stringGVKd_14 K220 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "integer-as-raw"
};

static _KLbyte_stringGVKd_26 K221 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 105,
  "primitive-unwrap-c-pointer"
};

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

static _KLbyte_stringGVKd_25 K223 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 101,
  "pointer-value-setter-body"
};

static _KLsymbolGVKd KJZ58ZE_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K228
};

static _KLsymbolGVKd KJerror_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K227
};

static _KLbyte_stringGVKd_52 K226 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 209,
  "trying to call pointer-value-setter with a bad class"
};

static _KLbyte_stringGVKd_5 K227 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "error"
};

static _KLbyte_stringGVKd_2 K228 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 9,
  ":="
};

static _KLbyte_stringGVKd_31 K229 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 125,
  "simple-c-mapped-subtype-definer"
};

static _KLkeyword_closure_methodGVKe_0 Kanonymous_of_simple_c_mapped_subtype_definer_expanderF257 = {
  &KLkeyword_closure_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K260,
  &key_mep_6,
  &Kanonymous_of_simple_c_mapped_subtype_definer_expanderF257I,
  &K261,
  (dylan_value) 1
};

static _KLsymbolGVKd KJspecs_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K253
};

static _KLsymbolGVKd KJmap_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K252
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_simple_c_mapped_subtype_definer_expanderF251 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &Kanonymous_of_simple_c_mapped_subtype_definer_expanderF251I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_simple_c_mapped_subtype_definer_expanderF250 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K200,
  &Kanonymous_of_simple_c_mapped_subtype_definer_expanderF250I,
  (dylan_value) 1
};

static _KLsymbolGVKd KJimport_map_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K249
};

static _KLsymbolGVKd KJexport_map_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K248
};

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

static _KLsymbolGVKd KJspec_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K246
};

static _KLbyte_stringGVKd_4 K246 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 17,
  "spec"
};

static _KLbyte_stringGVKd_12 K247 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "pointer-type"
};

static _KLbyte_stringGVKd_10 K248 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "export-map"
};

static _KLbyte_stringGVKd_10 K249 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "import-map"
};

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

static _KLbyte_stringGVKd_5 K253 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "specs"
};

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF256 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K186,
  &KUwildcard_loopUF256I,
  (dylan_value) 1
};

static _KLbyte_stringGVKd_18 K258 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "mapped-pointer-to-"
};

static _KLbyte_stringGVKd_17 K259 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "instantiation-of-"
};

static _KLkeyword_signatureGVKe K260 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 42206209,
  &KPempty_vectorVKi,
  &K262,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_10 K261 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 41,
  &KJimport_function_,
  &KPfalseVKi,
  &KJexport_function_,
  &KPfalseVKi,
  &KJimport_type_,
  &KPfalseVKi,
  &KJexport_type_,
  &KPfalseVKi,
  &KJpointer_type_name_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_5 K262 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 21,
  &KJimport_function_,
  &KJexport_function_,
  &KJimport_type_,
  &KJexport_type_,
  &KJpointer_type_name_
};

static _KLbyte_stringGVKd_17 K264 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "pointer-type-name"
};

static _KLbyte_stringGVKd_43 K265 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 173,
  "<c-mapped-subtype-pointer-type-name-option>"
};

static _KLbyte_stringGVKd_6 K267 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "c-name"
};

static _KLbyte_stringGVKd_32 K268 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 129,
  "<c-mapped-subtype-c-name-option>"
};

static _KLbyte_stringGVKd_20 K270 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "pointer-value-setter"
};

static _KLbyte_stringGVKd_46 K271 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 185,
  "<c-mapped-subtype-pointer-value-setter-option>"
};

static _KLbyte_stringGVKd_15 K273 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "export-function"
};

static _KLbyte_stringGVKd_41 K274 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 165,
  "<c-mapped-subtype-export-function-option>"
};

static _KLbyte_stringGVKd_14 K276 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "excludes-thunk"
};

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

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

static _KLbyte_stringGVKd_15 K279 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "import-function"
};

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

static _KLbyte_stringGVKd_41 K281 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 165,
  "<c-mapped-subtype-import-function-option>"
};

static _KLbyte_stringGVKd_24 K282 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 97,
  "c-mapped-subtype-definer"
};

_KLsimple_methodGVKe Kparse_c_mapped_subtype_specsVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K310,
  &Kparse_c_mapped_subtype_specsVdfmc_c_ffiMM0I
};

_KLkeyword_methodGVKe Kprocess_pointer_type_optionsVdfmc_c_ffi = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K307,
  &key_mep_3,
  &Kprocess_pointer_type_optionsVdfmc_c_ffiI,
  &K308
};

_KLkeyword_methodGVKe Kprocess_export_map_optionsVdfmc_c_ffi = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K302,
  &key_mep_5,
  &Kprocess_export_map_optionsVdfmc_c_ffiI,
  &K303
};

_KLkeyword_methodGVKe Kprocess_import_map_optionsVdfmc_c_ffi = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K299,
  &key_mep_5,
  &Kprocess_import_map_optionsVdfmc_c_ffiI,
  &K300
};

_KLkeyword_methodGVKe Kprocess_map_optionsVdfmc_c_ffi = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K296,
  &key_mep_4,
  &Kprocess_map_optionsVdfmc_c_ffiI,
  &K297
};

static _KLkeyword_signatureAvaluesGVKi K296 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817605,
  &KDsignature_LobjectG_typesVKi,
  &K298,
  &KDsignature_LobjectG_typesVKi,
  &KDsignature_LlistG_typesVKi
};

static _KLsimple_object_vectorGVKd_4 K297 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJimport_function_,
  &KPunboundVKi,
  &KJexport_function_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_2 K298 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJimport_function_,
  &KJexport_function_
};

static _KLkeyword_signatureAvaluesGVKi K299 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817613,
  &KDsignature_LobjectG_typesVKi,
  &K301,
  &KDsignature_LobjectG_typesVKi,
  &KDsignature_LlistG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K300 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJimport_function_,
  &KPunboundVKi
};

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

static _KLkeyword_signatureAvaluesGVKi K302 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817613,
  &KDsignature_LobjectG_typesVKi,
  &K304,
  &KDsignature_LobjectG_typesVKi,
  &KDsignature_LlistG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K303 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJexport_function_,
  &KPunboundVKi
};

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

static _KLsymbolGVKd KJnot_given_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K306
};

static _KLbyte_stringGVKd_9 K306 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 37,
  "not-given"
};

static _KLkeyword_signatureAvaluesGVKi K307 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817605,
  &KDsignature_LobjectG_typesVKi,
  &K309,
  &KDsignature_LobjectG_typesVKi,
  &KDsignature_LlistG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K308 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJpointer_value_setter_,
  &KPunboundVKi
};

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

static _KLsignatureAvaluesGVKi K310 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555469,
  &K311,
  &KDsignature_LsequenceG_typesVKi
};

static _KLsimple_object_vectorGVKd_3 K311 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLobjectGVKd,
  &KLobjectGVKd,
  &KLsequenceGVKd
};

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF315 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K186,
  &KUwildcard_loopUF315I,
  (dylan_value) 1
};

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

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

static _KLbyte_stringGVKd_10 K318 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "word-class"
};

/* Code */

dylan_value Kc_mapped_subtype_definer_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value T4_3;
  dylan_value T4_4;
  dylan_value failure_;
  dylan_value modsF6;
  dylan_value nameF7;
  dylan_value supersF8;
  dylan_value specsF9;
  dylan_value modsF10;
  dylan_value nameF11;
  dylan_value T12;
  dylan_value supersF13;
  dylan_value T14;
  dylan_value specsF15;
  dylan_value T16;
  dylan_value T17;
  dylan_value keys_;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25;
  _KLsimple_object_vectorGVKd_6 T26 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  _KLsimple_object_vectorGVKd_2 T27 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  T4_0 = KUwildcard_loopUF315I(&KPempty_listVKi, T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  T4_3 = MV_GET_ELT(3);
  T4_4 = MV_GET_ELT(4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  failure_ = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  modsF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  nameF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  supersF8 = T4_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  specsF9 = T4_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  if (failure_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T23 = Kdylan_variable_nameVdfmc_readerI(IKJc_mapped_subtype_definer_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T24 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T23);
    T25 = T24;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    modsF10 = CONGRUENT_CALL1(modsF6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    nameF11 = CONGRUENT_CALL1(nameF7);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T12 = CONGRUENT_CALL1(supersF8);
    supersF13 = Ksupers_rewriterF313I(T12);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T14 = CONGRUENT_CALL1(specsF9);
    specsF15 = Kspecs_rewriterF312I(T14);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:86
    CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
    T16 = CONGRUENT_CALL0();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:86
    T17 = CALL1(&Klibrary_forms_dynamicQVdfmc_namespace, T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:86
    if (T17 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:86
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T20 = CONGRUENT_CALL1(form_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:86
      T27.vector_element_[0] = IKJsource_location_;
      T27.vector_element_[1] = T20;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:86
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      T21 = CONGRUENT_CALL2(&KLdynamic_ffi_definitionGVdfmc_c_ffi, &T27);
      T22 = T21;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:87
      keys_ = CALL3(&Kparse_c_mapped_subtype_specsVdfmc_c_ffiMM0, form_, nameF11, specsF15);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:88
      T26.vector_element_[0] = form_;
      T26.vector_element_[1] = nameF11;
      T26.vector_element_[2] = supersF13;
      T26.vector_element_[3] = IKJmodifiers_;
      T26.vector_element_[4] = modsF10;
      T26.vector_element_[5] = keys_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:88
      T19 = KapplyVKdI(&Kdo_define_c_mapped_subtypeVdfmc_c_ffiMM0, &T26);
      T22 = T19;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:86
    T25 = T22;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  return(T25);
}

static dylan_value K275I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:103
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:103
  T0 = &KPempty_listVKi;
  MV_SET_ELT(0, &KPempty_listVKi);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:103
  return(T0);
}

static dylan_value K272I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:107
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:107
  T0 = &KPempty_listVKi;
  MV_SET_ELT(0, &KPempty_listVKi);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:107
  return(T0);
}

static dylan_value K269I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:111
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:111
  T0 = &KPempty_listVKi;
  MV_SET_ELT(0, &KPempty_listVKi);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:111
  return(T0);
}

static dylan_value K266I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:115
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:115
  T0 = &KPempty_listVKi;
  MV_SET_ELT(0, &KPempty_listVKi);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:115
  return(T0);
}

static dylan_value K263I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:119
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:119
  T0 = &KPempty_listVKi;
  MV_SET_ELT(0, &KPempty_listVKi);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:119
  return(T0);
}

dylan_value Ksimple_c_mapped_subtype_definer_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value T4_3;
  dylan_value T4_4;
  dylan_value failure_;
  dylan_value modsF6;
  dylan_value nameF7;
  dylan_value supersF8;
  dylan_value specsF9;
  dylan_value modsF10;
  dylan_value nameF11;
  dylan_value T12;
  dylan_value supersF13;
  dylan_value T14;
  dylan_value specsF15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25;
  _KLsimple_object_vectorGVKd_1 T26 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T27 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  T4_0 = KUwildcard_loopUF256I(&KPempty_listVKi, T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  T4_3 = MV_GET_ELT(3);
  T4_4 = MV_GET_ELT(4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  failure_ = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  modsF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  nameF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  supersF8 = T4_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  specsF9 = T4_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  if (failure_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T23 = Kdylan_variable_nameVdfmc_readerI(IKJsimple_c_mapped_subtype_definer_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T24 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T23);
    T25 = T24;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    modsF10 = CONGRUENT_CALL1(modsF6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    nameF11 = CONGRUENT_CALL1(nameF7);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T12 = CONGRUENT_CALL1(supersF8);
    supersF13 = Ksupers_rewriterF254I(T12);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T14 = CONGRUENT_CALL1(specsF9);
    specsF15 = Kspecs_rewriterF235I(T14);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:278
    CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
    T16 = CONGRUENT_CALL0();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:278
    T17 = CALL1(&Klibrary_forms_dynamicQVdfmc_namespace, T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:278
    if (T17 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:278
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T20 = CONGRUENT_CALL1(form_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:278
      T27.vector_element_[0] = IKJsource_location_;
      T27.vector_element_[1] = T20;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:278
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      T21 = CONGRUENT_CALL2(&KLdynamic_ffi_definitionGVdfmc_c_ffi, &T27);
      T22 = T21;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:279
      T18 = MAKE_KEYWORD_CLOSURE_INITD(&Kanonymous_of_simple_c_mapped_subtype_definer_expanderF257, 3, supersF13, nameF11, modsF10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:279
      T26.vector_element_[0] = specsF15;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:279
      T19 = KapplyVKdI(T18, &T26);
      T22 = T19;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:278
    T25 = T22;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  return(T25);
}

dylan_value Kpointer_value_setter_body_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T8_3;
  dylan_value T8_4;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value new_value_varF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value new_value_varF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T20_3;
  dylan_value T20_4;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value failureF22;
  dylan_value UfT_afterUF23;
  dylan_value UfT_beforeUF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T25_3;
  dylan_value T25_4;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value failureF27;
  dylan_value UfTUF28;
  dylan_value pointer_varF29;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T31;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value T33_0;
  dylan_value T33_1;
  dylan_value T34_0;
  dylan_value T34_1;
  dylan_value failureF35;
  dylan_value pointer_varF36;
  dylan_value T37_0;
  dylan_value T37_1;
  dylan_value T37_2;
  dylan_value T37_3;
  dylan_value T37_4;
  dylan_value T38_0;
  dylan_value T38_1;
  dylan_value T38_2;
  dylan_value failureF39;
  dylan_value UfT_afterUF40;
  dylan_value UfT_beforeUF41;
  dylan_value T42_0;
  dylan_value T42_1;
  dylan_value T42_2;
  dylan_value T42_3;
  dylan_value T42_4;
  dylan_value T43_0;
  dylan_value T43_1;
  dylan_value T43_2;
  dylan_value failureF44;
  dylan_value UfTUF45;
  dylan_value index_varF46;
  dylan_value T47_0;
  dylan_value T47_1;
  dylan_value T48;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value T50_0;
  dylan_value T50_1;
  dylan_value T51_0;
  dylan_value T51_1;
  dylan_value failureF52;
  dylan_value index_varF53;
  dylan_value T54_0;
  dylan_value T54_1;
  dylan_value T54_2;
  dylan_value T54_3;
  dylan_value T54_4;
  dylan_value T55_0;
  dylan_value T55_1;
  dylan_value T55_2;
  dylan_value failureF56;
  dylan_value UfTUF57;
  dylan_value pointer_type_exprF58;
  dylan_value T59_0;
  dylan_value T59_1;
  dylan_value T59_2;
  dylan_value T59_3;
  dylan_value T59_4;
  dylan_value T60;
  dylan_value T61_0;
  dylan_value T61_1;
  dylan_value T61_2;
  dylan_value T61_3;
  dylan_value T61_4;
  dylan_value T62_0;
  dylan_value T62_1;
  dylan_value T62_2;
  dylan_value T62_3;
  dylan_value T62_4;
  dylan_value T63_0;
  dylan_value T63_1;
  dylan_value T63_2;
  dylan_value T63_3;
  dylan_value T63_4;
  dylan_value T64_0;
  dylan_value T64_1;
  dylan_value T64_2;
  dylan_value T64_3;
  dylan_value T64_4;
  dylan_value T65_0;
  dylan_value T65_1;
  dylan_value T65_2;
  dylan_value T65_3;
  dylan_value T65_4;
  dylan_value T66_0;
  dylan_value T66_1;
  dylan_value T66_2;
  dylan_value T66_3;
  dylan_value T66_4;
  dylan_value T67_0;
  dylan_value T67_1;
  dylan_value T67_2;
  dylan_value T67_3;
  dylan_value T67_4;
  dylan_value T68_0;
  dylan_value T68_1;
  dylan_value T68_2;
  dylan_value T68_3;
  dylan_value T68_4;
  dylan_value T69_0;
  dylan_value T69_1;
  dylan_value T69_2;
  dylan_value T69_3;
  dylan_value T69_4;
  dylan_value failureF70;
  dylan_value new_value_varF71;
  dylan_value pointer_varF72;
  dylan_value index_varF73;
  dylan_value pointer_type_exprF74;
  dylan_value new_value_varF75;
  dylan_value pointer_varF76;
  dylan_value index_varF77;
  dylan_value pointer_type_exprF78;
  dylan_value ref_type_;
  dylan_value unboxer_;
  dylan_value Utmp_;
  dylan_value T82;
  dylan_value T83;
  dylan_value export_;
  dylan_value dereferencer_;
  dylan_value T86;
  dylan_value T87;
  dylan_value T88;
  dylan_value T89;
  dylan_value T90;
  dylan_value T91;
  dylan_value T92;
  dylan_value T93;
  dylan_value T94;
  dylan_value T95;
  dylan_value T96;
  dylan_value T97;
  dylan_value T98;
  dylan_value T99;
  dylan_value T100;
  dylan_value T101;
  dylan_value T102;
  dylan_value T103;
  dylan_value T104;
  dylan_value T105;
  dylan_value T106;
  dylan_value T107;
  dylan_value T108;
  dylan_value T109;
  dylan_value T110;
  dylan_value T111;
  dylan_value T112;
  dylan_value T113;
  dylan_value T114;
  dylan_value T115;
  dylan_value T116;
  dylan_value T117;
  dylan_value T118;
  dylan_value T119;
  dylan_value T120;
  dylan_value T121;
  dylan_value T122;
  dylan_value T123;
  dylan_value T124_0;
  dylan_value T124_1;
  dylan_value T125_0;
  dylan_value T125_1;
  dylan_value T126_0;
  dylan_value T126_1;
  dylan_value T127_0;
  dylan_value T127_1;
  dylan_value T127_2;
  dylan_value T127_3;
  dylan_value T127_4;
  dylan_value T128;
  dylan_value pointer_type_;
  _KLsimple_object_vectorGVKd_1 T130 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T131 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T132 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T133;
  _KLsimple_object_vectorGVKd_1 T134 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_8 T135 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  _KLsimple_object_vectorGVKd_1 T136 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T137 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_5 T138 = {&KLsimple_object_vectorGVKdW, (dylan_value) 21};
  _KLsimple_object_vectorGVKd_1 T139 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T140 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  UfT_afterUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  UfT_beforeUF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T8_4 = &KPfalseVKi;
    T69_0 = T8_0;
    T69_1 = T8_1;
    T69_2 = T8_2;
    T69_3 = T8_3;
    T69_4 = T8_4;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    T9_0 = Kmatch_variable_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    UfTUF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    new_value_varF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T17_0 = T13_0;
      T17_1 = T13_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T14 = CONGRUENT_CALL1(UfTUF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      if (T14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        T124_0 = &KPfalseVKi;
        T124_1 = new_value_varF12;
        T16_0 = T124_0;
        T16_1 = T124_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        T15_0 = &KPtrueVKi;
        T15_1 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      T17_0 = T16_0;
      T17_1 = T16_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    failureF18 = T17_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    new_value_varF19 = T17_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    if (failureF18 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      T20_0 = failureF18;
      T20_1 = &KPfalseVKi;
      T20_2 = &KPfalseVKi;
      T20_3 = &KPfalseVKi;
      T20_4 = &KPfalseVKi;
      T68_0 = T20_0;
      T68_1 = T20_1;
      T68_2 = T20_2;
      T68_3 = T20_3;
      T68_4 = T20_4;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      T21_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfT_afterUF6);
      T21_1 = MV_GET_ELT(1);
      T21_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      failureF22 = T21_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      UfT_afterUF23 = T21_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      UfT_beforeUF24 = T21_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      if (failureF22 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        T25_0 = failureF22;
        T25_1 = &KPfalseVKi;
        T25_2 = &KPfalseVKi;
        T25_3 = &KPfalseVKi;
        T25_4 = &KPfalseVKi;
        T67_0 = T25_0;
        T67_1 = T25_1;
        T67_2 = T25_2;
        T67_3 = T25_3;
        T67_4 = T25_4;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        T26_0 = Kmatch_variable_constraintVdfmc_macro_expanderI(UfT_beforeUF24);
        T26_1 = MV_GET_ELT(1);
        T26_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        failureF27 = T26_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        UfTUF28 = T26_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        pointer_varF29 = T26_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        if (failureF27 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          T30_0 = failureF27;
          T30_1 = &KPfalseVKi;
          T34_0 = T30_0;
          T34_1 = T30_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
          T31 = CONGRUENT_CALL1(UfTUF28);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          if (T31 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            T125_0 = &KPfalseVKi;
            T125_1 = pointer_varF29;
            T33_0 = T125_0;
            T33_1 = T125_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            T32_0 = &KPtrueVKi;
            T32_1 = &KPfalseVKi;
            T33_0 = T32_0;
            T33_1 = T32_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          T34_0 = T33_0;
          T34_1 = T33_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        failureF35 = T34_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        pointer_varF36 = T34_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        if (failureF35 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          T37_0 = failureF35;
          T37_1 = &KPfalseVKi;
          T37_2 = &KPfalseVKi;
          T37_3 = &KPfalseVKi;
          T37_4 = &KPfalseVKi;
          T66_0 = T37_0;
          T66_1 = T37_1;
          T66_2 = T37_2;
          T66_3 = T37_3;
          T66_4 = T37_4;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          T38_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF23);
          T38_1 = MV_GET_ELT(1);
          T38_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          failureF39 = T38_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          UfT_afterUF40 = T38_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          UfT_beforeUF41 = T38_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          if (failureF39 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            T42_0 = failureF39;
            T42_1 = &KPfalseVKi;
            T42_2 = &KPfalseVKi;
            T42_3 = &KPfalseVKi;
            T42_4 = &KPfalseVKi;
            T65_0 = T42_0;
            T65_1 = T42_1;
            T65_2 = T42_2;
            T65_3 = T42_3;
            T65_4 = T42_4;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            T43_0 = Kmatch_variable_constraintVdfmc_macro_expanderI(UfT_beforeUF41);
            T43_1 = MV_GET_ELT(1);
            T43_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            failureF44 = T43_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            UfTUF45 = T43_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            index_varF46 = T43_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            if (failureF44 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              T47_0 = failureF44;
              T47_1 = &KPfalseVKi;
              T51_0 = T47_0;
              T51_1 = T47_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
              T48 = CONGRUENT_CALL1(UfTUF45);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              if (T48 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
                T126_0 = &KPfalseVKi;
                T126_1 = index_varF46;
                T50_0 = T126_0;
                T50_1 = T126_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
                T49_0 = &KPtrueVKi;
                T49_1 = &KPfalseVKi;
                T50_0 = T49_0;
                T50_1 = T49_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              T51_0 = T50_0;
              T51_1 = T50_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            failureF52 = T51_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            index_varF53 = T51_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            if (failureF52 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              T54_0 = failureF52;
              T54_1 = &KPfalseVKi;
              T54_2 = &KPfalseVKi;
              T54_3 = &KPfalseVKi;
              T54_4 = &KPfalseVKi;
              T64_0 = T54_0;
              T64_1 = T54_1;
              T64_2 = T54_2;
              T64_3 = T54_3;
              T64_4 = T54_4;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              T55_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_afterUF40);
              T55_1 = MV_GET_ELT(1);
              T55_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              failureF56 = T55_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              UfTUF57 = T55_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              pointer_type_exprF58 = T55_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              if (failureF56 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
                T59_0 = failureF56;
                T59_1 = &KPfalseVKi;
                T59_2 = &KPfalseVKi;
                T59_3 = &KPfalseVKi;
                T59_4 = &KPfalseVKi;
                T63_0 = T59_0;
                T63_1 = T59_1;
                T63_2 = T59_2;
                T63_3 = T59_3;
                T63_4 = T59_4;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
                CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                T60 = CONGRUENT_CALL1(UfTUF57);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
                if (T60 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
                  T127_0 = &KPfalseVKi;
                  T127_1 = new_value_varF19;
                  T127_2 = pointer_varF36;
                  T127_3 = index_varF53;
                  T127_4 = pointer_type_exprF58;
                  T62_0 = T127_0;
                  T62_1 = T127_1;
                  T62_2 = T127_2;
                  T62_3 = T127_3;
                  T62_4 = T127_4;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
                  T61_0 = &KPtrueVKi;
                  T61_1 = &KPfalseVKi;
                  T61_2 = &KPfalseVKi;
                  T61_3 = &KPfalseVKi;
                  T61_4 = &KPfalseVKi;
                  T62_0 = T61_0;
                  T62_1 = T61_1;
                  T62_2 = T61_2;
                  T62_3 = T61_3;
                  T62_4 = T61_4;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
                T63_0 = T62_0;
                T63_1 = T62_1;
                T63_2 = T62_2;
                T63_3 = T62_3;
                T63_4 = T62_4;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
              T64_0 = T63_0;
              T64_1 = T63_1;
              T64_2 = T63_2;
              T64_3 = T63_3;
              T64_4 = T63_4;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
            T65_0 = T64_0;
            T65_1 = T64_1;
            T65_2 = T64_2;
            T65_3 = T64_3;
            T65_4 = T64_4;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
          T66_0 = T65_0;
          T66_1 = T65_1;
          T66_2 = T65_2;
          T66_3 = T65_3;
          T66_4 = T65_4;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
        T67_0 = T66_0;
        T67_1 = T66_1;
        T67_2 = T66_2;
        T67_3 = T66_3;
        T67_4 = T66_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
      T68_0 = T67_0;
      T68_1 = T67_1;
      T68_2 = T67_2;
      T68_3 = T67_3;
      T68_4 = T67_4;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    T69_0 = T68_0;
    T69_1 = T68_1;
    T69_2 = T68_2;
    T69_3 = T68_3;
    T69_4 = T68_4;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  failureF70 = T69_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  new_value_varF71 = T69_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  pointer_varF72 = T69_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  index_varF73 = T69_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  pointer_type_exprF74 = T69_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  if (failureF70 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    T121 = Kdylan_variable_nameVdfmc_readerI(IKJpointer_value_setter_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    T122 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T121);
    T123 = T122;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    new_value_varF75 = CONGRUENT_CALL1(new_value_varF71);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    pointer_varF76 = CONGRUENT_CALL1(pointer_varF72);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    index_varF77 = CONGRUENT_CALL1(index_varF73);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    pointer_type_exprF78 = CONGRUENT_CALL1(pointer_type_exprF74);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:454
    T128 = KCtop_level_eval_typeVdfmc_conversionMM0I(pointer_type_exprF78, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:454
    pointer_type_ = T128;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:455
    ref_type_ = CALL1(&KCreferenced_typeVdfmc_c_ffiMM0, pointer_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:456
    unboxer_ = CALL1(&KCunboxer_function_nameVdfmc_c_ffiMM0, ref_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:457
    Utmp_ = CALL1(&KCexport_functionVdfmc_c_ffiMM0, ref_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:457
    if (Utmp_ != &KPfalseVKi) {
      export_ = Utmp_;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:457
      T82 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:457
      T130.vector_element_[0] = T82;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:457
      T83 = Kmake_templateVdfmc_macro_expanderI(&T130);
      export_ = T83;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:457
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:458
    dereferencer_ = CALL1(&KCraw_dereferencer_nameVdfmc_c_ffiMM0, ref_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:459
    if (dereferencer_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T86 = CONGRUENT_CALL1(dereferencer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T87 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_unwrap_c_pointer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T88 = CONGRUENT_CALL1(pointer_varF76);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T131.vector_element_[0] = T88;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T89 = KlistVKdI(&T131);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T90 = Kmake_parens_fragmentVdfmc_macro_expanderI(T89);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T91 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T92 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T93 = CONGRUENT_CALL1(index_varF77);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T132.vector_element_[0] = T93;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T94 = KlistVKdI(&T132);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T95 = Kmake_parens_fragmentVdfmc_macro_expanderI(T94);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T96 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T97 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T133 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((dylan_value) 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T134.vector_element_[0] = T133;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T98 = KlistVKdI(&T134);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T99 = Kmake_parens_fragmentVdfmc_macro_expanderI(T98);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T135.vector_element_[0] = T87;
      T135.vector_element_[1] = T90;
      T135.vector_element_[2] = T91;
      T135.vector_element_[3] = T92;
      T135.vector_element_[4] = T95;
      T135.vector_element_[5] = T96;
      T135.vector_element_[6] = T97;
      T135.vector_element_[7] = T99;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T100 = KlistVKdI(&T135);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T101 = Kmake_parens_fragmentVdfmc_macro_expanderI(T100);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T102 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ58ZE_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T103 = CONGRUENT_CALL1(unboxer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T104 = CONGRUENT_CALL2(T102, T103);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T105 = CONGRUENT_CALL1(export_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T106 = CONGRUENT_CALL1(new_value_varF75);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T136.vector_element_[0] = T106;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T107 = KlistVKdI(&T136);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T108 = Kmake_parens_fragmentVdfmc_macro_expanderI(T107);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T137.vector_element_[0] = T105;
      T137.vector_element_[1] = T108;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T109 = KlistVKdI(&T137);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T110 = Kmake_parens_fragmentVdfmc_macro_expanderI(T109);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T111 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T112 = CONGRUENT_CALL1(new_value_varF75);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T113 = CONGRUENT_CALL2(T111, T112);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T138.vector_element_[0] = T86;
      T138.vector_element_[1] = T101;
      T138.vector_element_[2] = T104;
      T138.vector_element_[3] = T110;
      T138.vector_element_[4] = T113;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:460
      T114 = Kmake_templateVdfmc_macro_expanderI(&T138);
      T120 = T114;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:467
      T115 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJerror_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:467
      CONGRUENT_CALL_PROLOG(&Kmake_literal_fragmentVdfmc_macro_expander, 1);
      T116 = CONGRUENT_CALL1(&K226);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:467
      T139.vector_element_[0] = T116;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:467
      T117 = KlistVKdI(&T139);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:467
      T118 = Kmake_parens_fragmentVdfmc_macro_expanderI(T117);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:467
      T140.vector_element_[0] = T115;
      T140.vector_element_[1] = T118;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:467
      T119 = Kmake_templateVdfmc_macro_expanderI(&T140);
      T120 = T119;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:459
    T123 = T120;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  return(T123);
}

dylan_value Kpointer_value_body_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T8_3;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value pointer_varF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value pointer_varF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T20_3;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value failureF22;
  dylan_value UfT_afterUF23;
  dylan_value UfT_beforeUF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T25_3;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value failureF27;
  dylan_value UfTUF28;
  dylan_value index_varF29;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T31;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value T33_0;
  dylan_value T33_1;
  dylan_value T34_0;
  dylan_value T34_1;
  dylan_value failureF35;
  dylan_value index_varF36;
  dylan_value T37_0;
  dylan_value T37_1;
  dylan_value T37_2;
  dylan_value T37_3;
  dylan_value T38_0;
  dylan_value T38_1;
  dylan_value T38_2;
  dylan_value failureF39;
  dylan_value UfTUF40;
  dylan_value pointer_type_exprF41;
  dylan_value T42_0;
  dylan_value T42_1;
  dylan_value T42_2;
  dylan_value T42_3;
  dylan_value T43;
  dylan_value T44_0;
  dylan_value T44_1;
  dylan_value T44_2;
  dylan_value T44_3;
  dylan_value T45_0;
  dylan_value T45_1;
  dylan_value T45_2;
  dylan_value T45_3;
  dylan_value T46_0;
  dylan_value T46_1;
  dylan_value T46_2;
  dylan_value T46_3;
  dylan_value T47_0;
  dylan_value T47_1;
  dylan_value T47_2;
  dylan_value T47_3;
  dylan_value T48_0;
  dylan_value T48_1;
  dylan_value T48_2;
  dylan_value T48_3;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value T49_2;
  dylan_value T49_3;
  dylan_value T50_0;
  dylan_value T50_1;
  dylan_value T50_2;
  dylan_value T50_3;
  dylan_value failureF51;
  dylan_value pointer_varF52;
  dylan_value index_varF53;
  dylan_value pointer_type_exprF54;
  dylan_value pointer_varF55;
  dylan_value index_varF56;
  dylan_value pointer_type_exprF57;
  dylan_value ref_type_;
  dylan_value low_type_;
  dylan_value boxer_;
  dylan_value UtmpF61;
  dylan_value T62;
  dylan_value T63;
  dylan_value importF64;
  dylan_value dereferencer_;
  dylan_value T66;
  dylan_value T67;
  dylan_value T68;
  dylan_value T69;
  dylan_value T70;
  dylan_value T71;
  dylan_value T72;
  dylan_value T73;
  dylan_value T74;
  dylan_value T75;
  dylan_value T76;
  dylan_value T77;
  dylan_value T78;
  dylan_value T79;
  dylan_value T80;
  dylan_value T81;
  dylan_value T82;
  dylan_value T83;
  dylan_value T84;
  dylan_value T85;
  dylan_value T86;
  dylan_value T87;
  dylan_value T88;
  dylan_value T89;
  dylan_value T90;
  dylan_value T91;
  dylan_value T92;
  dylan_value T93;
  dylan_value T94;
  dylan_value UtmpF95;
  dylan_value T96;
  dylan_value T97;
  dylan_value importF98;
  dylan_value T99;
  dylan_value T100;
  dylan_value T101;
  dylan_value T102;
  dylan_value T103;
  dylan_value T104;
  dylan_value T105;
  dylan_value T106;
  dylan_value T107;
  dylan_value T108;
  dylan_value T109;
  dylan_value T110;
  dylan_value T111_0;
  dylan_value T111_1;
  dylan_value T112_0;
  dylan_value T112_1;
  dylan_value T113_0;
  dylan_value T113_1;
  dylan_value T113_2;
  dylan_value T113_3;
  dylan_value T114;
  dylan_value pointer_type_;
  _KLsimple_object_vectorGVKd_1 T116 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T117 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T118 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T119;
  _KLsimple_object_vectorGVKd_1 T120 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_8 T121 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  _KLsimple_object_vectorGVKd_4 T122 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_2 T123 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T124 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_1 T125 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T126 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T127 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  UfT_afterUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  UfT_beforeUF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T50_0 = T8_0;
    T50_1 = T8_1;
    T50_2 = T8_2;
    T50_3 = T8_3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    T9_0 = Kmatch_variable_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    UfTUF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    pointer_varF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T17_0 = T13_0;
      T17_1 = T13_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T14 = CONGRUENT_CALL1(UfTUF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      if (T14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        T111_0 = &KPfalseVKi;
        T111_1 = pointer_varF12;
        T16_0 = T111_0;
        T16_1 = T111_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        T15_0 = &KPtrueVKi;
        T15_1 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      T17_0 = T16_0;
      T17_1 = T16_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    failureF18 = T17_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    pointer_varF19 = T17_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    if (failureF18 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      T20_0 = failureF18;
      T20_1 = &KPfalseVKi;
      T20_2 = &KPfalseVKi;
      T20_3 = &KPfalseVKi;
      T49_0 = T20_0;
      T49_1 = T20_1;
      T49_2 = T20_2;
      T49_3 = T20_3;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      T21_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF6);
      T21_1 = MV_GET_ELT(1);
      T21_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      failureF22 = T21_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      UfT_afterUF23 = T21_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      UfT_beforeUF24 = T21_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      if (failureF22 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        T25_0 = failureF22;
        T25_1 = &KPfalseVKi;
        T25_2 = &KPfalseVKi;
        T25_3 = &KPfalseVKi;
        T48_0 = T25_0;
        T48_1 = T25_1;
        T48_2 = T25_2;
        T48_3 = T25_3;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        T26_0 = Kmatch_variable_constraintVdfmc_macro_expanderI(UfT_beforeUF24);
        T26_1 = MV_GET_ELT(1);
        T26_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        failureF27 = T26_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        UfTUF28 = T26_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        index_varF29 = T26_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        if (failureF27 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          T30_0 = failureF27;
          T30_1 = &KPfalseVKi;
          T34_0 = T30_0;
          T34_1 = T30_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
          T31 = CONGRUENT_CALL1(UfTUF28);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          if (T31 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
            T112_0 = &KPfalseVKi;
            T112_1 = index_varF29;
            T33_0 = T112_0;
            T33_1 = T112_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
            T32_0 = &KPtrueVKi;
            T32_1 = &KPfalseVKi;
            T33_0 = T32_0;
            T33_1 = T32_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          T34_0 = T33_0;
          T34_1 = T33_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        failureF35 = T34_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        index_varF36 = T34_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        if (failureF35 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          T37_0 = failureF35;
          T37_1 = &KPfalseVKi;
          T37_2 = &KPfalseVKi;
          T37_3 = &KPfalseVKi;
          T47_0 = T37_0;
          T47_1 = T37_1;
          T47_2 = T37_2;
          T47_3 = T37_3;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          T38_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_afterUF23);
          T38_1 = MV_GET_ELT(1);
          T38_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          failureF39 = T38_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          UfTUF40 = T38_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          pointer_type_exprF41 = T38_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          if (failureF39 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
            T42_0 = failureF39;
            T42_1 = &KPfalseVKi;
            T42_2 = &KPfalseVKi;
            T42_3 = &KPfalseVKi;
            T46_0 = T42_0;
            T46_1 = T42_1;
            T46_2 = T42_2;
            T46_3 = T42_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T43 = CONGRUENT_CALL1(UfTUF40);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
            if (T43 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
              T113_0 = &KPfalseVKi;
              T113_1 = pointer_varF19;
              T113_2 = index_varF36;
              T113_3 = pointer_type_exprF41;
              T45_0 = T113_0;
              T45_1 = T113_1;
              T45_2 = T113_2;
              T45_3 = T113_3;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
              T44_0 = &KPtrueVKi;
              T44_1 = &KPfalseVKi;
              T44_2 = &KPfalseVKi;
              T44_3 = &KPfalseVKi;
              T45_0 = T44_0;
              T45_1 = T44_1;
              T45_2 = T44_2;
              T45_3 = T44_3;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
            T46_0 = T45_0;
            T46_1 = T45_1;
            T46_2 = T45_2;
            T46_3 = T45_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
          T47_0 = T46_0;
          T47_1 = T46_1;
          T47_2 = T46_2;
          T47_3 = T46_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
        T48_0 = T47_0;
        T48_1 = T47_1;
        T48_2 = T47_2;
        T48_3 = T47_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
      T49_0 = T48_0;
      T49_1 = T48_1;
      T49_2 = T48_2;
      T49_3 = T48_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    T50_0 = T49_0;
    T50_1 = T49_1;
    T50_2 = T49_2;
    T50_3 = T49_3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  failureF51 = T50_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  pointer_varF52 = T50_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  index_varF53 = T50_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  pointer_type_exprF54 = T50_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  if (failureF51 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    T108 = Kdylan_variable_nameVdfmc_readerI(IKJpointer_value_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    T109 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T108);
    T110 = T109;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    pointer_varF55 = CONGRUENT_CALL1(pointer_varF52);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    index_varF56 = CONGRUENT_CALL1(index_varF53);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    pointer_type_exprF57 = CONGRUENT_CALL1(pointer_type_exprF54);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:478
    T114 = KCtop_level_eval_typeVdfmc_conversionMM0I(pointer_type_exprF57, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:478
    pointer_type_ = T114;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:479
    ref_type_ = CALL1(&KCreferenced_typeVdfmc_c_ffiMM0, pointer_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:480
    low_type_ = CALL1(&KClow_level_typeVdfmc_c_ffiMM0, ref_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:481
    boxer_ = CALL1(&KCboxer_function_nameVdfmc_c_ffiMM0, ref_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:482
    UtmpF61 = CALL1(&KCimport_functionVdfmc_c_ffiMM0, ref_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:482
    if (UtmpF61 != &KPfalseVKi) {
      importF64 = UtmpF61;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:482
      T62 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:482
      T116.vector_element_[0] = T62;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:482
      T63 = Kmake_templateVdfmc_macro_expanderI(&T116);
      importF64 = T63;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:482
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:483
    dereferencer_ = CALL1(&KCraw_dereferencer_nameVdfmc_c_ffiMM0, ref_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:484
    if (dereferencer_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T66 = CONGRUENT_CALL1(importF64);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T67 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJboxer_for_designator_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T68 = CONGRUENT_CALL1(low_type_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T69 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T70 = CONGRUENT_CALL1(dereferencer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T71 = CONGRUENT_CALL2(T69, T70);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T72 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_unwrap_c_pointer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T73 = CONGRUENT_CALL1(pointer_varF55);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T117.vector_element_[0] = T73;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T74 = KlistVKdI(&T117);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T75 = Kmake_parens_fragmentVdfmc_macro_expanderI(T74);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T76 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T77 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T78 = CONGRUENT_CALL1(index_varF56);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T118.vector_element_[0] = T78;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T79 = KlistVKdI(&T118);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T80 = Kmake_parens_fragmentVdfmc_macro_expanderI(T79);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T81 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T82 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T119 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((dylan_value) 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T120.vector_element_[0] = T119;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T83 = KlistVKdI(&T120);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T84 = Kmake_parens_fragmentVdfmc_macro_expanderI(T83);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T121.vector_element_[0] = T72;
      T121.vector_element_[1] = T75;
      T121.vector_element_[2] = T76;
      T121.vector_element_[3] = T77;
      T121.vector_element_[4] = T80;
      T121.vector_element_[5] = T81;
      T121.vector_element_[6] = T82;
      T121.vector_element_[7] = T84;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T85 = KlistVKdI(&T121);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T86 = Kmake_parens_fragmentVdfmc_macro_expanderI(T85);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T87 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T88 = CONGRUENT_CALL1(boxer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T89 = CONGRUENT_CALL2(T87, T88);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T122.vector_element_[0] = T68;
      T122.vector_element_[1] = T71;
      T122.vector_element_[2] = T86;
      T122.vector_element_[3] = T89;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T90 = KlistVKdI(&T122);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T91 = Kmake_parens_fragmentVdfmc_macro_expanderI(T90);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T123.vector_element_[0] = T67;
      T123.vector_element_[1] = T91;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T92 = KlistVKdI(&T123);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T93 = Kmake_parens_fragmentVdfmc_macro_expanderI(T92);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T124.vector_element_[0] = T66;
      T124.vector_element_[1] = T93;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:485
      T94 = Kmake_templateVdfmc_macro_expanderI(&T124);
      T107 = T94;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:497
      UtmpF95 = CALL1(&KCimport_functionVdfmc_c_ffiMM0, pointer_type_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:497
      if (UtmpF95 != &KPfalseVKi) {
        importF98 = UtmpF95;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:497
        T96 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:497
        T125.vector_element_[0] = T96;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:497
        T97 = Kmake_templateVdfmc_macro_expanderI(&T125);
        importF98 = T97;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:497
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T99 = CONGRUENT_CALL1(importF98);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T100 = CONGRUENT_CALL1(pointer_varF55);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      T101 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJA_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T102 = CONGRUENT_CALL1(index_varF56);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T103 = CONGRUENT_CALL2(T101, T102);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      T126.vector_element_[0] = T100;
      T126.vector_element_[1] = T103;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      T104 = KlistVKdI(&T126);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      T105 = Kmake_parens_fragmentVdfmc_macro_expanderI(T104);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      T127.vector_element_[0] = T99;
      T127.vector_element_[1] = T105;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:498
      T106 = Kmake_templateVdfmc_macro_expanderI(&T127);
      T107 = T106;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:484
    T110 = T107;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  return(T110);
}

dylan_value Kexport_function_body_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T8_3;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTU_;
  dylan_value arg_varF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value arg_varF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T20_3;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value failureF22;
  dylan_value UfT_afterUF23;
  dylan_value UfT_beforeUF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T25_3;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value failureF27;
  dylan_value Uafter_fTU_;
  dylan_value Unested_fTU_;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T30_2;
  dylan_value T30_3;
  dylan_value T31_0;
  dylan_value T31_1;
  dylan_value T31_2;
  dylan_value T31_3;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value T32_2;
  dylan_value T32_3;
  dylan_value T33_0;
  dylan_value T33_1;
  dylan_value T33_2;
  dylan_value T33_3;
  dylan_value T34_0;
  dylan_value T34_1;
  dylan_value T34_2;
  dylan_value T34_3;
  dylan_value T35_0;
  dylan_value T35_1;
  dylan_value T35_2;
  dylan_value T35_3;
  dylan_value T36_0;
  dylan_value T36_1;
  dylan_value T36_2;
  dylan_value T36_3;
  dylan_value failureF37;
  dylan_value arg_varF38;
  dylan_value partial_export_functionF39;
  dylan_value supersF40;
  dylan_value arg_varF41;
  dylan_value partial_export_functionF42;
  dylan_value T43;
  dylan_value supersF44;
  dylan_value gotitPexit_2_;
  dylan_value T46;
  dylan_value T47;
  dylan_value T48;
  dylan_value T49;
  dylan_value T50;
  dylan_value T51;
  dylan_value T52;
  dylan_value T53T, T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56;
  dylan_value T57_0;
  dylan_value T57_1;
  dylan_value designator_super_;
  dylan_value superclass_export_;
  dylan_value T60;
  dylan_value T61;
  dylan_value T62;
  dylan_value T63;
  dylan_value T64;
  dylan_value T65;
  dylan_value T66;
  dylan_value T67;
  dylan_value T68;
  dylan_value T69;
  dylan_value T70;
  dylan_value T71;
  dylan_value T72;
  dylan_value T73;
  dylan_value T74;
  dylan_value T75;
  dylan_value T76;
  dylan_value T77_0;
  dylan_value T77_1;
  dylan_value T78;
  dylan_value T79_0;
  dylan_value T79_1;
  dylan_value T79_2;
  dylan_value T79_3;
  dylan_value T80;
  dylan_value c_;
  dylan_value T82;
  _KLsimple_object_vectorGVKd_2 T83 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T84;
  dylan_value T85;
  _KLsimple_object_vectorGVKd_1 T86 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T87 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T88 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_1 T89 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T90 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  UfT_afterUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  UfT_beforeUF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T36_0 = T8_0;
    T36_1 = T8_1;
    T36_2 = T8_2;
    T36_3 = T8_3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    T9_0 = Kmatch_variable_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    UfTU_ = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    arg_varF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T17_0 = T13_0;
      T17_1 = T13_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T14 = CONGRUENT_CALL1(UfTU_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      if (T14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        T77_0 = &KPfalseVKi;
        T77_1 = arg_varF12;
        T16_0 = T77_0;
        T16_1 = T77_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        T15_0 = &KPtrueVKi;
        T15_1 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T17_0 = T16_0;
      T17_1 = T16_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    failureF18 = T17_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    arg_varF19 = T17_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    if (failureF18 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T20_0 = failureF18;
      T20_1 = &KPfalseVKi;
      T20_2 = &KPfalseVKi;
      T20_3 = &KPfalseVKi;
      T35_0 = T20_0;
      T35_1 = T20_1;
      T35_2 = T20_2;
      T35_3 = T20_3;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T21_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF6);
      T21_1 = MV_GET_ELT(1);
      T21_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      failureF22 = T21_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      UfT_afterUF23 = T21_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      UfT_beforeUF24 = T21_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      if (failureF22 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        T25_0 = failureF22;
        T25_1 = &KPfalseVKi;
        T25_2 = &KPfalseVKi;
        T25_3 = &KPfalseVKi;
        T34_0 = T25_0;
        T34_1 = T25_1;
        T34_2 = T25_2;
        T34_3 = T25_3;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        T26_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_afterUF23);
        T26_1 = MV_GET_ELT(1);
        T26_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        failureF27 = T26_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        Uafter_fTU_ = T26_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        Unested_fTU_ = T26_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        if (failureF27 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
          T30_0 = failureF27;
          T30_1 = &KPfalseVKi;
          T30_2 = &KPfalseVKi;
          T30_3 = &KPfalseVKi;
          T33_0 = T30_0;
          T33_1 = T30_1;
          T33_2 = T30_2;
          T33_3 = T30_3;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
          T78 = primitive_idQ(Uafter_fTU_,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
          if (T78 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
            T79_0 = &KPfalseVKi;
            T79_1 = arg_varF19;
            T79_2 = UfT_beforeUF24;
            T79_3 = Unested_fTU_;
            T32_0 = T79_0;
            T32_1 = T79_1;
            T32_2 = T79_2;
            T32_3 = T79_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
            T31_0 = &KPtrueVKi;
            T31_1 = &KPfalseVKi;
            T31_2 = &KPfalseVKi;
            T31_3 = &KPfalseVKi;
            T32_0 = T31_0;
            T32_1 = T31_1;
            T32_2 = T31_2;
            T32_3 = T31_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
          T33_0 = T32_0;
          T33_1 = T32_1;
          T33_2 = T32_2;
          T33_3 = T32_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        T34_0 = T33_0;
        T34_1 = T33_1;
        T34_2 = T33_2;
        T34_3 = T33_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T35_0 = T34_0;
      T35_1 = T34_1;
      T35_2 = T34_2;
      T35_3 = T34_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    T36_0 = T35_0;
    T36_1 = T35_1;
    T36_2 = T35_2;
    T36_3 = T35_3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  failureF37 = T36_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  arg_varF38 = T36_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  partial_export_functionF39 = T36_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  supersF40 = T36_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  if (failureF37 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    T74 = Kdylan_variable_nameVdfmc_readerI(IKJexport_function_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    T75 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T74);
    T76 = T75;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    arg_varF41 = CONGRUENT_CALL1(arg_varF38);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    partial_export_functionF42 = CONGRUENT_CALL1(partial_export_functionF39);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T43 = CONGRUENT_CALL1(supersF40);
    supersF44 = Ksupers_rewriterF213I(T43);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:511
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
    T47 = CALL1(&Kforward_iteration_protocolVKd, supersF44);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
    T48 = T47;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
    T49 = MV_GET_ELT(1);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
    T50 = MV_GET_ELT(2);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
    T51 = MV_GET_ELT(3);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
    T52 = MV_GET_ELT(5);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
    T53T = T48;
  L0: ;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
      T53 = T53T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
      T54 = CALL3(T51, supersF44, T53, T49);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
      if (T54 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
        T55 = CALL2(T52, supersF44, T53);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:513
        T80 = KCtop_level_eval_typeVdfmc_conversionMM0I(T55, &KPempty_vectorVKi, &KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:513
        c_ = T80;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:514
        T82 = primitive_instanceQ(c_,&KLBdesignator_classGVdfmc_c_ffi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:514
        if (T82 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:515
          T83.vector_element_[0] = c_;
          T83.vector_element_[1] = T55;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:511
          T84 = MV_SET_REST_AT(&T83, 0);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:511
          T57_0 = T84;
          T57_1 = MV_GET_ELT(1);
          goto L1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:514
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
        T56 = CALL2(T50, supersF44, T53);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
        T53T = T56;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:512
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:518
    T85 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_ELT(1, &KPfalseVKi);
    MV_SET_COUNT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:511
    T57_0 = T85;
    T57_1 = MV_GET_ELT(1);
    L1: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:511
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:510
    designator_super_ = T57_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:521
    superclass_export_ = CALL1(&KCexport_functionVdfmc_c_ffiMM0, designator_super_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:522
    if (superclass_export_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T60 = CONGRUENT_CALL1(superclass_export_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T61 = CONGRUENT_CALL1(partial_export_functionF42);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T62 = CONGRUENT_CALL1(arg_varF41);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      T86.vector_element_[0] = T62;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      T63 = KlistVKdI(&T86);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      T64 = Kmake_parens_fragmentVdfmc_macro_expanderI(T63);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      T87.vector_element_[0] = T61;
      T87.vector_element_[1] = T64;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      T65 = KlistVKdI(&T87);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      T66 = Kmake_parens_fragmentVdfmc_macro_expanderI(T65);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      T88.vector_element_[0] = T60;
      T88.vector_element_[1] = T66;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:523
      T67 = Kmake_templateVdfmc_macro_expanderI(&T88);
      T73 = T67;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:525
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T68 = CONGRUENT_CALL1(partial_export_functionF42);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:525
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T69 = CONGRUENT_CALL1(arg_varF41);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:525
      T89.vector_element_[0] = T69;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:525
      T70 = KlistVKdI(&T89);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:525
      T71 = Kmake_parens_fragmentVdfmc_macro_expanderI(T70);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:525
      T90.vector_element_[0] = T68;
      T90.vector_element_[1] = T71;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:525
      T72 = Kmake_templateVdfmc_macro_expanderI(&T90);
      T73 = T72;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:522
    T76 = T73;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  return(T76);
}

dylan_value Kimport_function_body_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T8_3;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTU_;
  dylan_value arg_varF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value arg_varF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T20_3;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value failureF22;
  dylan_value UfT_afterUF23;
  dylan_value UfT_beforeUF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T25_3;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value failureF27;
  dylan_value Uafter_fTU_;
  dylan_value Unested_fTU_;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T30_2;
  dylan_value T30_3;
  dylan_value T31_0;
  dylan_value T31_1;
  dylan_value T31_2;
  dylan_value T31_3;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value T32_2;
  dylan_value T32_3;
  dylan_value T33_0;
  dylan_value T33_1;
  dylan_value T33_2;
  dylan_value T33_3;
  dylan_value T34_0;
  dylan_value T34_1;
  dylan_value T34_2;
  dylan_value T34_3;
  dylan_value T35_0;
  dylan_value T35_1;
  dylan_value T35_2;
  dylan_value T35_3;
  dylan_value T36_0;
  dylan_value T36_1;
  dylan_value T36_2;
  dylan_value T36_3;
  dylan_value failureF37;
  dylan_value arg_varF38;
  dylan_value partial_import_functionF39;
  dylan_value supersF40;
  dylan_value arg_varF41;
  dylan_value partial_import_functionF42;
  dylan_value T43;
  dylan_value supersF44;
  dylan_value gotitPexit_3_;
  dylan_value T46;
  dylan_value T47;
  dylan_value T48;
  dylan_value T49;
  dylan_value T50;
  dylan_value T51;
  dylan_value T52;
  dylan_value T53T, T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56;
  dylan_value T57_0;
  dylan_value T57_1;
  dylan_value designator_super_;
  dylan_value superclass_import_;
  dylan_value T60;
  dylan_value T61;
  dylan_value T62;
  dylan_value T63;
  dylan_value T64;
  dylan_value T65;
  dylan_value T66;
  dylan_value T67;
  dylan_value T68;
  dylan_value T69;
  dylan_value T70;
  dylan_value T71;
  dylan_value T72;
  dylan_value T73;
  dylan_value T74;
  dylan_value T75;
  dylan_value T76;
  dylan_value T77_0;
  dylan_value T77_1;
  dylan_value T78;
  dylan_value T79_0;
  dylan_value T79_1;
  dylan_value T79_2;
  dylan_value T79_3;
  dylan_value T80;
  dylan_value c_;
  dylan_value T82;
  _KLsimple_object_vectorGVKd_2 T83 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T84;
  dylan_value T85;
  _KLsimple_object_vectorGVKd_1 T86 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T87 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T88 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_1 T89 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T90 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  UfT_afterUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  UfT_beforeUF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T36_0 = T8_0;
    T36_1 = T8_1;
    T36_2 = T8_2;
    T36_3 = T8_3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    T9_0 = Kmatch_variable_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    UfTU_ = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    arg_varF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T17_0 = T13_0;
      T17_1 = T13_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T14 = CONGRUENT_CALL1(UfTU_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      if (T14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        T77_0 = &KPfalseVKi;
        T77_1 = arg_varF12;
        T16_0 = T77_0;
        T16_1 = T77_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        T15_0 = &KPtrueVKi;
        T15_1 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T17_0 = T16_0;
      T17_1 = T16_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    failureF18 = T17_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    arg_varF19 = T17_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    if (failureF18 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T20_0 = failureF18;
      T20_1 = &KPfalseVKi;
      T20_2 = &KPfalseVKi;
      T20_3 = &KPfalseVKi;
      T35_0 = T20_0;
      T35_1 = T20_1;
      T35_2 = T20_2;
      T35_3 = T20_3;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T21_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF6);
      T21_1 = MV_GET_ELT(1);
      T21_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      failureF22 = T21_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      UfT_afterUF23 = T21_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      UfT_beforeUF24 = T21_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      if (failureF22 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        T25_0 = failureF22;
        T25_1 = &KPfalseVKi;
        T25_2 = &KPfalseVKi;
        T25_3 = &KPfalseVKi;
        T34_0 = T25_0;
        T34_1 = T25_1;
        T34_2 = T25_2;
        T34_3 = T25_3;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        T26_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_afterUF23);
        T26_1 = MV_GET_ELT(1);
        T26_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        failureF27 = T26_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        Uafter_fTU_ = T26_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        Unested_fTU_ = T26_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        if (failureF27 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
          T30_0 = failureF27;
          T30_1 = &KPfalseVKi;
          T30_2 = &KPfalseVKi;
          T30_3 = &KPfalseVKi;
          T33_0 = T30_0;
          T33_1 = T30_1;
          T33_2 = T30_2;
          T33_3 = T30_3;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
          T78 = primitive_idQ(Uafter_fTU_,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
          if (T78 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
            T79_0 = &KPfalseVKi;
            T79_1 = arg_varF19;
            T79_2 = UfT_beforeUF24;
            T79_3 = Unested_fTU_;
            T32_0 = T79_0;
            T32_1 = T79_1;
            T32_2 = T79_2;
            T32_3 = T79_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
            T31_0 = &KPtrueVKi;
            T31_1 = &KPfalseVKi;
            T31_2 = &KPfalseVKi;
            T31_3 = &KPfalseVKi;
            T32_0 = T31_0;
            T32_1 = T31_1;
            T32_2 = T31_2;
            T32_3 = T31_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
          T33_0 = T32_0;
          T33_1 = T32_1;
          T33_2 = T32_2;
          T33_3 = T32_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        T34_0 = T33_0;
        T34_1 = T33_1;
        T34_2 = T33_2;
        T34_3 = T33_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T35_0 = T34_0;
      T35_1 = T34_1;
      T35_2 = T34_2;
      T35_3 = T34_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    T36_0 = T35_0;
    T36_1 = T35_1;
    T36_2 = T35_2;
    T36_3 = T35_3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  failureF37 = T36_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  arg_varF38 = T36_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  partial_import_functionF39 = T36_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  supersF40 = T36_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  if (failureF37 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    T74 = Kdylan_variable_nameVdfmc_readerI(IKJimport_function_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    T75 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T74);
    T76 = T75;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    arg_varF41 = CONGRUENT_CALL1(arg_varF38);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    partial_import_functionF42 = CONGRUENT_CALL1(partial_import_functionF39);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T43 = CONGRUENT_CALL1(supersF40);
    supersF44 = Ksupers_rewriterF210I(T43);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:540
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
    T47 = CALL1(&Kforward_iteration_protocolVKd, supersF44);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
    T48 = T47;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
    T49 = MV_GET_ELT(1);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
    T50 = MV_GET_ELT(2);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
    T51 = MV_GET_ELT(3);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
    T52 = MV_GET_ELT(5);
;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
    T53T = T48;
  L0: ;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
      T53 = T53T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
      T54 = CALL3(T51, supersF44, T53, T49);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
      if (T54 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
        T55 = CALL2(T52, supersF44, T53);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:542
        T80 = KCtop_level_eval_typeVdfmc_conversionMM0I(T55, &KPempty_vectorVKi, &KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:542
        c_ = T80;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:543
        T82 = primitive_instanceQ(c_,&KLBdesignator_classGVdfmc_c_ffi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:543
        if (T82 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:544
          T83.vector_element_[0] = c_;
          T83.vector_element_[1] = T55;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:540
          T84 = MV_SET_REST_AT(&T83, 0);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:540
          T57_0 = T84;
          T57_1 = MV_GET_ELT(1);
          goto L1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:543
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
        T56 = CALL2(T50, supersF44, T53);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
        T53T = T56;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:541
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:547
    T85 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_ELT(1, &KPfalseVKi);
    MV_SET_COUNT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:540
    T57_0 = T85;
    T57_1 = MV_GET_ELT(1);
    L1: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:540
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:539
    designator_super_ = T57_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:550
    superclass_import_ = CALL1(&KCimport_functionVdfmc_c_ffiMM0, designator_super_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:551
    if (superclass_import_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T60 = CONGRUENT_CALL1(partial_import_functionF42);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T61 = CONGRUENT_CALL1(superclass_import_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T62 = CONGRUENT_CALL1(arg_varF41);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      T86.vector_element_[0] = T62;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      T63 = KlistVKdI(&T86);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      T64 = Kmake_parens_fragmentVdfmc_macro_expanderI(T63);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      T87.vector_element_[0] = T61;
      T87.vector_element_[1] = T64;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      T65 = KlistVKdI(&T87);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      T66 = Kmake_parens_fragmentVdfmc_macro_expanderI(T65);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      T88.vector_element_[0] = T60;
      T88.vector_element_[1] = T66;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:552
      T67 = Kmake_templateVdfmc_macro_expanderI(&T88);
      T73 = T67;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:555
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T68 = CONGRUENT_CALL1(partial_import_functionF42);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:555
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T69 = CONGRUENT_CALL1(arg_varF41);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:555
      T89.vector_element_[0] = T69;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:555
      T70 = KlistVKdI(&T89);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:555
      T71 = Kmake_parens_fragmentVdfmc_macro_expanderI(T70);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:555
      T90.vector_element_[0] = T68;
      T90.vector_element_[1] = T71;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:555
      T72 = Kmake_templateVdfmc_macro_expanderI(&T90);
      T73 = T72;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:551
    T76 = T73;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  return(T76);
}

dylan_value Kcheck_import_type_defined_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value import_typeF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value import_typeF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value failureF22;
  dylan_value UfTUF23;
  dylan_value nameF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T27_2;
  dylan_value T28_0;
  dylan_value T28_1;
  dylan_value T28_2;
  dylan_value T29_0;
  dylan_value T29_1;
  dylan_value T29_2;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T30_2;
  dylan_value failureF31;
  dylan_value import_typeF32;
  dylan_value nameF33;
  dylan_value import_typeF34;
  dylan_value nameF35;
  dylan_value T36;
  dylan_value T37;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40;
  dylan_value T41;
  dylan_value T42;
  dylan_value T43;
  dylan_value T44;
  dylan_value T45_0;
  dylan_value T45_1;
  dylan_value T46;
  dylan_value T47_0;
  dylan_value T47_1;
  dylan_value T47_2;
  dylan_value T48;
  dylan_value T49;
  _KLsimple_object_vectorGVKd_1 T50 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T51 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_1 T52 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  T4_0 = Kmatch_list_partVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  UfT_afterU_ = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  UfT_beforeU_ = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T30_0 = T8_0;
    T30_1 = T8_1;
    T30_2 = T8_2;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    T9_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeU_);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    UfTUF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    import_typeF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T17_0 = T13_0;
      T17_1 = T13_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T14 = CONGRUENT_CALL1(UfTUF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      if (T14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
        T45_0 = &KPfalseVKi;
        T45_1 = import_typeF12;
        T16_0 = T45_0;
        T16_1 = T45_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
        T15_0 = &KPtrueVKi;
        T15_1 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      T17_0 = T16_0;
      T17_1 = T16_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    failureF18 = T17_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    import_typeF19 = T17_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    if (failureF18 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      T20_0 = failureF18;
      T20_1 = &KPfalseVKi;
      T20_2 = &KPfalseVKi;
      T29_0 = T20_0;
      T29_1 = T20_1;
      T29_2 = T20_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      T21_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfT_afterU_);
      T21_1 = MV_GET_ELT(1);
      T21_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      failureF22 = T21_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      UfTUF23 = T21_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      nameF24 = T21_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      if (failureF22 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
        T25_0 = failureF22;
        T25_1 = &KPfalseVKi;
        T25_2 = &KPfalseVKi;
        T28_0 = T25_0;
        T28_1 = T25_1;
        T28_2 = T25_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
        T46 = primitive_idQ(UfTUF23,&KPempty_listVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
        if (T46 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
          T47_0 = &KPfalseVKi;
          T47_1 = import_typeF19;
          T47_2 = nameF24;
          T27_0 = T47_0;
          T27_1 = T47_1;
          T27_2 = T47_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
          T26_0 = &KPtrueVKi;
          T26_1 = &KPfalseVKi;
          T26_2 = &KPfalseVKi;
          T27_0 = T26_0;
          T27_1 = T26_1;
          T27_2 = T26_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
        T28_0 = T27_0;
        T28_1 = T27_1;
        T28_2 = T27_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
      T29_0 = T28_0;
      T29_1 = T28_1;
      T29_2 = T28_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    T30_0 = T29_0;
    T30_1 = T29_1;
    T30_2 = T29_2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  failureF31 = T30_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  import_typeF32 = T30_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  nameF33 = T30_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  if (failureF31 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    T42 = Kdylan_variable_nameVdfmc_readerI(IKJcheck_import_type_defined_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    T43 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T42);
    T44 = T43;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    import_typeF34 = CONGRUENT_CALL1(import_typeF32);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    nameF35 = CONGRUENT_CALL1(nameF33);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:567
    T48 = KCtop_level_eval_typeVdfmc_conversionMM0I(import_typeF34, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:567
    T49 = T48;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:567
    if (T49 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:568
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T36 = CONGRUENT_CALL1(import_typeF34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:568
      T50.vector_element_[0] = T36;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:568
      T37 = Kmake_templateVdfmc_macro_expanderI(&T50);
      T41 = T37;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:571
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T38 = CONGRUENT_CALL1(import_typeF34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:570
      T51.vector_element_[0] = IKJsource_location_;
      T51.vector_element_[1] = T38;
      T51.vector_element_[2] = IKJdefinition_name_;
      T51.vector_element_[3] = nameF35;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:570
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLunresolved_import_typeGVdfmc_c_ffi, &T51);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:573
      T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLobjectG_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:573
      T52.vector_element_[0] = T39;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:573
      T40 = Kmake_templateVdfmc_macro_expanderI(&T52);
      T41 = T40;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:567
    T44 = T41;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  return(T44);
}

dylan_value Kcheck_export_type_defined_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value export_typeF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value export_typeF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value failureF22;
  dylan_value UfTUF23;
  dylan_value nameF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T27_2;
  dylan_value T28_0;
  dylan_value T28_1;
  dylan_value T28_2;
  dylan_value T29_0;
  dylan_value T29_1;
  dylan_value T29_2;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T30_2;
  dylan_value failureF31;
  dylan_value export_typeF32;
  dylan_value nameF33;
  dylan_value export_typeF34;
  dylan_value nameF35;
  dylan_value T36;
  dylan_value T37;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40;
  dylan_value T41;
  dylan_value T42;
  dylan_value T43;
  dylan_value T44;
  dylan_value T45_0;
  dylan_value T45_1;
  dylan_value T46;
  dylan_value T47_0;
  dylan_value T47_1;
  dylan_value T47_2;
  dylan_value T48;
  dylan_value T49;
  _KLsimple_object_vectorGVKd_1 T50 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T51 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_1 T52 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  T4_0 = Kmatch_list_partVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  UfT_afterU_ = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  UfT_beforeU_ = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T30_0 = T8_0;
    T30_1 = T8_1;
    T30_2 = T8_2;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    T9_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeU_);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    UfTUF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    export_typeF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T17_0 = T13_0;
      T17_1 = T13_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T14 = CONGRUENT_CALL1(UfTUF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      if (T14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
        T45_0 = &KPfalseVKi;
        T45_1 = export_typeF12;
        T16_0 = T45_0;
        T16_1 = T45_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
        T15_0 = &KPtrueVKi;
        T15_1 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      T17_0 = T16_0;
      T17_1 = T16_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    failureF18 = T17_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    export_typeF19 = T17_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    if (failureF18 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      T20_0 = failureF18;
      T20_1 = &KPfalseVKi;
      T20_2 = &KPfalseVKi;
      T29_0 = T20_0;
      T29_1 = T20_1;
      T29_2 = T20_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      T21_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfT_afterU_);
      T21_1 = MV_GET_ELT(1);
      T21_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      failureF22 = T21_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      UfTUF23 = T21_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      nameF24 = T21_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      if (failureF22 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
        T25_0 = failureF22;
        T25_1 = &KPfalseVKi;
        T25_2 = &KPfalseVKi;
        T28_0 = T25_0;
        T28_1 = T25_1;
        T28_2 = T25_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
        T46 = primitive_idQ(UfTUF23,&KPempty_listVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
        if (T46 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
          T47_0 = &KPfalseVKi;
          T47_1 = export_typeF19;
          T47_2 = nameF24;
          T27_0 = T47_0;
          T27_1 = T47_1;
          T27_2 = T47_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
          T26_0 = &KPtrueVKi;
          T26_1 = &KPfalseVKi;
          T26_2 = &KPfalseVKi;
          T27_0 = T26_0;
          T27_1 = T26_1;
          T27_2 = T26_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
        T28_0 = T27_0;
        T28_1 = T27_1;
        T28_2 = T27_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
      T29_0 = T28_0;
      T29_1 = T28_1;
      T29_2 = T28_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    T30_0 = T29_0;
    T30_1 = T29_1;
    T30_2 = T29_2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  failureF31 = T30_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  export_typeF32 = T30_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  nameF33 = T30_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  if (failureF31 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    T42 = Kdylan_variable_nameVdfmc_readerI(IKJcheck_export_type_defined_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    T43 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T42);
    T44 = T43;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    export_typeF34 = CONGRUENT_CALL1(export_typeF32);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    nameF35 = CONGRUENT_CALL1(nameF33);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:582
    T48 = KCtop_level_eval_typeVdfmc_conversionMM0I(export_typeF34, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:582
    T49 = T48;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:582
    if (T49 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:583
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T36 = CONGRUENT_CALL1(export_typeF34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:583
      T50.vector_element_[0] = T36;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:583
      T37 = Kmake_templateVdfmc_macro_expanderI(&T50);
      T41 = T37;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:586
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T38 = CONGRUENT_CALL1(export_typeF34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:585
      T51.vector_element_[0] = IKJsource_location_;
      T51.vector_element_[1] = T38;
      T51.vector_element_[2] = IKJdefinition_name_;
      T51.vector_element_[3] = nameF35;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:585
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLunresolved_export_typeGVdfmc_c_ffi, &T51);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:588
      T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLobjectG_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:588
      T52.vector_element_[0] = T39;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:588
      T40 = Kmake_templateVdfmc_macro_expanderI(&T52);
      T41 = T40;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:582
    T44 = T41;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  return(T44);
}

static dylan_value K202I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:612
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:612
  T0 = &KPempty_listVKi;
  MV_SET_ELT(0, &KPempty_listVKi);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:612
  return(T0);
}

static dylan_value K199I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:616
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:616
  T0 = &KPempty_listVKi;
  MV_SET_ELT(0, &KPempty_listVKi);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:616
  return(T0);
}

dylan_value Kc_subtype_definer_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value T4_3;
  dylan_value T4_4;
  dylan_value failure_;
  dylan_value modsF6;
  dylan_value nameF7;
  dylan_value supersF8;
  dylan_value keys_and_slotsF9;
  dylan_value modsF10;
  dylan_value nameF11;
  dylan_value T12;
  dylan_value supersF13;
  dylan_value keys_and_slotsF14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value keys_;
  dylan_value slots_;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  _KLsimple_object_vectorGVKd_8 T27 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  _KLsimple_object_vectorGVKd_2 T28 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  T4_0 = KUwildcard_loopUF198I(&KPempty_listVKi, T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  T4_3 = MV_GET_ELT(3);
  T4_4 = MV_GET_ELT(4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  failure_ = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  modsF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  nameF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  supersF8 = T4_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  keys_and_slotsF9 = T4_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  if (failure_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T24 = Kdylan_variable_nameVdfmc_readerI(IKJc_subtype_definer_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T25 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T24);
    T26 = T25;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    modsF10 = CONGRUENT_CALL1(modsF6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    nameF11 = CONGRUENT_CALL1(nameF7);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T12 = CONGRUENT_CALL1(supersF8);
    supersF13 = Ksupers_rewriterF194I(T12);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    keys_and_slotsF14 = CONGRUENT_CALL1(keys_and_slotsF9);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:647
    CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
    T15 = CONGRUENT_CALL0();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:647
    T16 = CALL1(&Klibrary_forms_dynamicQVdfmc_namespace, T15);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:647
    if (T16 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:647
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T21 = CONGRUENT_CALL1(form_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:647
      T28.vector_element_[0] = IKJsource_location_;
      T28.vector_element_[1] = T21;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:647
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      T22 = CONGRUENT_CALL2(&KLdynamic_ffi_definitionGVdfmc_c_ffi, &T28);
      T23 = T22;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:648
      T17_0 = CALL2(&Kparse_subtype_keys_and_slotsVdfmc_c_ffiMM0, nameF11, keys_and_slotsF14);
      T17_1 = MV_GET_ELT(1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:648
      keys_ = T17_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:648
      slots_ = T17_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:649
      T27.vector_element_[0] = form_;
      T27.vector_element_[1] = nameF11;
      T27.vector_element_[2] = supersF13;
      T27.vector_element_[3] = IKJmodifiers_;
      T27.vector_element_[4] = modsF10;
      T27.vector_element_[5] = &KJslots_;
      T27.vector_element_[6] = slots_;
      T27.vector_element_[7] = keys_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:649
      T20 = KapplyVKdI(&Kdo_define_c_mapped_subtypeVdfmc_c_ffiMM0, &T27);
      T23 = T20;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:647
    T26 = T23;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  return(T26);
}

dylan_value Kboxer_for_designator_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T8_3;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value type_exprF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value type_exprF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T20_3;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value failureF22;
  dylan_value UfT_afterUF23;
  dylan_value UfT_beforeUF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T25_3;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value failureF27;
  dylan_value UfTUF28;
  dylan_value raw_valueF29;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T31;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value T33_0;
  dylan_value T33_1;
  dylan_value T34_0;
  dylan_value T34_1;
  dylan_value failureF35;
  dylan_value raw_valueF36;
  dylan_value T37_0;
  dylan_value T37_1;
  dylan_value T37_2;
  dylan_value T37_3;
  dylan_value T38_0;
  dylan_value T38_1;
  dylan_value T38_2;
  dylan_value failureF39;
  dylan_value UfTUF40;
  dylan_value default_boxerF41;
  dylan_value T42_0;
  dylan_value T42_1;
  dylan_value T42_2;
  dylan_value T42_3;
  dylan_value T43;
  dylan_value T44_0;
  dylan_value T44_1;
  dylan_value T44_2;
  dylan_value T44_3;
  dylan_value T45_0;
  dylan_value T45_1;
  dylan_value T45_2;
  dylan_value T45_3;
  dylan_value T46_0;
  dylan_value T46_1;
  dylan_value T46_2;
  dylan_value T46_3;
  dylan_value T47_0;
  dylan_value T47_1;
  dylan_value T47_2;
  dylan_value T47_3;
  dylan_value T48_0;
  dylan_value T48_1;
  dylan_value T48_2;
  dylan_value T48_3;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value T49_2;
  dylan_value T49_3;
  dylan_value T50_0;
  dylan_value T50_1;
  dylan_value T50_2;
  dylan_value T50_3;
  dylan_value failureF51;
  dylan_value type_exprF52;
  dylan_value raw_valueF53;
  dylan_value default_boxerF54;
  dylan_value type_exprF55;
  dylan_value raw_valueF56;
  dylan_value default_boxerF57;
  dylan_value T58;
  dylan_value T59;
  dylan_value T60;
  dylan_value T61;
  dylan_value T62_0;
  dylan_value T62_1;
  dylan_value T63_0;
  dylan_value T63_1;
  dylan_value T64_0;
  dylan_value T64_1;
  dylan_value T64_2;
  dylan_value T64_3;
  dylan_value T65;
  dylan_value low_type_;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  UfT_afterUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  UfT_beforeUF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T50_0 = T8_0;
    T50_1 = T8_1;
    T50_2 = T8_2;
    T50_3 = T8_3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    T9_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    UfTUF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    type_exprF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T17_0 = T13_0;
      T17_1 = T13_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T14 = CONGRUENT_CALL1(UfTUF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      if (T14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        T62_0 = &KPfalseVKi;
        T62_1 = type_exprF12;
        T16_0 = T62_0;
        T16_1 = T62_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        T15_0 = &KPtrueVKi;
        T15_1 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      T17_0 = T16_0;
      T17_1 = T16_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    failureF18 = T17_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    type_exprF19 = T17_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    if (failureF18 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      T20_0 = failureF18;
      T20_1 = &KPfalseVKi;
      T20_2 = &KPfalseVKi;
      T20_3 = &KPfalseVKi;
      T49_0 = T20_0;
      T49_1 = T20_1;
      T49_2 = T20_2;
      T49_3 = T20_3;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      T21_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF6);
      T21_1 = MV_GET_ELT(1);
      T21_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      failureF22 = T21_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      UfT_afterUF23 = T21_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      UfT_beforeUF24 = T21_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      if (failureF22 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        T25_0 = failureF22;
        T25_1 = &KPfalseVKi;
        T25_2 = &KPfalseVKi;
        T25_3 = &KPfalseVKi;
        T48_0 = T25_0;
        T48_1 = T25_1;
        T48_2 = T25_2;
        T48_3 = T25_3;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        T26_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF24);
        T26_1 = MV_GET_ELT(1);
        T26_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        failureF27 = T26_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        UfTUF28 = T26_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        raw_valueF29 = T26_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        if (failureF27 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          T30_0 = failureF27;
          T30_1 = &KPfalseVKi;
          T34_0 = T30_0;
          T34_1 = T30_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
          T31 = CONGRUENT_CALL1(UfTUF28);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          if (T31 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
            T63_0 = &KPfalseVKi;
            T63_1 = raw_valueF29;
            T33_0 = T63_0;
            T33_1 = T63_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
            T32_0 = &KPtrueVKi;
            T32_1 = &KPfalseVKi;
            T33_0 = T32_0;
            T33_1 = T32_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          T34_0 = T33_0;
          T34_1 = T33_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        failureF35 = T34_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        raw_valueF36 = T34_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        if (failureF35 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          T37_0 = failureF35;
          T37_1 = &KPfalseVKi;
          T37_2 = &KPfalseVKi;
          T37_3 = &KPfalseVKi;
          T47_0 = T37_0;
          T47_1 = T37_1;
          T47_2 = T37_2;
          T47_3 = T37_3;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          T38_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_afterUF23);
          T38_1 = MV_GET_ELT(1);
          T38_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          failureF39 = T38_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          UfTUF40 = T38_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          default_boxerF41 = T38_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          if (failureF39 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
            T42_0 = failureF39;
            T42_1 = &KPfalseVKi;
            T42_2 = &KPfalseVKi;
            T42_3 = &KPfalseVKi;
            T46_0 = T42_0;
            T46_1 = T42_1;
            T46_2 = T42_2;
            T46_3 = T42_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T43 = CONGRUENT_CALL1(UfTUF40);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
            if (T43 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
              T64_0 = &KPfalseVKi;
              T64_1 = type_exprF19;
              T64_2 = raw_valueF36;
              T64_3 = default_boxerF41;
              T45_0 = T64_0;
              T45_1 = T64_1;
              T45_2 = T64_2;
              T45_3 = T64_3;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
              T44_0 = &KPtrueVKi;
              T44_1 = &KPfalseVKi;
              T44_2 = &KPfalseVKi;
              T44_3 = &KPfalseVKi;
              T45_0 = T44_0;
              T45_1 = T44_1;
              T45_2 = T44_2;
              T45_3 = T44_3;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
            T46_0 = T45_0;
            T46_1 = T45_1;
            T46_2 = T45_2;
            T46_3 = T45_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
          T47_0 = T46_0;
          T47_1 = T46_1;
          T47_2 = T46_2;
          T47_3 = T46_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
        T48_0 = T47_0;
        T48_1 = T47_1;
        T48_2 = T47_2;
        T48_3 = T47_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
      T49_0 = T48_0;
      T49_1 = T48_1;
      T49_2 = T48_2;
      T49_3 = T48_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    T50_0 = T49_0;
    T50_1 = T49_1;
    T50_2 = T49_2;
    T50_3 = T49_3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  failureF51 = T50_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  type_exprF52 = T50_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  raw_valueF53 = T50_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  default_boxerF54 = T50_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  if (failureF51 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    T59 = Kdylan_variable_nameVdfmc_readerI(IKJboxer_for_designator_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    T60 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T59);
    T61 = T60;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    type_exprF55 = CONGRUENT_CALL1(type_exprF52);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    raw_valueF56 = CONGRUENT_CALL1(raw_valueF53);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    default_boxerF57 = CONGRUENT_CALL1(default_boxerF54);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:702
    T65 = KCtop_level_eval_typeVdfmc_conversionMM0I(type_exprF55, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:702
    low_type_ = T65;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:703
    CONGRUENT_CALL_PROLOG(&Kboxer_expressionVdfmc_c_ffi, 4);
    T58 = CONGRUENT_CALL4(low_type_, type_exprF55, raw_valueF56, default_boxerF57);
    T61 = T58;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  return(T61);
}

dylan_value Kboxer_expressionVdfmc_c_ffiMM0I (dylan_value type_, dylan_value type_expr_, dylan_value raw_expr_, dylan_value default_boxer_) {
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16_0;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_7 T18 = {&KLsimple_object_vectorGVKdW, (dylan_value) 29};
  _KLsimple_object_vectorGVKd_3 T19 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:708
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmake_c_pointer_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T6 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_cast_pointer_as_raw_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T17.vector_element_[0] = raw_expr_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T8 = KlistVKdI(&T17);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T9 = Kmake_parens_fragmentVdfmc_macro_expanderI(T8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T10 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T11 = Kmake_hash_lbracket_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T12 = Kmake_rbracket_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T18.vector_element_[0] = type_expr_;
  T18.vector_element_[1] = T6;
  T18.vector_element_[2] = T7;
  T18.vector_element_[3] = T9;
  T18.vector_element_[4] = T10;
  T18.vector_element_[5] = T11;
  T18.vector_element_[6] = T12;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T13 = KlistVKdI(&T18);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T14 = Kmake_parens_fragmentVdfmc_macro_expanderI(T13);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T15 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T19.vector_element_[0] = T5;
  T19.vector_element_[1] = T14;
  T19.vector_element_[2] = T15;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:712
  T16_0 = Kmake_templateVdfmc_macro_expanderI(&T19);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:708
  MV_SET_COUNT(1);
  return(T16_0);
}

dylan_value Kboxer_expressionVdfmc_c_ffiMM1I (dylan_value type_, dylan_value type_expr_, dylan_value raw_expr_, dylan_value default_boxer_) {
  dylan_value T5;
  dylan_value T6;
  dylan_value T7_0;
  _KLsimple_object_vectorGVKd_1 T8 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T9 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:717
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:721
  T8.vector_element_[0] = raw_expr_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:721
  T5 = KlistVKdI(&T8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:721
  T6 = Kmake_parens_fragmentVdfmc_macro_expanderI(T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:721
  T9.vector_element_[0] = default_boxer_;
  T9.vector_element_[1] = T6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:721
  T7_0 = Kmake_templateVdfmc_macro_expanderI(&T9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:717
  MV_SET_COUNT(1);
  return(T7_0);
}

static dylan_value KUwildcard_loopUF198I (dylan_value UcollectorU_, dylan_value UfTU_) {
  dylan_value T2_0;
  dylan_value T2_1;
  dylan_value failureF3;
  dylan_value UfTUF4;
  dylan_value T5_0;
  dylan_value T5_1;
  dylan_value T5_2;
  dylan_value T5_3;
  dylan_value T5_4;
  dylan_value T6_0;
  dylan_value T6_1;
  dylan_value T6_2;
  dylan_value failureF7;
  dylan_value UfTUF8;
  dylan_value nameF9;
  dylan_value T10_0;
  dylan_value T10_1;
  dylan_value T10_2;
  dylan_value T10_3;
  dylan_value T10_4;
  dylan_value T11_0;
  dylan_value T11_1;
  dylan_value T11_2;
  dylan_value failureF12;
  dylan_value Uafter_fTU_;
  dylan_value Unested_fTU_;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T15_2;
  dylan_value T15_3;
  dylan_value T15_4;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T16_2;
  dylan_value T16_3;
  dylan_value T16_4;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value T17_2;
  dylan_value T17_3;
  dylan_value T17_4;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T18_3;
  dylan_value T18_4;
  dylan_value failureF19;
  dylan_value mods_;
  dylan_value nameF21;
  dylan_value supers_;
  dylan_value keys_and_slots_;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28;
  dylan_value T29;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T30_2;
  dylan_value T30_3;
  dylan_value T30_4;
  dylan_value T31;
  dylan_value T32;
  _KLsimple_object_vectorGVKd_1 T33 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T34 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T35;
  dylan_value T36;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  T2_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(UfTU_);
  T2_1 = MV_GET_ELT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  failureF3 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  UfTUF4 = T2_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T5_0 = failureF3;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T5_3 = &KPfalseVKi;
    T5_4 = &KPfalseVKi;
    T18_0 = T5_0;
    T18_1 = T5_1;
    T18_2 = T5_2;
    T18_3 = T5_3;
    T18_4 = T5_4;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T6_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF4);
    T6_1 = MV_GET_ELT(1);
    T6_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    failureF7 = T6_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    UfTUF8 = T6_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    nameF9 = T6_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    if (failureF7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T10_0 = failureF7;
      T10_1 = &KPfalseVKi;
      T10_2 = &KPfalseVKi;
      T10_3 = &KPfalseVKi;
      T10_4 = &KPfalseVKi;
      T17_0 = T10_0;
      T17_1 = T10_1;
      T17_2 = T10_2;
      T17_3 = T10_3;
      T17_4 = T10_4;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T11_0 = Kmatch_parensVdfmc_macro_expanderI(UfTUF8);
      T11_1 = MV_GET_ELT(1);
      T11_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      failureF12 = T11_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      Uafter_fTU_ = T11_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      Unested_fTU_ = T11_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      if (failureF12 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
        T15_0 = failureF12;
        T15_1 = &KPfalseVKi;
        T15_2 = &KPfalseVKi;
        T15_3 = &KPfalseVKi;
        T15_4 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
        T16_2 = T15_2;
        T16_3 = T15_3;
        T16_4 = T15_4;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
        T30_0 = &KPfalseVKi;
        T30_1 = UcollectorU_;
        T30_2 = nameF9;
        T30_3 = Unested_fTU_;
        T30_4 = Uafter_fTU_;
        T16_0 = T30_0;
        T16_1 = T30_1;
        T16_2 = T30_2;
        T16_3 = T30_3;
        T16_4 = T30_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T17_0 = T16_0;
      T17_1 = T16_1;
      T17_2 = T16_2;
      T17_3 = T16_3;
      T17_4 = T16_4;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T18_0 = T17_0;
    T18_1 = T17_1;
    T18_2 = T17_2;
    T18_3 = T17_3;
    T18_4 = T17_4;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  failureF19 = T18_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  mods_ = T18_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  nameF21 = T18_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  supers_ = T18_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  keys_and_slots_ = T18_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  if (failureF19 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T31 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    if (T31 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T24 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T28 = T24;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T32 = SLOT_VALUE_INITD(UfTU_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T33.vector_element_[0] = T32;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T25 = KlistVKdI(&T33);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T34.vector_element_[0] = T25;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T26 = CONGRUENT_CALL2(UcollectorU_, &T34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T35 = SLOT_VALUE_INITD(UfTU_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T27 = CALL2(&KUwildcard_loopUF198, T26, T35);
      T28 = T27;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T29 = T28;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T36 = failureF19;
    MV_SET_ELT(0, failureF19);
    MV_SET_ELT(1, mods_);
    MV_SET_ELT(2, nameF21);
    MV_SET_ELT(3, supers_);
    MV_SET_ELT(4, keys_and_slots_);
    MV_SET_COUNT(5);
    T29 = T36;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  return(T29);
}

static dylan_value Ksupers_rewriterF194I (dylan_value UfTU_) {
  dylan_value failureF2;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value superF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value superF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value T22_0;
  dylan_value T22_1;
  dylan_value T22_2;
  dylan_value failureF23;
  dylan_value superF24;
  dylan_value supersF25;
  dylan_value superF26;
  dylan_value T27;
  dylan_value supersF28;
  dylan_value T29;
  dylan_value T30;
  dylan_value T31;
  dylan_value T32;
  dylan_value T33;
  dylan_value T34_0;
  dylan_value T34_1;
  dylan_value T35_0;
  dylan_value T35_1;
  dylan_value T35_2;
  dylan_value T36;
  dylan_value T37_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  T33 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  if (T33 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T4_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    UfT_afterU_ = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    UfT_beforeU_ = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T22_0 = T8_0;
      T22_1 = T8_1;
      T22_2 = T8_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T9_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeU_);
      T9_1 = MV_GET_ELT(1);
      T9_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      failureF10 = T9_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      UfTUF11 = T9_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      superF12 = T9_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      if (failureF10 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
        T13_0 = failureF10;
        T13_1 = &KPfalseVKi;
        T17_0 = T13_0;
        T17_1 = T13_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T14 = CONGRUENT_CALL1(UfTUF11);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
        if (T14 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
          T34_0 = &KPfalseVKi;
          T34_1 = superF12;
          T16_0 = T34_0;
          T16_1 = T34_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
          T15_0 = &KPtrueVKi;
          T15_1 = &KPfalseVKi;
          T16_0 = T15_0;
          T16_1 = T15_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
        T17_0 = T16_0;
        T17_1 = T16_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      failureF18 = T17_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      superF19 = T17_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      if (failureF18 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
        T20_0 = failureF18;
        T20_1 = &KPfalseVKi;
        T20_2 = &KPfalseVKi;
        T21_0 = T20_0;
        T21_1 = T20_1;
        T21_2 = T20_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
        T35_0 = &KPfalseVKi;
        T35_1 = superF19;
        T35_2 = UfT_afterU_;
        T21_0 = T35_0;
        T21_1 = T35_1;
        T21_2 = T35_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T22_0 = T21_0;
      T22_1 = T21_1;
      T22_2 = T21_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    failureF23 = T22_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    superF24 = T22_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    supersF25 = T22_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    if (failureF23 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T29 = Kdylan_variable_nameVdfmc_readerI(IKJc_subtype_definer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      T30 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T29, IKJsupers_);
      T31 = T30;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      superF26 = CONGRUENT_CALL1(superF24);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T27 = CONGRUENT_CALL1(supersF25);
      supersF28 = Ksupers_rewriterF194I(T27);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:656
      T36 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:656
      SLOT_VALUE_SETTER(superF26, T36, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:656
      SLOT_VALUE_SETTER(supersF28, T36, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:656
      T37_0 = T36;
      T31 = T37_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
    T32 = T31;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:655
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T32 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  return(T32);
}

dylan_value Kparse_subtype_keys_and_slotsVdfmc_c_ffiMM0I (dylan_value name_, dylan_value keys_and_slots_) {
  dylan_value T3;
  dylan_value items_;
  dylan_value keys_;
  dylan_value slots_;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10_0;
  dylan_value T10_1;
  _KLsimple_object_vectorGVKd_1 T11 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T12_0;
  dylan_value T12_1;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:659
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
  CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(keys_and_slots_);
  items_ = Kitems_rewriterF170I(name_, T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:677
  keys_ = CALL1(&KheadVKd, items_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:678
  slots_ = CALL1(&KtailVKd, items_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:679
  T7 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:679
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T8 = CONGRUENT_CALL2(slots_, T7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:679
  T11.vector_element_[0] = T8;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:679
  T9 = Kmake_templateVdfmc_macro_expanderI(&T11);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:679
  T12_0 = keys_;
  T12_1 = T9;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:659
  T10_0 = T12_0;
  T10_1 = T12_1;
  {
    MV_CHECK_TYPE_PROLOGUE(T12_0);
    primitive_type_check(T10_0, &KLsequenceGVKd);
    primitive_type_check(T10_1, &KLtemplateGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:659
  MV_SET_ELT(1, T10_1);
  MV_SET_COUNT(2);
  return(T10_0);
}

dylan_value Kdo_define_c_mapped_subtypeVdfmc_c_ffiMM0I (dylan_value form_, dylan_value name_, dylan_value supers_, dylan_value Urest_, dylan_value partial_import_function_, dylan_value partial_export_function_, dylan_value import_type_, dylan_value export_type_, dylan_value pointer_type_name_, dylan_value define_pointer_value_setter_, dylan_value c_name_, dylan_value slots_, dylan_value modifiers_) {
  dylan_value T14;
  dylan_value T15;
  dylan_value slotsF16;
  dylan_value T17;
  dylan_value T18;
  dylan_value modifiersF19;
  dylan_value T20;
  dylan_value abstract_pointer_type_;
  dylan_value concrete_pointer_type_;
  dylan_value T23;
  dylan_value import_function_name_;
  dylan_value T25;
  dylan_value export_function_name_;
  dylan_value T27;
  dylan_value definitionsF28;
  dylan_value T29;
  dylan_value T30;
  dylan_value T31;
  dylan_value T32;
  dylan_value T33;
  dylan_value T34;
  dylan_value T35;
  dylan_value T36;
  dylan_value T37;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40;
  dylan_value T41;
  dylan_value T42;
  dylan_value T43;
  dylan_value T44;
  dylan_value T45;
  dylan_value T46;
  dylan_value T47;
  dylan_value T48;
  dylan_value T49;
  dylan_value T50;
  dylan_value T51;
  dylan_value T52;
  dylan_value T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56;
  dylan_value T57;
  dylan_value T58;
  dylan_value T59;
  dylan_value T60;
  dylan_value T61;
  dylan_value T62;
  dylan_value T63;
  dylan_value T64;
  dylan_value T65;
  dylan_value T66;
  dylan_value T67;
  dylan_value T68;
  dylan_value T69;
  dylan_value T70;
  dylan_value T71;
  dylan_value T72;
  dylan_value T73;
  dylan_value T74;
  dylan_value T75;
  dylan_value T76;
  dylan_value T77;
  dylan_value T78;
  dylan_value T79;
  dylan_value T80;
  dylan_value T81;
  dylan_value T82;
  dylan_value T83;
  dylan_value T84;
  dylan_value T85;
  dylan_value T86;
  dylan_value T87;
  dylan_value T88;
  dylan_value T89;
  dylan_value T90;
  dylan_value T91_0;
  dylan_value T92_0;
  dylan_value definitionsF93;
  dylan_value T94;
  dylan_value T95;
  dylan_value T96;
  dylan_value T97;
  dylan_value T98;
  _KLsimple_object_vectorGVKd_2 T99 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T100 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T101 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T102 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_1 T103 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T104 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T105 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_3 T106 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};
  _KLsimple_object_vectorGVKd_1 T107 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T108 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_9 T109 = {&KLsimple_object_vectorGVKdW, (dylan_value) 37};
  dylan_value T110;
  _KLsimple_object_vectorGVKd_3 T111 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};
  _KLsimple_object_vectorGVKd_1 T112 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T113 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_1 T114 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T115 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_9 T116 = {&KLsimple_object_vectorGVKdW, (dylan_value) 37};
  dylan_value T117;
  _KLsimple_object_vectorGVKd_1 T118 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  T97 = primitive_idQ(slots_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  if (T97 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:385
    T14 = Kmake_templateVdfmc_macro_expanderI(&KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
    T15 = T14;
    slotsF16 = T15;
  } else {
    slotsF16 = slots_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  T98 = primitive_idQ(modifiers_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  if (T98 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:386
    T17 = Kmake_templateVdfmc_macro_expanderI(&KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
    T18 = T17;
    modifiersF19 = T18;
  } else {
    modifiersF19 = modifiers_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:390
  Kverify_mapped_subtype_optionsVdfmc_c_ffiMM0I(form_, name_, supers_, partial_import_function_, partial_export_function_, import_type_, export_type_, pointer_type_name_, define_pointer_value_setter_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:398
  if (pointer_type_name_ != &KPfalseVKi) {
    abstract_pointer_type_ = pointer_type_name_;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:398
    T99.vector_element_[0] = name_;
    T99.vector_element_[1] = &K114;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:398
    T20 = KgensymVdfmc_c_ffiMM0I(&T99);
    abstract_pointer_type_ = T20;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:398
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:400
  T100.vector_element_[0] = &K115;
  T100.vector_element_[1] = name_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:400
  concrete_pointer_type_ = KgensymVdfmc_c_ffiMM0I(&T100);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:402
  if (partial_import_function_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:403
    T101.vector_element_[0] = &K116;
    T101.vector_element_[1] = name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:403
    T23 = KgensymVdfmc_c_ffiMM0I(&T101);
    import_function_name_ = T23;
  } else {
    import_function_name_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:402
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:408
  if (partial_export_function_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:409
    T102.vector_element_[0] = &K117;
    T102.vector_element_[1] = name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:409
    T25 = KgensymVdfmc_c_ffiMM0I(&T102);
    export_function_name_ = T25;
  } else {
    export_function_name_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:408
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:414
  T27 = Kdo_simple_c_mapped_subtypeVdfmc_c_ffiMM0I(name_, modifiersF19, supers_, import_function_name_, export_function_name_, import_type_, export_type_, abstract_pointer_type_, concrete_pointer_type_, slotsF16);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:414
  T103.vector_element_[0] = T27;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:414
  definitionsF28 = KlistVKdI(&T103);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:414
  definitionsF93 = definitionsF28;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:419
  if (partial_import_function_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T29 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T30 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfunction_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T31 = CONGRUENT_CALL1(import_function_name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T32 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJarg_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T33 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T34 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlow_level_type_for_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T104.vector_element_[0] = name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T35 = KlistVKdI(&T104);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T36 = Kmake_parens_fragmentVdfmc_macro_expanderI(T35);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T105.vector_element_[0] = T32;
    T105.vector_element_[1] = T33;
    T105.vector_element_[2] = T34;
    T105.vector_element_[3] = T36;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T37 = KlistVKdI(&T105);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T38 = Kmake_parens_fragmentVdfmc_macro_expanderI(T37);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T39 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T40 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalue_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T41 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T42 = CONGRUENT_CALL1(import_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T106.vector_element_[0] = T40;
    T106.vector_element_[1] = T41;
    T106.vector_element_[2] = T42;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T43 = KlistVKdI(&T106);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T44 = Kmake_parens_fragmentVdfmc_macro_expanderI(T43);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T45 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJimport_function_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T46 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJarg_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T47 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T48 = CONGRUENT_CALL1(partial_import_function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T49 = CONGRUENT_CALL2(T47, T48);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T50 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T51 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T52 = CONGRUENT_CALL2(supers_, T51);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T107.vector_element_[0] = T52;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T53 = KlistVKdI(&T107);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T54 = Kmake_parens_fragmentVdfmc_macro_expanderI(T53);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T108.vector_element_[0] = T46;
    T108.vector_element_[1] = T49;
    T108.vector_element_[2] = T50;
    T108.vector_element_[3] = T54;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T55 = KlistVKdI(&T108);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T56 = Kmake_parens_fragmentVdfmc_macro_expanderI(T55);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T57 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T109.vector_element_[0] = T29;
    T109.vector_element_[1] = T30;
    T109.vector_element_[2] = T31;
    T109.vector_element_[3] = T38;
    T109.vector_element_[4] = T39;
    T109.vector_element_[5] = T44;
    T109.vector_element_[6] = T45;
    T109.vector_element_[7] = T56;
    T109.vector_element_[8] = T57;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T58 = Kmake_templateVdfmc_macro_expanderI(&T109);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T96 = definitionsF93;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    T110 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    SLOT_VALUE_SETTER(T58, T110, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:421
    SLOT_VALUE_SETTER(T96, T110, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:420
    definitionsF93 = T110;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:419
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:431
  if (partial_export_function_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T59 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T60 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfunction_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T61 = CONGRUENT_CALL1(export_function_name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T62 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJarg_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T63 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T64 = CONGRUENT_CALL1(export_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T111.vector_element_[0] = T62;
    T111.vector_element_[1] = T63;
    T111.vector_element_[2] = T64;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T65 = KlistVKdI(&T111);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T66 = Kmake_parens_fragmentVdfmc_macro_expanderI(T65);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T67 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T68 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalue_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T69 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T70 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlow_level_type_for_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T112.vector_element_[0] = name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T71 = KlistVKdI(&T112);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T72 = Kmake_parens_fragmentVdfmc_macro_expanderI(T71);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T113.vector_element_[0] = T68;
    T113.vector_element_[1] = T69;
    T113.vector_element_[2] = T70;
    T113.vector_element_[3] = T72;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T73 = KlistVKdI(&T113);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T74 = Kmake_parens_fragmentVdfmc_macro_expanderI(T73);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T75 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_function_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T76 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJarg_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T77 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T78 = CONGRUENT_CALL1(partial_export_function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T79 = CONGRUENT_CALL2(T77, T78);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T80 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T81 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T82 = CONGRUENT_CALL2(supers_, T81);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T114.vector_element_[0] = T82;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T83 = KlistVKdI(&T114);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T84 = Kmake_parens_fragmentVdfmc_macro_expanderI(T83);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T115.vector_element_[0] = T76;
    T115.vector_element_[1] = T79;
    T115.vector_element_[2] = T80;
    T115.vector_element_[3] = T84;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T85 = KlistVKdI(&T115);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T86 = Kmake_parens_fragmentVdfmc_macro_expanderI(T85);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T87 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T116.vector_element_[0] = T59;
    T116.vector_element_[1] = T60;
    T116.vector_element_[2] = T61;
    T116.vector_element_[3] = T66;
    T116.vector_element_[4] = T67;
    T116.vector_element_[5] = T74;
    T116.vector_element_[6] = T75;
    T116.vector_element_[7] = T86;
    T116.vector_element_[8] = T87;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T88 = Kmake_templateVdfmc_macro_expanderI(&T116);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T95 = definitionsF93;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    T117 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    SLOT_VALUE_SETTER(T88, T117, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:433
    SLOT_VALUE_SETTER(T95, T117, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:432
    definitionsF93 = T117;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:431
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:444
  T89 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:444
  T94 = definitionsF93;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:444
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T90 = CONGRUENT_CALL2(T94, T89);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:444
  T118.vector_element_[0] = T90;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:444
  T91_0 = Kmake_templateVdfmc_macro_expanderI(&T118);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  T92_0 = T91_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T91_0);
    primitive_type_check(T92_0, &KLtemplateGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:373
  MV_SET_COUNT(1);
  return(T92_0);
}

dylan_value Kverify_mapped_subtype_optionsVdfmc_c_ffiMM0I (dylan_value fragment_, dylan_value name_, dylan_value supers_, dylan_value partial_import_function_, dylan_value partial_export_function_, dylan_value import_type_, dylan_value export_type_, dylan_value pointer_type_name_, dylan_value define_pointer_value_setter_) {
  dylan_value T10;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:594
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:603
  T10 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:594
  MV_SET_COUNT(0);
  return(T10);
}

dylan_value Kdo_simple_c_mapped_subtypeVdfmc_c_ffiMM0I (dylan_value name_, dylan_value modifiers_, dylan_value supers_, dylan_value import_function_name_, dylan_value export_function_name_, dylan_value import_type_, dylan_value export_type_, dylan_value abstract_pointer_type_, dylan_value concrete_pointer_type_, dylan_value slots_) {
  dylan_value pointer_type_defns_;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28;
  dylan_value T29;
  dylan_value T30;
  dylan_value T31;
  dylan_value T32;
  dylan_value T33;
  dylan_value T34;
  dylan_value T35;
  dylan_value T36;
  dylan_value T37;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40;
  dylan_value T41;
  dylan_value T42;
  dylan_value T43;
  dylan_value T44;
  dylan_value T45;
  dylan_value T46;
  dylan_value T47;
  dylan_value T48;
  dylan_value T49;
  dylan_value T50;
  dylan_value T51;
  dylan_value pointer_value_def_;
  dylan_value T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56;
  dylan_value T57;
  dylan_value T58;
  dylan_value T59;
  dylan_value T60;
  dylan_value T61;
  dylan_value T62;
  dylan_value T63;
  dylan_value T64;
  dylan_value T65;
  dylan_value T66;
  dylan_value T67;
  dylan_value T68;
  dylan_value T69;
  dylan_value T70;
  dylan_value T71;
  dylan_value T72;
  dylan_value T73;
  dylan_value T74;
  dylan_value T75;
  dylan_value T76;
  dylan_value T77;
  dylan_value T78;
  dylan_value T79;
  dylan_value T80;
  dylan_value T81;
  dylan_value T82;
  dylan_value T83;
  dylan_value T84;
  dylan_value T85;
  dylan_value T86;
  dylan_value T87;
  dylan_value T88;
  dylan_value T89;
  dylan_value T90;
  dylan_value T91;
  dylan_value T92;
  dylan_value T93;
  dylan_value T94;
  dylan_value T95;
  dylan_value T96;
  dylan_value T97;
  dylan_value T98;
  dylan_value T99;
  dylan_value T100;
  dylan_value T101;
  dylan_value pointer_value_setter_def_;
  dylan_value T103;
  dylan_value T104;
  dylan_value T105;
  dylan_value T106;
  dylan_value T107;
  dylan_value T108;
  dylan_value T109;
  dylan_value T110;
  dylan_value T111;
  dylan_value T112;
  dylan_value T113;
  dylan_value T114;
  dylan_value T115;
  dylan_value T116;
  dylan_value T117;
  dylan_value T118;
  dylan_value T119;
  dylan_value T120;
  dylan_value T121;
  dylan_value T122;
  dylan_value T123;
  dylan_value T124;
  dylan_value T125;
  dylan_value T126;
  dylan_value T127;
  dylan_value T128;
  dylan_value T129;
  dylan_value T130;
  dylan_value T131;
  dylan_value T132;
  dylan_value T133;
  dylan_value T134;
  dylan_value T135;
  dylan_value T136;
  dylan_value T137;
  dylan_value T138;
  dylan_value T139_0;
  dylan_value T140;
  _KLsimple_object_vectorGVKd_10 T141 = {&KLsimple_object_vectorGVKdW, (dylan_value) 41};
  _KLsimple_object_vectorGVKd_1 T142 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T143 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_4 T144 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_13 T145 = {&KLsimple_object_vectorGVKdW, (dylan_value) 53};
  _KLsimple_object_vectorGVKd_1 T146 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T147;
  _KLsimple_object_vectorGVKd_15 T148 = {&KLsimple_object_vectorGVKdW, (dylan_value) 61};
  _KLsimple_object_vectorGVKd_1 T149 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T150 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_6 T151 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  _KLsimple_object_vectorGVKd_13 T152 = {&KLsimple_object_vectorGVKdW, (dylan_value) 53};
  _KLsimple_object_vectorGVKd_1 T153 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T154;
  dylan_value T155;
  dylan_value T156;
  dylan_value T157;
  dylan_value T158;
  dylan_value T159;
  dylan_value T160_0;
  dylan_value T161;
  dylan_value T162_0;
  _KLsimple_object_vectorGVKd_31 T163 = {&KLsimple_object_vectorGVKdW, (dylan_value) 125};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:320
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:326
  pointer_type_defns_ = Kcreate_automatic_c_pointer_definition_fragmentVdfmc_c_ffiMM0I(abstract_pointer_type_, name_, &KPempty_vectorVKi, &KPfalseVKi, concrete_pointer_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:335
  if (import_function_name_ != &KPfalseVKi) {
    T12 = import_function_name_;
  } else {
    T12 = import_type_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:335
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:335
  if (T12 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T13 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T15 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T16 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T17 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T18 = CONGRUENT_CALL1(abstract_pointer_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T19 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T20 = Kmake_hash_key_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T21 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJindex_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T22 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLintegerG_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T24 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T140 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((dylan_value) 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T141.vector_element_[0] = T16;
    T141.vector_element_[1] = T17;
    T141.vector_element_[2] = T18;
    T141.vector_element_[3] = T19;
    T141.vector_element_[4] = T20;
    T141.vector_element_[5] = T21;
    T141.vector_element_[6] = T22;
    T141.vector_element_[7] = T23;
    T141.vector_element_[8] = T24;
    T141.vector_element_[9] = T140;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T25 = KlistVKdI(&T141);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T26 = Kmake_parens_fragmentVdfmc_macro_expanderI(T25);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T27 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T28 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJv_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T29 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T30 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJimport_type_for_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T31 = CONGRUENT_CALL1(name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T142.vector_element_[0] = T31;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T32 = KlistVKdI(&T142);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T33 = Kmake_parens_fragmentVdfmc_macro_expanderI(T32);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T143.vector_element_[0] = T28;
    T143.vector_element_[1] = T29;
    T143.vector_element_[2] = T30;
    T143.vector_element_[3] = T33;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T34 = KlistVKdI(&T143);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T35 = Kmake_parens_fragmentVdfmc_macro_expanderI(T34);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T36 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T37 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T38 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T39 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T40 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJindex_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T41 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T42 = CONGRUENT_CALL1(abstract_pointer_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T43 = CONGRUENT_CALL2(T41, T42);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T144.vector_element_[0] = T38;
    T144.vector_element_[1] = T39;
    T144.vector_element_[2] = T40;
    T144.vector_element_[3] = T43;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T44 = KlistVKdI(&T144);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T45 = Kmake_parens_fragmentVdfmc_macro_expanderI(T44);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T46 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T47 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T48 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T49 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T145.vector_element_[0] = T13;
    T145.vector_element_[1] = T14;
    T145.vector_element_[2] = T15;
    T145.vector_element_[3] = T26;
    T145.vector_element_[4] = T27;
    T145.vector_element_[5] = T35;
    T145.vector_element_[6] = T36;
    T145.vector_element_[7] = T37;
    T145.vector_element_[8] = T45;
    T145.vector_element_[9] = T46;
    T145.vector_element_[10] = T47;
    T145.vector_element_[11] = T48;
    T145.vector_element_[12] = T49;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:336
    T50 = Kmake_templateVdfmc_macro_expanderI(&T145);
    pointer_value_def_ = T50;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:342
    T51 = Kmake_templateVdfmc_macro_expanderI(&KPempty_vectorVKi);
    pointer_value_def_ = T51;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:335
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:345
  if (export_function_name_ != &KPfalseVKi) {
    T53 = export_function_name_;
  } else {
    T53 = export_type_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:345
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:345
  if (T53 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T54 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T55 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T56 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_setter_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T57 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnew_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T58 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T59 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T60 = CONGRUENT_CALL1(name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T146.vector_element_[0] = T60;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T61 = KlistVKdI(&T146);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T62 = Kmake_parens_fragmentVdfmc_macro_expanderI(T61);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T63 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T64 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T65 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T66 = CONGRUENT_CALL1(abstract_pointer_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T67 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T68 = Kmake_hash_key_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T69 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJindex_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T70 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T71 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLintegerG_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T72 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T147 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((dylan_value) 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T148.vector_element_[0] = T57;
    T148.vector_element_[1] = T58;
    T148.vector_element_[2] = T59;
    T148.vector_element_[3] = T62;
    T148.vector_element_[4] = T63;
    T148.vector_element_[5] = T64;
    T148.vector_element_[6] = T65;
    T148.vector_element_[7] = T66;
    T148.vector_element_[8] = T67;
    T148.vector_element_[9] = T68;
    T148.vector_element_[10] = T69;
    T148.vector_element_[11] = T70;
    T148.vector_element_[12] = T71;
    T148.vector_element_[13] = T72;
    T148.vector_element_[14] = T147;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T73 = KlistVKdI(&T148);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T74 = Kmake_parens_fragmentVdfmc_macro_expanderI(T73);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T75 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T76 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJv_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T77 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T79 = CONGRUENT_CALL1(name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T149.vector_element_[0] = T79;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T80 = KlistVKdI(&T149);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T81 = Kmake_parens_fragmentVdfmc_macro_expanderI(T80);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T150.vector_element_[0] = T76;
    T150.vector_element_[1] = T77;
    T150.vector_element_[2] = T78;
    T150.vector_element_[3] = T81;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T82 = KlistVKdI(&T150);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T83 = Kmake_parens_fragmentVdfmc_macro_expanderI(T82);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T84 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T85 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_setter_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T86 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnew_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T87 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T88 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T89 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T90 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJindex_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T91 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T92 = CONGRUENT_CALL1(abstract_pointer_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T93 = CONGRUENT_CALL2(T91, T92);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T151.vector_element_[0] = T86;
    T151.vector_element_[1] = T87;
    T151.vector_element_[2] = T88;
    T151.vector_element_[3] = T89;
    T151.vector_element_[4] = T90;
    T151.vector_element_[5] = T93;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T94 = KlistVKdI(&T151);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T95 = Kmake_parens_fragmentVdfmc_macro_expanderI(T94);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T96 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T97 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T98 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T99 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_setter_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T152.vector_element_[0] = T54;
    T152.vector_element_[1] = T55;
    T152.vector_element_[2] = T56;
    T152.vector_element_[3] = T74;
    T152.vector_element_[4] = T75;
    T152.vector_element_[5] = T83;
    T152.vector_element_[6] = T84;
    T152.vector_element_[7] = T85;
    T152.vector_element_[8] = T95;
    T152.vector_element_[9] = T96;
    T152.vector_element_[10] = T97;
    T152.vector_element_[11] = T98;
    T152.vector_element_[12] = T99;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:346
    T100 = Kmake_templateVdfmc_macro_expanderI(&T152);
    pointer_value_setter_def_ = T100;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:354
    T101 = Kmake_templateVdfmc_macro_expanderI(&KPempty_vectorVKi);
    pointer_value_setter_def_ = T101;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:345
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T103 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T104 = CONGRUENT_CALL1(modifiers_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T105 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJclass_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T106 = CONGRUENT_CALL1(name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T107 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T108 = CONGRUENT_CALL2(supers_, T107);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T153.vector_element_[0] = T108;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T109 = KlistVKdI(&T153);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T110 = Kmake_parens_fragmentVdfmc_macro_expanderI(T109);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T111 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmetaclass_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T112 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_mapped_designator_classG_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T113 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T154 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJimport_function_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T114 = CONGRUENT_CALL1(import_function_name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T115 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T155 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJexport_function_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T116 = CONGRUENT_CALL1(export_function_name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T117 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T156 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJmapped_import_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T118 = CONGRUENT_CALL1(import_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T119 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T157 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJmapped_export_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T120 = CONGRUENT_CALL1(export_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T121 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T158 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJpointer_type_name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T122 = CONGRUENT_CALL1(abstract_pointer_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T123 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T159 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJself_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T124 = CONGRUENT_CALL1(name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T125 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T126 = CONGRUENT_CALL1(slots_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T127 = CONGRUENT_CALL2(T125, T126);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T128 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T129 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T130 = CONGRUENT_CALL2(T129, pointer_type_defns_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T131 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T132 = CONGRUENT_CALL1(pointer_value_def_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T133 = CONGRUENT_CALL2(T131, T132);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T134 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T135 = CONGRUENT_CALL1(pointer_value_setter_def_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T136 = CONGRUENT_CALL2(T134, T135);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T137 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T162_0 = Kmake_literal_fragmentVdfmc_macro_expanderMM6I(&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T160_0 = T162_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T162_0);
    primitive_type_check(T160_0, &KLfragmentGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T161 = T160_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T138 = CONGRUENT_CALL2(T137, T161);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T163.vector_element_[0] = T103;
  T163.vector_element_[1] = T104;
  T163.vector_element_[2] = T105;
  T163.vector_element_[3] = T106;
  T163.vector_element_[4] = T110;
  T163.vector_element_[5] = T111;
  T163.vector_element_[6] = T112;
  T163.vector_element_[7] = T113;
  T163.vector_element_[8] = T154;
  T163.vector_element_[9] = T114;
  T163.vector_element_[10] = T115;
  T163.vector_element_[11] = T155;
  T163.vector_element_[12] = T116;
  T163.vector_element_[13] = T117;
  T163.vector_element_[14] = T156;
  T163.vector_element_[15] = T118;
  T163.vector_element_[16] = T119;
  T163.vector_element_[17] = T157;
  T163.vector_element_[18] = T120;
  T163.vector_element_[19] = T121;
  T163.vector_element_[20] = T158;
  T163.vector_element_[21] = T122;
  T163.vector_element_[22] = T123;
  T163.vector_element_[23] = T159;
  T163.vector_element_[24] = T124;
  T163.vector_element_[25] = T127;
  T163.vector_element_[26] = T128;
  T163.vector_element_[27] = T130;
  T163.vector_element_[28] = T133;
  T163.vector_element_[29] = T136;
  T163.vector_element_[30] = T138;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:356
  T139_0 = Kmake_templateVdfmc_macro_expanderI(&T163);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:320
  MV_SET_COUNT(1);
  return(T139_0);
}

static dylan_value Kitems_rewriterF170I (dylan_value name_, dylan_value UfTU_) {
  dylan_value failureF3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value itemF11;
  dylan_value itemsF12;
  dylan_value itemF13;
  dylan_value T14;
  dylan_value itemsF15;
  dylan_value key_;
  dylan_value slot_;
  dylan_value other_keys_;
  dylan_value other_slots_;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26_0;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T27_2;
  dylan_value T28;
  dylan_value T29_0;
  dylan_value T29_1;
  dylan_value T29_2;
  dylan_value failureF30;
  dylan_value modifiersF31;
  dylan_value stuffF32;
  dylan_value T33;
  dylan_value T34;
  dylan_value T35;
  dylan_value T36_0;
  dylan_value T36_1;
  _KLsimple_object_vectorGVKd_1 T37 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T38_0;
  dylan_value T38_1;
  dylan_value options_;
  _KLsimple_object_vectorGVKd_3 T40 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};
  dylan_value T41_0;
  dylan_value T41_1;
  dylan_value T42_0;
  dylan_value T42_1;
  dylan_value T43;
  _KLsimple_object_vectorGVKd_1 T44 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T45_0;
  dylan_value T46;
  _KLsimple_object_vectorGVKd_1 T47 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T48_0;
  dylan_value T49;
  dylan_value T50_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
  T24 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
  if (T24 != &KPfalseVKi) {
    failureF3 = &KPfalseVKi;
  } else {
    failureF3 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    T4_0 = Kmatch_body_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    UfT_afterU_ = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    UfT_beforeU_ = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
      T27_0 = &KPfalseVKi;
      T27_1 = UfT_beforeU_;
      T27_2 = UfT_afterU_;
      T9_0 = T27_0;
      T9_1 = T27_1;
      T9_2 = T27_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    itemF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    itemsF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
      T20 = Kdylan_variable_nameVdfmc_readerI(IKJmacro_case_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
      T21 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T20, IKJitems_);
      T22 = T21;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      itemF13 = CONGRUENT_CALL1(itemF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(itemsF12);
      itemsF15 = Kitems_rewriterF170I(name_, T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T28 = CONGRUENT_CALL1(itemF13);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      T29_0 = KUwildcard_loopUF185I(&KPempty_listVKi, T28);
      T29_1 = MV_GET_ELT(1);
      T29_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      failureF30 = T29_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      modifiersF31 = T29_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      stuffF32 = T29_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      if (failureF30 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
        options_ = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(T28);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:669
        T34 = Kparse_optionsVdfmc_definitionsMM0I(Dc_subtype_optionsVdfmc_c_ffi, options_, name_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:668
        T40.vector_element_[0] = name_;
        T40.vector_element_[1] = options_;
        T40.vector_element_[2] = T34;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:668
        T35 = KapplyVKdI(&Kprocess_c_subtype_optionsVdfmc_c_ffi, &T40);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:668
        T41_0 = T35;
        T41_1 = &KPempty_listVKi;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:668
        T42_0 = T41_0;
        T42_1 = T41_1;
        {
          MV_CHECK_TYPE_PROLOGUE(T41_0);
          primitive_type_check(T42_0, &KLlistGVKd);
          primitive_type_check(T42_1, &KLlistGVKd);
          MV_CHECK_TYPE_EPILOGUE();
        }
        T36_0 = T42_0;
        T36_1 = T42_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        CONGRUENT_CALL1(modifiersF31);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        CONGRUENT_CALL1(stuffF32);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:666
        T37.vector_element_[0] = itemF13;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:666
        T33 = KlistVKdI(&T37);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:666
        T38_0 = &KPempty_listVKi;
        T38_1 = T33;
        T36_0 = T38_0;
        T36_1 = T38_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:685
      key_ = T36_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:685
      slot_ = T36_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:686
      other_keys_ = CALL1(&KheadVKd, itemsF15);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:687
      other_slots_ = CALL1(&KtailVKd, itemsF15);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      T44.vector_element_[0] = other_keys_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      T45_0 = Kconcatenate_asVKdMM4I(&KLlistGVKd, key_, &T44);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      T43 = T45_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      T47.vector_element_[0] = other_slots_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      T48_0 = Kconcatenate_asVKdMM4I(&KLlistGVKd, slot_, &T47);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      T46 = T48_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      T49 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      SLOT_VALUE_SETTER(T43, T49, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      SLOT_VALUE_SETTER(T46, T49, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:688
      T50_0 = T49;
      T22 = T50_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
    T23 = T22;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:682
    T25 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:682
    SLOT_VALUE_SETTER(&KPempty_listVKi, T25, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:682
    SLOT_VALUE_SETTER(&KPempty_listVKi, T25, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:682
    T26_0 = T25;
    T23 = T26_0;
    MV_SET_COUNT(1);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:674
  return(T23);
}

static dylan_value KUwildcard_loopUF185I (dylan_value UcollectorU_, dylan_value UfTU_) {
  dylan_value T2_0;
  dylan_value T2_1;
  dylan_value failureF3;
  dylan_value UfTUF4;
  dylan_value T5_0;
  dylan_value T5_1;
  dylan_value T5_2;
  dylan_value T6_0;
  dylan_value T6_1;
  dylan_value T6_2;
  dylan_value failureF7;
  dylan_value modifiers_;
  dylan_value stuff_;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T16_2;
  dylan_value T17;
  dylan_value T18;
  _KLsimple_object_vectorGVKd_1 T19 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T20 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T21;
  dylan_value T22;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  T2_0 = Kmatch_nameVdfmc_macro_expanderI(UfTU_, IKJslot_);
  T2_1 = MV_GET_ELT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  failureF3 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  UfTUF4 = T2_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
    T5_0 = failureF3;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T6_0 = T5_0;
    T6_1 = T5_1;
    T6_2 = T5_2;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
    T16_0 = &KPfalseVKi;
    T16_1 = UcollectorU_;
    T16_2 = UfTUF4;
    T6_0 = T16_0;
    T6_1 = T16_1;
    T6_2 = T16_2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  failureF7 = T6_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  modifiers_ = T6_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  stuff_ = T6_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  if (failureF7 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
    T17 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
    if (T17 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      T10 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T14 = T10;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      T18 = SLOT_VALUE_INITD(UfTU_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      T19.vector_element_[0] = T18;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      T11 = KlistVKdI(&T19);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      T20.vector_element_[0] = T11;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T12 = CONGRUENT_CALL2(UcollectorU_, &T20);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      T21 = SLOT_VALUE_INITD(UfTU_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
      T13 = CALL2(&KUwildcard_loopUF185, T12, T21);
      T14 = T13;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
    T15 = T14;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
    T22 = failureF7;
    MV_SET_ELT(0, failureF7);
    MV_SET_ELT(1, modifiers_);
    MV_SET_ELT(2, stuff_);
    MV_SET_COUNT(3);
    T15 = T22;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:664
  return(T15);
}

dylan_value Kprocess_c_subtype_optionsVdfmc_c_ffiI (dylan_value name_, dylan_value clause_, dylan_value Urest_, dylan_value pointer_type_name_) {
  dylan_value T5;
  dylan_value pointer_type_nameF6;
  dylan_value T7;
  dylan_value T8_0;
  dylan_value T9;
  dylan_value T10_0;
  dylan_value T11_0;
  dylan_value T12_0;
  dylan_value T13_0;
  dylan_value T14;
  dylan_value T15;
  _KLsimple_object_vectorGVKd_2 T16 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_6 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:624
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:624
  T14 = primitive_idQ(pointer_type_name_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:624
  if (T14 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:624
    T5 = DunsuppliedYcommon_extensionsVcommon_dylan;
    pointer_type_nameF6 = T5;
  } else {
    pointer_type_nameF6 = pointer_type_name_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:624
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:627
  T15 = primitive_idQ(pointer_type_nameF6,DunsuppliedYcommon_extensionsVcommon_dylan);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:627
  if (T15 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:638
    T12_0 = &KPempty_listVKi;
    T13_0 = T12_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:628
    T7 = Kfragment_nameQVdfmc_c_ffiI(pointer_type_nameF6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:628
    if (T7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:629
      T16.vector_element_[0] = IKJpointer_type_name_;
      T16.vector_element_[1] = pointer_type_nameF6;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:629
      T8_0 = KlistVKdI(&T16);
      T11_0 = T8_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:632
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T9 = CONGRUENT_CALL1(pointer_type_nameF6);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:631
      T17.vector_element_[0] = IKJsource_location_;
      T17.vector_element_[1] = T9;
      T17.vector_element_[2] = IKJdefinition_name_;
      T17.vector_element_[3] = name_;
      T17.vector_element_[4] = IKJpointer_type_name_expression_;
      T17.vector_element_[5] = pointer_type_nameF6;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:631
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLinvalid_pointer_type_name_valueGVdfmc_c_ffi, &T17);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:635
      T10_0 = &KPempty_listVKi;
      T11_0 = T10_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:628
    T13_0 = T11_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:627
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:624
  MV_SET_COUNT(1);
  return(T13_0);
}

static dylan_value Ksupers_rewriterF210I (dylan_value UfTU_) {
  dylan_value T1_0;
  dylan_value T1_1;
  dylan_value T1_2;
  dylan_value failureF2;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T5_0;
  dylan_value T5_1;
  dylan_value T5_2;
  dylan_value T6_0;
  dylan_value T6_1;
  dylan_value T6_2;
  dylan_value failureF7;
  dylan_value UfTUF8;
  dylan_value superF9;
  dylan_value T10_0;
  dylan_value T10_1;
  dylan_value T11;
  dylan_value T12_0;
  dylan_value T12_1;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14_0;
  dylan_value T14_1;
  dylan_value failureF15;
  dylan_value superF16;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value T17_2;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T19_0;
  dylan_value T19_1;
  dylan_value T19_2;
  dylan_value failureF20;
  dylan_value superF21;
  dylan_value supersF22;
  dylan_value superF23;
  dylan_value T24;
  dylan_value supersF25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28_0;
  dylan_value T28_1;
  dylan_value T29_0;
  dylan_value T29_1;
  dylan_value T29_2;
  dylan_value T30;
  dylan_value T31_0;
  dylan_value superF32;
  _KLsimple_object_vectorGVKd_1 T33 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  T1_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
  T1_1 = MV_GET_ELT(1);
  T1_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  failureF2 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  UfT_afterU_ = T1_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  UfT_beforeU_ = T1_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    T5_0 = failureF2;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T19_0 = T5_0;
    T19_1 = T5_1;
    T19_2 = T5_2;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    T6_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeU_);
    T6_1 = MV_GET_ELT(1);
    T6_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    failureF7 = T6_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    UfTUF8 = T6_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    superF9 = T6_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    if (failureF7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T10_0 = failureF7;
      T10_1 = &KPfalseVKi;
      T14_0 = T10_0;
      T14_1 = T10_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T11 = CONGRUENT_CALL1(UfTUF8);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      if (T11 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        T28_0 = &KPfalseVKi;
        T28_1 = superF9;
        T13_0 = T28_0;
        T13_1 = T28_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
        T12_0 = &KPtrueVKi;
        T12_1 = &KPfalseVKi;
        T13_0 = T12_0;
        T13_1 = T12_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T14_0 = T13_0;
      T14_1 = T13_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    failureF15 = T14_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    superF16 = T14_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    if (failureF15 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T17_0 = failureF15;
      T17_1 = &KPfalseVKi;
      T17_2 = &KPfalseVKi;
      T18_0 = T17_0;
      T18_1 = T17_1;
      T18_2 = T17_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
      T29_0 = &KPfalseVKi;
      T29_1 = superF16;
      T29_2 = UfT_afterU_;
      T18_0 = T29_0;
      T18_1 = T29_1;
      T18_2 = T29_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    T19_0 = T18_0;
    T19_1 = T18_1;
    T19_2 = T18_2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  failureF20 = T19_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  superF21 = T19_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  supersF22 = T19_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  if (failureF20 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    superF32 = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(UfTU_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:560
    T33.vector_element_[0] = superF32;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:560
    T26 = KlistVKdI(&T33);
    T27 = T26;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    superF23 = CONGRUENT_CALL1(superF21);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T24 = CONGRUENT_CALL1(supersF22);
    supersF25 = Ksupers_rewriterF210I(T24);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:559
    T30 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:559
    SLOT_VALUE_SETTER(superF23, T30, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:559
    SLOT_VALUE_SETTER(supersF25, T30, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:559
    T31_0 = T30;
    T27 = T31_0;
    MV_SET_COUNT(1);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  return(T27);
}

static dylan_value Ksupers_rewriterF213I (dylan_value UfTU_) {
  dylan_value T1_0;
  dylan_value T1_1;
  dylan_value T1_2;
  dylan_value failureF2;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T5_0;
  dylan_value T5_1;
  dylan_value T5_2;
  dylan_value T6_0;
  dylan_value T6_1;
  dylan_value T6_2;
  dylan_value failureF7;
  dylan_value UfTUF8;
  dylan_value superF9;
  dylan_value T10_0;
  dylan_value T10_1;
  dylan_value T11;
  dylan_value T12_0;
  dylan_value T12_1;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14_0;
  dylan_value T14_1;
  dylan_value failureF15;
  dylan_value superF16;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value T17_2;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T19_0;
  dylan_value T19_1;
  dylan_value T19_2;
  dylan_value failureF20;
  dylan_value superF21;
  dylan_value supersF22;
  dylan_value superF23;
  dylan_value T24;
  dylan_value supersF25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28_0;
  dylan_value T28_1;
  dylan_value T29_0;
  dylan_value T29_1;
  dylan_value T29_2;
  dylan_value T30;
  dylan_value T31_0;
  dylan_value superF32;
  _KLsimple_object_vectorGVKd_1 T33 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  T1_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
  T1_1 = MV_GET_ELT(1);
  T1_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  failureF2 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  UfT_afterU_ = T1_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  UfT_beforeU_ = T1_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    T5_0 = failureF2;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T19_0 = T5_0;
    T19_1 = T5_1;
    T19_2 = T5_2;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    T6_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeU_);
    T6_1 = MV_GET_ELT(1);
    T6_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    failureF7 = T6_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    UfTUF8 = T6_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    superF9 = T6_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    if (failureF7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T10_0 = failureF7;
      T10_1 = &KPfalseVKi;
      T14_0 = T10_0;
      T14_1 = T10_1;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T11 = CONGRUENT_CALL1(UfTUF8);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      if (T11 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        T28_0 = &KPfalseVKi;
        T28_1 = superF9;
        T13_0 = T28_0;
        T13_1 = T28_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
        T12_0 = &KPtrueVKi;
        T12_1 = &KPfalseVKi;
        T13_0 = T12_0;
        T13_1 = T12_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T14_0 = T13_0;
      T14_1 = T13_1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    failureF15 = T14_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    superF16 = T14_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    if (failureF15 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T17_0 = failureF15;
      T17_1 = &KPfalseVKi;
      T17_2 = &KPfalseVKi;
      T18_0 = T17_0;
      T18_1 = T17_1;
      T18_2 = T17_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
      T29_0 = &KPfalseVKi;
      T29_1 = superF16;
      T29_2 = UfT_afterU_;
      T18_0 = T29_0;
      T18_1 = T29_1;
      T18_2 = T29_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    T19_0 = T18_0;
    T19_1 = T18_1;
    T19_2 = T18_2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  failureF20 = T19_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  superF21 = T19_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  supersF22 = T19_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  if (failureF20 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    superF32 = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(UfTU_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:530
    T33.vector_element_[0] = superF32;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:530
    T26 = KlistVKdI(&T33);
    T27 = T26;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    superF23 = CONGRUENT_CALL1(superF21);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T24 = CONGRUENT_CALL1(supersF22);
    supersF25 = Ksupers_rewriterF213I(T24);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:529
    T30 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:529
    SLOT_VALUE_SETTER(superF23, T30, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:529
    SLOT_VALUE_SETTER(supersF25, T30, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:529
    T31_0 = T30;
    T27 = T31_0;
    MV_SET_COUNT(1);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  return(T27);
}

static dylan_value Kanonymous_of_simple_c_mapped_subtype_definer_expanderF257I (dylan_value Urest_, dylan_value import_function_, dylan_value export_function_, dylan_value import_type_, dylan_value export_type_, dylan_value pointer_type_name_) {
  dylan_value T7;
  dylan_value concrete_pointer_type_;
  dylan_value T9;
  dylan_value T10_0;
  dylan_value pointer_type_nameF11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  _KLsimple_object_vectorGVKd_2 T15 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T16 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  CAPTURE_KEYWORD_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:279
  pointer_type_nameF11 = pointer_type_name_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:282
  T14 = pointer_type_nameF11;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:282
  if (T14 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:283
    T15.vector_element_[0] = &K258;
    T15.vector_element_[1] = CREF(1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:283
    T7 = KgensymVdfmc_c_ffiMM0I(&T15);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:283
    pointer_type_nameF11 = T7;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:282
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:286
  T13 = pointer_type_nameF11;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:286
  T16.vector_element_[0] = &K259;
  T16.vector_element_[1] = T13;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:286
  concrete_pointer_type_ = KgensymVdfmc_c_ffiMM0I(&T16);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:290
  T9 = Kmake_templateVdfmc_macro_expanderI(&KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:287
  T12 = pointer_type_nameF11;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:287
  T10_0 = Kdo_simple_c_mapped_subtypeVdfmc_c_ffiMM0I(CREF(1), CREF(2), CREF(0), import_function_, export_function_, import_type_, export_type_, T12, concrete_pointer_type_, T9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:279
  MV_SET_COUNT(1);
  return(T10_0);
}

static dylan_value KUwildcard_loopUF256I (dylan_value UcollectorU_, dylan_value UfTU_) {
  dylan_value T2_0;
  dylan_value T2_1;
  dylan_value failureF3;
  dylan_value UfTUF4;
  dylan_value T5_0;
  dylan_value T5_1;
  dylan_value T5_2;
  dylan_value T5_3;
  dylan_value T5_4;
  dylan_value T6_0;
  dylan_value T6_1;
  dylan_value T6_2;
  dylan_value failureF7;
  dylan_value UfTUF8;
  dylan_value nameF9;
  dylan_value T10_0;
  dylan_value T10_1;
  dylan_value T10_2;
  dylan_value T10_3;
  dylan_value T10_4;
  dylan_value T11_0;
  dylan_value T11_1;
  dylan_value T11_2;
  dylan_value failureF12;
  dylan_value Uafter_fTU_;
  dylan_value Unested_fTU_;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T15_2;
  dylan_value T15_3;
  dylan_value T15_4;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T16_2;
  dylan_value T16_3;
  dylan_value T16_4;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value T17_2;
  dylan_value T17_3;
  dylan_value T17_4;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T18_3;
  dylan_value T18_4;
  dylan_value failureF19;
  dylan_value mods_;
  dylan_value nameF21;
  dylan_value supers_;
  dylan_value specs_;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28;
  dylan_value T29;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T30_2;
  dylan_value T30_3;
  dylan_value T30_4;
  dylan_value T31;
  dylan_value T32;
  _KLsimple_object_vectorGVKd_1 T33 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T34 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T35;
  dylan_value T36;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  T2_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(UfTU_);
  T2_1 = MV_GET_ELT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  failureF3 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  UfTUF4 = T2_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T5_0 = failureF3;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T5_3 = &KPfalseVKi;
    T5_4 = &KPfalseVKi;
    T18_0 = T5_0;
    T18_1 = T5_1;
    T18_2 = T5_2;
    T18_3 = T5_3;
    T18_4 = T5_4;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T6_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF4);
    T6_1 = MV_GET_ELT(1);
    T6_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    failureF7 = T6_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    UfTUF8 = T6_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    nameF9 = T6_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    if (failureF7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T10_0 = failureF7;
      T10_1 = &KPfalseVKi;
      T10_2 = &KPfalseVKi;
      T10_3 = &KPfalseVKi;
      T10_4 = &KPfalseVKi;
      T17_0 = T10_0;
      T17_1 = T10_1;
      T17_2 = T10_2;
      T17_3 = T10_3;
      T17_4 = T10_4;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T11_0 = Kmatch_parensVdfmc_macro_expanderI(UfTUF8);
      T11_1 = MV_GET_ELT(1);
      T11_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      failureF12 = T11_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      Uafter_fTU_ = T11_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      Unested_fTU_ = T11_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      if (failureF12 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        T15_0 = failureF12;
        T15_1 = &KPfalseVKi;
        T15_2 = &KPfalseVKi;
        T15_3 = &KPfalseVKi;
        T15_4 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
        T16_2 = T15_2;
        T16_3 = T15_3;
        T16_4 = T15_4;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        T30_0 = &KPfalseVKi;
        T30_1 = UcollectorU_;
        T30_2 = nameF9;
        T30_3 = Unested_fTU_;
        T30_4 = Uafter_fTU_;
        T16_0 = T30_0;
        T16_1 = T30_1;
        T16_2 = T30_2;
        T16_3 = T30_3;
        T16_4 = T30_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T17_0 = T16_0;
      T17_1 = T16_1;
      T17_2 = T16_2;
      T17_3 = T16_3;
      T17_4 = T16_4;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T18_0 = T17_0;
    T18_1 = T17_1;
    T18_2 = T17_2;
    T18_3 = T17_3;
    T18_4 = T17_4;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  failureF19 = T18_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  mods_ = T18_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  nameF21 = T18_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  supers_ = T18_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  specs_ = T18_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  if (failureF19 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T31 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    if (T31 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T24 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T28 = T24;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T32 = SLOT_VALUE_INITD(UfTU_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T33.vector_element_[0] = T32;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T25 = KlistVKdI(&T33);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T34.vector_element_[0] = T25;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T26 = CONGRUENT_CALL2(UcollectorU_, &T34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T35 = SLOT_VALUE_INITD(UfTU_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T27 = CALL2(&KUwildcard_loopUF256, T26, T35);
      T28 = T27;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T29 = T28;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T36 = failureF19;
    MV_SET_ELT(0, failureF19);
    MV_SET_ELT(1, mods_);
    MV_SET_ELT(2, nameF21);
    MV_SET_ELT(3, supers_);
    MV_SET_ELT(4, specs_);
    MV_SET_COUNT(5);
    T29 = T36;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  return(T29);
}

static dylan_value Ksupers_rewriterF254I (dylan_value UfTU_) {
  dylan_value failureF2;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value eF11;
  dylan_value supersF12;
  dylan_value eF13;
  dylan_value T14;
  dylan_value supersF15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value T22;
  dylan_value T23_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T4_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    UfT_afterU_ = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    UfT_beforeU_ = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeU_;
      T21_2 = UfT_afterU_;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    eF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    supersF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJsimple_c_mapped_subtype_definer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJsupers_);
      T18 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      eF13 = CONGRUENT_CALL1(eF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(supersF12);
      supersF15 = Ksupers_rewriterF254I(T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:296
      T22 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:296
      SLOT_VALUE_SETTER(eF13, T22, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:296
      SLOT_VALUE_SETTER(supersF15, T22, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:296
      T23_0 = T22;
      T18 = T23_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T19 = T18;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:295
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  return(T19);
}

static dylan_value Kspecs_rewriterF235I (dylan_value UfTU_) {
  dylan_value failureF2;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value spec_;
  dylan_value specsF12;
  dylan_value T13;
  dylan_value T14;
  dylan_value specsF15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22_0;
  dylan_value T22_1;
  dylan_value T22_2;
  dylan_value T23_0;
  dylan_value T23_1;
  dylan_value T23_2;
  dylan_value failureF24;
  dylan_value UfT_afterUF25;
  dylan_value UfT_beforeUF26;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T27_2;
  dylan_value T27_3;
  dylan_value T28_0;
  dylan_value T28_1;
  dylan_value failureF29;
  dylan_value UfTUF30;
  dylan_value T31_0;
  dylan_value T31_1;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value T32_2;
  dylan_value failureF33;
  dylan_value UfTUF34;
  dylan_value map_typeF35;
  dylan_value T36_0;
  dylan_value T36_1;
  dylan_value T37;
  dylan_value T38_0;
  dylan_value T38_1;
  dylan_value T39_0;
  dylan_value T39_1;
  dylan_value T40_0;
  dylan_value T40_1;
  dylan_value T41_0;
  dylan_value T41_1;
  dylan_value failureF42;
  dylan_value map_typeF43;
  dylan_value T44_0;
  dylan_value T44_1;
  dylan_value T44_2;
  dylan_value T44_3;
  dylan_value T45_0;
  dylan_value T45_1;
  dylan_value T45_2;
  dylan_value T45_3;
  dylan_value T45_4;
  dylan_value failureF46;
  dylan_value UfTUF47;
  dylan_value import_functionF48;
  dylan_value export_functionF49;
  dylan_value T50_0;
  dylan_value T50_1;
  dylan_value T50_2;
  dylan_value T50_3;
  dylan_value T51;
  dylan_value T52_0;
  dylan_value T52_1;
  dylan_value T52_2;
  dylan_value T52_3;
  dylan_value T53_0;
  dylan_value T53_1;
  dylan_value T53_2;
  dylan_value T53_3;
  dylan_value T54_0;
  dylan_value T54_1;
  dylan_value T54_2;
  dylan_value T54_3;
  dylan_value T55_0;
  dylan_value T55_1;
  dylan_value T55_2;
  dylan_value T55_3;
  dylan_value T56_0;
  dylan_value T56_1;
  dylan_value T56_2;
  dylan_value T56_3;
  dylan_value failureF57;
  dylan_value map_typeF58;
  dylan_value import_functionF59;
  dylan_value export_functionF60;
  dylan_value map_typeF61;
  dylan_value import_functionF62;
  dylan_value export_functionF63;
  dylan_value T64;
  dylan_value T65_0;
  dylan_value T65_1;
  dylan_value T65_2;
  dylan_value failureF66;
  dylan_value UfT_afterUF67;
  dylan_value UfT_beforeUF68;
  dylan_value T69_0;
  dylan_value T69_1;
  dylan_value T69_2;
  dylan_value T70_0;
  dylan_value T70_1;
  dylan_value failureF71;
  dylan_value UfTUF72;
  dylan_value T73_0;
  dylan_value T73_1;
  dylan_value T74_0;
  dylan_value T74_1;
  dylan_value T74_2;
  dylan_value failureF75;
  dylan_value UfTUF76;
  dylan_value import_typeF77;
  dylan_value T78_0;
  dylan_value T78_1;
  dylan_value T79;
  dylan_value T80_0;
  dylan_value T80_1;
  dylan_value T81_0;
  dylan_value T81_1;
  dylan_value T82_0;
  dylan_value T82_1;
  dylan_value T83_0;
  dylan_value T83_1;
  dylan_value failureF84;
  dylan_value import_typeF85;
  dylan_value T86_0;
  dylan_value T86_1;
  dylan_value T86_2;
  dylan_value T87_0;
  dylan_value T87_1;
  dylan_value failureF88;
  dylan_value UfTUF89;
  dylan_value T90_0;
  dylan_value T90_1;
  dylan_value T90_2;
  dylan_value T91_0;
  dylan_value T91_1;
  dylan_value T91_2;
  dylan_value failureF92;
  dylan_value UfTUF93;
  dylan_value import_functionF94;
  dylan_value T95_0;
  dylan_value T95_1;
  dylan_value T95_2;
  dylan_value T96;
  dylan_value T97_0;
  dylan_value T97_1;
  dylan_value T97_2;
  dylan_value T98_0;
  dylan_value T98_1;
  dylan_value T98_2;
  dylan_value T99_0;
  dylan_value T99_1;
  dylan_value T99_2;
  dylan_value T100_0;
  dylan_value T100_1;
  dylan_value T100_2;
  dylan_value T101_0;
  dylan_value T101_1;
  dylan_value T101_2;
  dylan_value T102_0;
  dylan_value T102_1;
  dylan_value T102_2;
  dylan_value failureF103;
  dylan_value import_typeF104;
  dylan_value import_functionF105;
  dylan_value import_typeF106;
  dylan_value import_functionF107;
  dylan_value T108;
  dylan_value T109_0;
  dylan_value T109_1;
  dylan_value T109_2;
  dylan_value failureF110;
  dylan_value UfT_afterUF111;
  dylan_value UfT_beforeUF112;
  dylan_value T113_0;
  dylan_value T113_1;
  dylan_value T113_2;
  dylan_value T114_0;
  dylan_value T114_1;
  dylan_value failureF115;
  dylan_value UfTUF116;
  dylan_value T117_0;
  dylan_value T117_1;
  dylan_value T118_0;
  dylan_value T118_1;
  dylan_value T118_2;
  dylan_value failureF119;
  dylan_value UfTUF120;
  dylan_value export_typeF121;
  dylan_value T122_0;
  dylan_value T122_1;
  dylan_value T123;
  dylan_value T124_0;
  dylan_value T124_1;
  dylan_value T125_0;
  dylan_value T125_1;
  dylan_value T126_0;
  dylan_value T126_1;
  dylan_value T127_0;
  dylan_value T127_1;
  dylan_value failureF128;
  dylan_value export_typeF129;
  dylan_value T130_0;
  dylan_value T130_1;
  dylan_value T130_2;
  dylan_value T131_0;
  dylan_value T131_1;
  dylan_value failureF132;
  dylan_value UfTUF133;
  dylan_value T134_0;
  dylan_value T134_1;
  dylan_value T134_2;
  dylan_value T135_0;
  dylan_value T135_1;
  dylan_value T135_2;
  dylan_value failureF136;
  dylan_value UfTUF137;
  dylan_value export_functionF138;
  dylan_value T139_0;
  dylan_value T139_1;
  dylan_value T139_2;
  dylan_value T140;
  dylan_value T141_0;
  dylan_value T141_1;
  dylan_value T141_2;
  dylan_value T142_0;
  dylan_value T142_1;
  dylan_value T142_2;
  dylan_value T143_0;
  dylan_value T143_1;
  dylan_value T143_2;
  dylan_value T144_0;
  dylan_value T144_1;
  dylan_value T144_2;
  dylan_value T145_0;
  dylan_value T145_1;
  dylan_value T145_2;
  dylan_value T146_0;
  dylan_value T146_1;
  dylan_value T146_2;
  dylan_value failureF147;
  dylan_value export_typeF148;
  dylan_value export_functionF149;
  dylan_value export_typeF150;
  dylan_value export_functionF151;
  dylan_value T152;
  dylan_value T153_0;
  dylan_value T153_1;
  dylan_value failureF154;
  dylan_value UfTUF155;
  dylan_value T156_0;
  dylan_value T156_1;
  dylan_value T157_0;
  dylan_value T157_1;
  dylan_value T157_2;
  dylan_value failureF158;
  dylan_value UfTUF159;
  dylan_value pointer_type_nameF160;
  dylan_value T161_0;
  dylan_value T161_1;
  dylan_value T162_0;
  dylan_value T162_1;
  dylan_value T163_0;
  dylan_value T163_1;
  dylan_value T164_0;
  dylan_value T164_1;
  dylan_value T165_0;
  dylan_value T165_1;
  dylan_value failureF166;
  dylan_value pointer_type_nameF167;
  dylan_value pointer_type_nameF168;
  dylan_value T169;
  dylan_value T170;
  dylan_value T171;
  dylan_value T172_0;
  dylan_value T172_1;
  _KLsimple_object_vectorGVKd_6 T173 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T174_0;
  dylan_value T174_1;
  dylan_value T174_2;
  dylan_value T174_3;
  _KLsimple_object_vectorGVKd_8 T175 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  dylan_value T176_0;
  dylan_value T176_1;
  dylan_value T177_0;
  dylan_value T177_1;
  dylan_value T177_2;
  _KLsimple_object_vectorGVKd_4 T178 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T179_0;
  dylan_value T179_1;
  dylan_value T180_0;
  dylan_value T180_1;
  dylan_value T180_2;
  _KLsimple_object_vectorGVKd_4 T181 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T182;
  dylan_value T183_0;
  dylan_value T183_1;
  _KLsimple_object_vectorGVKd_2 T184 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T185;
  dylan_value T186;
  dylan_value T187;
  dylan_value T188;
  dylan_value T189;
  dylan_value T190;
  dylan_value T191;
  dylan_value T192;
  dylan_value T193;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  T21 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  if (T21 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T4_0 = Kmatch_body_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    UfT_afterUF6 = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    UfT_beforeUF7 = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T22_0 = &KPfalseVKi;
      T22_1 = UfT_beforeUF7;
      T22_2 = UfT_afterUF6;
      T9_0 = T22_0;
      T9_1 = T22_1;
      T9_2 = T22_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    spec_ = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    specsF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T17 = Kdylan_variable_nameVdfmc_readerI(IKJsimple_c_mapped_subtype_definer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T18 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T17, IKJspecs_);
      T19 = T18;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T13 = CONGRUENT_CALL1(spec_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      T23_0 = Kmatch_list_partVdfmc_macro_expanderI(T13);
      T23_1 = MV_GET_ELT(1);
      T23_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      failureF24 = T23_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      UfT_afterUF25 = T23_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      UfT_beforeUF26 = T23_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      if (failureF24 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        T27_0 = failureF24;
        T27_1 = &KPfalseVKi;
        T27_2 = &KPfalseVKi;
        T27_3 = &KPfalseVKi;
        T56_0 = T27_0;
        T56_1 = T27_1;
        T56_2 = T27_2;
        T56_3 = T27_3;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        T28_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF26, IKJmap_);
        T28_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        failureF29 = T28_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        UfTUF30 = T28_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        if (failureF29 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T31_0 = failureF29;
          T31_1 = &KPfalseVKi;
          T41_0 = T31_0;
          T41_1 = T31_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T32_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF30);
          T32_1 = MV_GET_ELT(1);
          T32_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          failureF33 = T32_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          UfTUF34 = T32_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          map_typeF35 = T32_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          if (failureF33 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T36_0 = failureF33;
            T36_1 = &KPfalseVKi;
            T40_0 = T36_0;
            T40_1 = T36_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T37 = CONGRUENT_CALL1(UfTUF34);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            if (T37 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T172_0 = &KPfalseVKi;
              T172_1 = map_typeF35;
              T39_0 = T172_0;
              T39_1 = T172_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T38_0 = &KPtrueVKi;
              T38_1 = &KPfalseVKi;
              T39_0 = T38_0;
              T39_1 = T38_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T40_0 = T39_0;
            T40_1 = T39_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T41_0 = T40_0;
          T41_1 = T40_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        failureF42 = T41_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        map_typeF43 = T41_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        if (failureF42 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T44_0 = failureF42;
          T44_1 = &KPfalseVKi;
          T44_2 = &KPfalseVKi;
          T44_3 = &KPfalseVKi;
          T55_0 = T44_0;
          T55_1 = T44_1;
          T55_2 = T44_2;
          T55_3 = T44_3;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T173.vector_element_[0] = IKJimport_function_;
          T173.vector_element_[1] = IKJexpression_;
          T173.vector_element_[2] = &Kanonymous_of_simple_c_mapped_subtype_definer_expanderF251;
          T173.vector_element_[3] = IKJexport_function_;
          T173.vector_element_[4] = IKJexpression_;
          T173.vector_element_[5] = &Kanonymous_of_simple_c_mapped_subtype_definer_expanderF250;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T45_0 = Kmatch_property_listVdfmc_macro_expanderI(UfT_afterUF25, &KPfalseVKi, &T173);
          T45_1 = MV_GET_ELT(1);
          T45_2 = MV_GET_ELT(2);
          T45_3 = MV_GET_ELT(3);
          T45_4 = MV_GET_ELT(4);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          failureF46 = T45_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          UfTUF47 = T45_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          import_functionF48 = T45_3;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          export_functionF49 = T45_4;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          if (failureF46 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T50_0 = failureF46;
            T50_1 = &KPfalseVKi;
            T50_2 = &KPfalseVKi;
            T50_3 = &KPfalseVKi;
            T54_0 = T50_0;
            T54_1 = T50_1;
            T54_2 = T50_2;
            T54_3 = T50_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T51 = CONGRUENT_CALL1(UfTUF47);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            if (T51 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T174_0 = &KPfalseVKi;
              T174_1 = map_typeF43;
              T174_2 = import_functionF48;
              T174_3 = export_functionF49;
              T53_0 = T174_0;
              T53_1 = T174_1;
              T53_2 = T174_2;
              T53_3 = T174_3;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T52_0 = &KPtrueVKi;
              T52_1 = &KPfalseVKi;
              T52_2 = &KPfalseVKi;
              T52_3 = &KPfalseVKi;
              T53_0 = T52_0;
              T53_1 = T52_1;
              T53_2 = T52_2;
              T53_3 = T52_3;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T54_0 = T53_0;
            T54_1 = T53_1;
            T54_2 = T53_2;
            T54_3 = T53_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T55_0 = T54_0;
          T55_1 = T54_1;
          T55_2 = T54_2;
          T55_3 = T54_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        T56_0 = T55_0;
        T56_1 = T55_1;
        T56_2 = T55_2;
        T56_3 = T55_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      failureF57 = T56_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      map_typeF58 = T56_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      import_functionF59 = T56_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      export_functionF60 = T56_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      if (failureF57 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        T65_0 = Kmatch_list_partVdfmc_macro_expanderI(T13);
        T65_1 = MV_GET_ELT(1);
        T65_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        failureF66 = T65_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        UfT_afterUF67 = T65_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        UfT_beforeUF68 = T65_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        if (failureF66 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T69_0 = failureF66;
          T69_1 = &KPfalseVKi;
          T69_2 = &KPfalseVKi;
          T102_0 = T69_0;
          T102_1 = T69_1;
          T102_2 = T69_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T70_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF68, IKJimport_map_);
          T70_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          failureF71 = T70_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          UfTUF72 = T70_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          if (failureF71 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T73_0 = failureF71;
            T73_1 = &KPfalseVKi;
            T83_0 = T73_0;
            T83_1 = T73_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T74_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF72);
            T74_1 = MV_GET_ELT(1);
            T74_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            failureF75 = T74_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            UfTUF76 = T74_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            import_typeF77 = T74_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            if (failureF75 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T78_0 = failureF75;
              T78_1 = &KPfalseVKi;
              T82_0 = T78_0;
              T82_1 = T78_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
              T79 = CONGRUENT_CALL1(UfTUF76);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              if (T79 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T176_0 = &KPfalseVKi;
                T176_1 = import_typeF77;
                T81_0 = T176_0;
                T81_1 = T176_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T80_0 = &KPtrueVKi;
                T80_1 = &KPfalseVKi;
                T81_0 = T80_0;
                T81_1 = T80_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T82_0 = T81_0;
              T82_1 = T81_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T83_0 = T82_0;
            T83_1 = T82_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          failureF84 = T83_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          import_typeF85 = T83_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          if (failureF84 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T86_0 = failureF84;
            T86_1 = &KPfalseVKi;
            T86_2 = &KPfalseVKi;
            T101_0 = T86_0;
            T101_1 = T86_1;
            T101_2 = T86_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T87_0 = Kmatch_literalVdfmc_macro_expanderI(UfT_afterUF67, IKJimport_function_);
            T87_1 = MV_GET_ELT(1);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            failureF88 = T87_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            UfTUF89 = T87_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            if (failureF88 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T90_0 = failureF88;
              T90_1 = &KPfalseVKi;
              T90_2 = &KPfalseVKi;
              T100_0 = T90_0;
              T100_1 = T90_1;
              T100_2 = T90_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T91_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF89);
              T91_1 = MV_GET_ELT(1);
              T91_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              failureF92 = T91_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              UfTUF93 = T91_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              import_functionF94 = T91_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              if (failureF92 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T95_0 = failureF92;
                T95_1 = &KPfalseVKi;
                T95_2 = &KPfalseVKi;
                T99_0 = T95_0;
                T99_1 = T95_1;
                T99_2 = T95_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                T96 = CONGRUENT_CALL1(UfTUF93);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                if (T96 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  T177_0 = &KPfalseVKi;
                  T177_1 = import_typeF85;
                  T177_2 = import_functionF94;
                  T98_0 = T177_0;
                  T98_1 = T177_1;
                  T98_2 = T177_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  T97_0 = &KPtrueVKi;
                  T97_1 = &KPfalseVKi;
                  T97_2 = &KPfalseVKi;
                  T98_0 = T97_0;
                  T98_1 = T97_1;
                  T98_2 = T97_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T99_0 = T98_0;
                T99_1 = T98_1;
                T99_2 = T98_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T100_0 = T99_0;
              T100_1 = T99_1;
              T100_2 = T99_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T101_0 = T100_0;
            T101_1 = T100_1;
            T101_2 = T100_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T102_0 = T101_0;
          T102_1 = T101_1;
          T102_2 = T101_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        failureF103 = T102_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        import_typeF104 = T102_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        import_functionF105 = T102_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        if (failureF103 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T109_0 = Kmatch_list_partVdfmc_macro_expanderI(T13);
          T109_1 = MV_GET_ELT(1);
          T109_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          failureF110 = T109_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          UfT_afterUF111 = T109_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          UfT_beforeUF112 = T109_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          if (failureF110 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T113_0 = failureF110;
            T113_1 = &KPfalseVKi;
            T113_2 = &KPfalseVKi;
            T146_0 = T113_0;
            T146_1 = T113_1;
            T146_2 = T113_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T114_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF112, IKJexport_map_);
            T114_1 = MV_GET_ELT(1);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            failureF115 = T114_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            UfTUF116 = T114_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            if (failureF115 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T117_0 = failureF115;
              T117_1 = &KPfalseVKi;
              T127_0 = T117_0;
              T127_1 = T117_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T118_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF116);
              T118_1 = MV_GET_ELT(1);
              T118_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              failureF119 = T118_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              UfTUF120 = T118_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              export_typeF121 = T118_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              if (failureF119 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T122_0 = failureF119;
                T122_1 = &KPfalseVKi;
                T126_0 = T122_0;
                T126_1 = T122_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                T123 = CONGRUENT_CALL1(UfTUF120);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                if (T123 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  T179_0 = &KPfalseVKi;
                  T179_1 = export_typeF121;
                  T125_0 = T179_0;
                  T125_1 = T179_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  T124_0 = &KPtrueVKi;
                  T124_1 = &KPfalseVKi;
                  T125_0 = T124_0;
                  T125_1 = T124_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T126_0 = T125_0;
                T126_1 = T125_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T127_0 = T126_0;
              T127_1 = T126_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            failureF128 = T127_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            export_typeF129 = T127_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            if (failureF128 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T130_0 = failureF128;
              T130_1 = &KPfalseVKi;
              T130_2 = &KPfalseVKi;
              T145_0 = T130_0;
              T145_1 = T130_1;
              T145_2 = T130_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T131_0 = Kmatch_literalVdfmc_macro_expanderI(UfT_afterUF111, IKJexport_function_);
              T131_1 = MV_GET_ELT(1);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              failureF132 = T131_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              UfTUF133 = T131_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              if (failureF132 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T134_0 = failureF132;
                T134_1 = &KPfalseVKi;
                T134_2 = &KPfalseVKi;
                T144_0 = T134_0;
                T144_1 = T134_1;
                T144_2 = T134_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T135_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF133);
                T135_1 = MV_GET_ELT(1);
                T135_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                failureF136 = T135_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                UfTUF137 = T135_1;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                export_functionF138 = T135_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                if (failureF136 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  T139_0 = failureF136;
                  T139_1 = &KPfalseVKi;
                  T139_2 = &KPfalseVKi;
                  T143_0 = T139_0;
                  T143_1 = T139_1;
                  T143_2 = T139_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                  T140 = CONGRUENT_CALL1(UfTUF137);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  if (T140 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                    T180_0 = &KPfalseVKi;
                    T180_1 = export_typeF129;
                    T180_2 = export_functionF138;
                    T142_0 = T180_0;
                    T142_1 = T180_1;
                    T142_2 = T180_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                    T141_0 = &KPtrueVKi;
                    T141_1 = &KPfalseVKi;
                    T141_2 = &KPfalseVKi;
                    T142_0 = T141_0;
                    T142_1 = T141_1;
                    T142_2 = T141_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  T143_0 = T142_0;
                  T143_1 = T142_1;
                  T143_2 = T142_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T144_0 = T143_0;
                T144_1 = T143_1;
                T144_2 = T143_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T145_0 = T144_0;
              T145_1 = T144_1;
              T145_2 = T144_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T146_0 = T145_0;
            T146_1 = T145_1;
            T146_2 = T145_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          failureF147 = T146_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          export_typeF148 = T146_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          export_functionF149 = T146_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          if (failureF147 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T153_0 = Kmatch_nameVdfmc_macro_expanderI(T13, IKJpointer_type_);
            T153_1 = MV_GET_ELT(1);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            failureF154 = T153_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            UfTUF155 = T153_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            if (failureF154 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T156_0 = failureF154;
              T156_1 = &KPfalseVKi;
              T165_0 = T156_0;
              T165_1 = T156_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T157_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF155);
              T157_1 = MV_GET_ELT(1);
              T157_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              failureF158 = T157_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              UfTUF159 = T157_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              pointer_type_nameF160 = T157_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              if (failureF158 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T161_0 = failureF158;
                T161_1 = &KPfalseVKi;
                T164_0 = T161_0;
                T164_1 = T161_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T182 = primitive_idQ(UfTUF159,&KPempty_listVKi);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                if (T182 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  T183_0 = &KPfalseVKi;
                  T183_1 = pointer_type_nameF160;
                  T163_0 = T183_0;
                  T163_1 = T183_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                  T162_0 = &KPtrueVKi;
                  T162_1 = &KPfalseVKi;
                  T163_0 = T162_0;
                  T163_1 = T162_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
                T164_0 = T163_0;
                T164_1 = T163_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T165_0 = T164_0;
              T165_1 = T164_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            failureF166 = T165_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            pointer_type_nameF167 = T165_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            if (failureF166 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T170 = Kdylan_variable_nameVdfmc_readerI(IKJsimple_c_mapped_subtype_definer_);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              T171 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T13, T170, IKJspec_);
              T185 = T171;
              T187 = T185;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
              CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
              pointer_type_nameF168 = CONGRUENT_CALL1(pointer_type_nameF167);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:316
              T184.vector_element_[0] = IKJpointer_type_name_;
              T184.vector_element_[1] = pointer_type_nameF168;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:316
              T169 = KlistVKdI(&T184);
              T186 = T169;
              T187 = T186;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            T189 = T187;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
            export_typeF150 = CONGRUENT_CALL1(export_typeF148);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
            CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
            export_functionF151 = CONGRUENT_CALL1(export_functionF149);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:313
            T181.vector_element_[0] = IKJexport_function_;
            T181.vector_element_[1] = export_functionF151;
            T181.vector_element_[2] = IKJexport_type_;
            T181.vector_element_[3] = export_typeF150;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:313
            T152 = KlistVKdI(&T181);
            T188 = T152;
            T189 = T188;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          T191 = T189;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          import_typeF106 = CONGRUENT_CALL1(import_typeF104);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          import_functionF107 = CONGRUENT_CALL1(import_functionF105);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:309
          T178.vector_element_[0] = IKJimport_function_;
          T178.vector_element_[1] = import_functionF107;
          T178.vector_element_[2] = IKJimport_type_;
          T178.vector_element_[3] = import_typeF106;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:309
          T108 = KlistVKdI(&T178);
          T190 = T108;
          T191 = T190;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        T193 = T191;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        map_typeF61 = CONGRUENT_CALL1(map_typeF58);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        import_functionF62 = CONGRUENT_CALL1(import_functionF59);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        export_functionF63 = CONGRUENT_CALL1(export_functionF60);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:303
        T175.vector_element_[0] = IKJimport_function_;
        T175.vector_element_[1] = import_functionF62;
        T175.vector_element_[2] = IKJexport_function_;
        T175.vector_element_[3] = export_functionF63;
        T175.vector_element_[4] = IKJimport_type_;
        T175.vector_element_[5] = map_typeF61;
        T175.vector_element_[6] = IKJexport_type_;
        T175.vector_element_[7] = map_typeF61;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:303
        T64 = KlistVKdI(&T175);
        T192 = T64;
        T193 = T192;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(specsF12);
      specsF15 = Kspecs_rewriterF235I(T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:299
      T16 = CALL2(&KconcatenateVKd, T193, specsF15);
      T19 = T16;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
    T20 = T19;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:298
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T20 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  return(T20);
}

static dylan_value Kanonymous_of_simple_c_mapped_subtype_definer_expanderF251I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  T0 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  return(T0);
}

static dylan_value Kanonymous_of_simple_c_mapped_subtype_definer_expanderF250I () {
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  T0 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  return(T0);
}

static dylan_value KUwildcard_loopUF315I (dylan_value UcollectorU_, dylan_value UfTU_) {
  dylan_value T2_0;
  dylan_value T2_1;
  dylan_value failureF3;
  dylan_value UfTUF4;
  dylan_value T5_0;
  dylan_value T5_1;
  dylan_value T5_2;
  dylan_value T5_3;
  dylan_value T5_4;
  dylan_value T6_0;
  dylan_value T6_1;
  dylan_value T6_2;
  dylan_value failureF7;
  dylan_value UfTUF8;
  dylan_value nameF9;
  dylan_value T10_0;
  dylan_value T10_1;
  dylan_value T10_2;
  dylan_value T10_3;
  dylan_value T10_4;
  dylan_value T11_0;
  dylan_value T11_1;
  dylan_value T11_2;
  dylan_value failureF12;
  dylan_value Uafter_fTU_;
  dylan_value Unested_fTU_;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T15_2;
  dylan_value T15_3;
  dylan_value T15_4;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T16_2;
  dylan_value T16_3;
  dylan_value T16_4;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value T17_2;
  dylan_value T17_3;
  dylan_value T17_4;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T18_3;
  dylan_value T18_4;
  dylan_value failureF19;
  dylan_value mods_;
  dylan_value nameF21;
  dylan_value supers_;
  dylan_value specs_;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28;
  dylan_value T29;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T30_2;
  dylan_value T30_3;
  dylan_value T30_4;
  dylan_value T31;
  dylan_value T32;
  _KLsimple_object_vectorGVKd_1 T33 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T34 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T35;
  dylan_value T36;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  T2_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(UfTU_);
  T2_1 = MV_GET_ELT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  failureF3 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  UfTUF4 = T2_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T5_0 = failureF3;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T5_3 = &KPfalseVKi;
    T5_4 = &KPfalseVKi;
    T18_0 = T5_0;
    T18_1 = T5_1;
    T18_2 = T5_2;
    T18_3 = T5_3;
    T18_4 = T5_4;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T6_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF4);
    T6_1 = MV_GET_ELT(1);
    T6_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    failureF7 = T6_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    UfTUF8 = T6_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    nameF9 = T6_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    if (failureF7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T10_0 = failureF7;
      T10_1 = &KPfalseVKi;
      T10_2 = &KPfalseVKi;
      T10_3 = &KPfalseVKi;
      T10_4 = &KPfalseVKi;
      T17_0 = T10_0;
      T17_1 = T10_1;
      T17_2 = T10_2;
      T17_3 = T10_3;
      T17_4 = T10_4;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T11_0 = Kmatch_parensVdfmc_macro_expanderI(UfTUF8);
      T11_1 = MV_GET_ELT(1);
      T11_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      failureF12 = T11_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      Uafter_fTU_ = T11_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      Unested_fTU_ = T11_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      if (failureF12 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
        T15_0 = failureF12;
        T15_1 = &KPfalseVKi;
        T15_2 = &KPfalseVKi;
        T15_3 = &KPfalseVKi;
        T15_4 = &KPfalseVKi;
        T16_0 = T15_0;
        T16_1 = T15_1;
        T16_2 = T15_2;
        T16_3 = T15_3;
        T16_4 = T15_4;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
        T30_0 = &KPfalseVKi;
        T30_1 = UcollectorU_;
        T30_2 = nameF9;
        T30_3 = Unested_fTU_;
        T30_4 = Uafter_fTU_;
        T16_0 = T30_0;
        T16_1 = T30_1;
        T16_2 = T30_2;
        T16_3 = T30_3;
        T16_4 = T30_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T17_0 = T16_0;
      T17_1 = T16_1;
      T17_2 = T16_2;
      T17_3 = T16_3;
      T17_4 = T16_4;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T18_0 = T17_0;
    T18_1 = T17_1;
    T18_2 = T17_2;
    T18_3 = T17_3;
    T18_4 = T17_4;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  failureF19 = T18_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  mods_ = T18_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  nameF21 = T18_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  supers_ = T18_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  specs_ = T18_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  if (failureF19 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T31 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    if (T31 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T24 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T28 = T24;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T32 = SLOT_VALUE_INITD(UfTU_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T33.vector_element_[0] = T32;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T25 = KlistVKdI(&T33);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T34.vector_element_[0] = T25;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T26 = CONGRUENT_CALL2(UcollectorU_, &T34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T35 = SLOT_VALUE_INITD(UfTU_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T27 = CALL2(&KUwildcard_loopUF315, T26, T35);
      T28 = T27;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T29 = T28;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T36 = failureF19;
    MV_SET_ELT(0, failureF19);
    MV_SET_ELT(1, mods_);
    MV_SET_ELT(2, nameF21);
    MV_SET_ELT(3, supers_);
    MV_SET_ELT(4, specs_);
    MV_SET_COUNT(5);
    T29 = T36;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  return(T29);
}

static dylan_value Ksupers_rewriterF313I (dylan_value UfTU_) {
  dylan_value failureF2;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value eF11;
  dylan_value supersF12;
  dylan_value eF13;
  dylan_value T14;
  dylan_value supersF15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value T22;
  dylan_value T23_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T4_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    UfT_afterU_ = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    UfT_beforeU_ = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeU_;
      T21_2 = UfT_afterU_;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    eF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    supersF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJc_mapped_subtype_definer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJsupers_);
      T18 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      eF13 = CONGRUENT_CALL1(eF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(supersF12);
      supersF15 = Ksupers_rewriterF313I(T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:95
      T22 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:95
      SLOT_VALUE_SETTER(eF13, T22, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:95
      SLOT_VALUE_SETTER(supersF15, T22, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:95
      T23_0 = T22;
      T18 = T23_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T19 = T18;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:94
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  return(T19);
}

static dylan_value Kspecs_rewriterF312I (dylan_value UfTU_) {
  dylan_value failureF2;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value specF11;
  dylan_value specsF12;
  dylan_value specF13;
  dylan_value T14;
  dylan_value specsF15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value T22;
  dylan_value T23_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T4_0 = Kmatch_body_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    UfT_afterU_ = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    UfT_beforeU_ = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeU_;
      T21_2 = UfT_afterU_;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    specF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    specsF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJc_mapped_subtype_definer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJspecs_);
      T18 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      specF13 = CONGRUENT_CALL1(specF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(specsF12);
      specsF15 = Kspecs_rewriterF312I(T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:99
      T22 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:99
      SLOT_VALUE_SETTER(specF13, T22, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:99
      SLOT_VALUE_SETTER(specsF15, T22, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:99
      T23_0 = T22;
      T18 = T23_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
    T19 = T18;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:98
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  return(T19);
}

dylan_value Kparse_c_mapped_subtype_specsVdfmc_c_ffiMM0I (dylan_value form_, dylan_value name_, dylan_value specs_) {
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10T, T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14_0;
  dylan_value T14_1;
  dylan_value T14_2;
  dylan_value failureF15;
  dylan_value UfT_afterUF16;
  dylan_value UfT_beforeUF17;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T19_0;
  dylan_value T19_1;
  dylan_value failureF20;
  dylan_value UfTUF21;
  dylan_value T22_0;
  dylan_value T22_1;
  dylan_value T23_0;
  dylan_value T23_1;
  dylan_value T23_2;
  dylan_value failureF24;
  dylan_value UfTUF25;
  dylan_value map_typeF26;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T28;
  dylan_value T29_0;
  dylan_value T29_1;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T31_0;
  dylan_value T31_1;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value failureF33;
  dylan_value map_typeF34;
  dylan_value T35_0;
  dylan_value T35_1;
  dylan_value T35_2;
  dylan_value T36_0;
  dylan_value T36_1;
  dylan_value T36_2;
  dylan_value T37_0;
  dylan_value T37_1;
  dylan_value T37_2;
  dylan_value failureF38;
  dylan_value map_typeF39;
  dylan_value optionsF40;
  dylan_value map_typeF41;
  dylan_value optionsF42;
  dylan_value T43;
  dylan_value T44;
  dylan_value keysF45;
  dylan_value T46;
  dylan_value T47;
  dylan_value T48;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value T49_2;
  dylan_value failureF50;
  dylan_value UfT_afterUF51;
  dylan_value UfT_beforeUF52;
  dylan_value T53_0;
  dylan_value T53_1;
  dylan_value T53_2;
  dylan_value T54_0;
  dylan_value T54_1;
  dylan_value failureF55;
  dylan_value UfTUF56;
  dylan_value T57_0;
  dylan_value T57_1;
  dylan_value T58_0;
  dylan_value T58_1;
  dylan_value T58_2;
  dylan_value failureF59;
  dylan_value UfTUF60;
  dylan_value import_typeF61;
  dylan_value T62_0;
  dylan_value T62_1;
  dylan_value T63;
  dylan_value T64_0;
  dylan_value T64_1;
  dylan_value T65_0;
  dylan_value T65_1;
  dylan_value T66_0;
  dylan_value T66_1;
  dylan_value T67_0;
  dylan_value T67_1;
  dylan_value failureF68;
  dylan_value import_typeF69;
  dylan_value T70_0;
  dylan_value T70_1;
  dylan_value T70_2;
  dylan_value T71_0;
  dylan_value T71_1;
  dylan_value T71_2;
  dylan_value T72_0;
  dylan_value T72_1;
  dylan_value T72_2;
  dylan_value failureF73;
  dylan_value import_typeF74;
  dylan_value optionsF75;
  dylan_value import_typeF76;
  dylan_value optionsF77;
  dylan_value T78;
  dylan_value keysF79;
  dylan_value T80;
  dylan_value T81;
  dylan_value T82_0;
  dylan_value T82_1;
  dylan_value T82_2;
  dylan_value failureF83;
  dylan_value UfT_afterUF84;
  dylan_value UfT_beforeUF85;
  dylan_value T86_0;
  dylan_value T86_1;
  dylan_value T86_2;
  dylan_value T87_0;
  dylan_value T87_1;
  dylan_value failureF88;
  dylan_value UfTUF89;
  dylan_value T90_0;
  dylan_value T90_1;
  dylan_value T91_0;
  dylan_value T91_1;
  dylan_value T91_2;
  dylan_value failureF92;
  dylan_value UfTUF93;
  dylan_value export_typeF94;
  dylan_value T95_0;
  dylan_value T95_1;
  dylan_value T96;
  dylan_value T97_0;
  dylan_value T97_1;
  dylan_value T98_0;
  dylan_value T98_1;
  dylan_value T99_0;
  dylan_value T99_1;
  dylan_value T100_0;
  dylan_value T100_1;
  dylan_value failureF101;
  dylan_value export_typeF102;
  dylan_value T103_0;
  dylan_value T103_1;
  dylan_value T103_2;
  dylan_value T104_0;
  dylan_value T104_1;
  dylan_value T104_2;
  dylan_value T105_0;
  dylan_value T105_1;
  dylan_value T105_2;
  dylan_value failureF106;
  dylan_value export_typeF107;
  dylan_value optionsF108;
  dylan_value export_typeF109;
  dylan_value optionsF110;
  dylan_value T111;
  dylan_value keysF112;
  dylan_value T113;
  dylan_value T114;
  dylan_value T115_0;
  dylan_value T115_1;
  dylan_value T115_2;
  dylan_value failureF116;
  dylan_value UfT_afterUF117;
  dylan_value UfT_beforeUF118;
  dylan_value T119_0;
  dylan_value T119_1;
  dylan_value T119_2;
  dylan_value T120_0;
  dylan_value T120_1;
  dylan_value failureF121;
  dylan_value UfTUF122;
  dylan_value T123_0;
  dylan_value T123_1;
  dylan_value T124_0;
  dylan_value T124_1;
  dylan_value T124_2;
  dylan_value failureF125;
  dylan_value UfTUF126;
  dylan_value pointer_type_nameF127;
  dylan_value T128_0;
  dylan_value T128_1;
  dylan_value T129_0;
  dylan_value T129_1;
  dylan_value T130_0;
  dylan_value T130_1;
  dylan_value T131_0;
  dylan_value T131_1;
  dylan_value T132_0;
  dylan_value T132_1;
  dylan_value failureF133;
  dylan_value pointer_type_nameF134;
  dylan_value T135_0;
  dylan_value T135_1;
  dylan_value T135_2;
  dylan_value T136_0;
  dylan_value T136_1;
  dylan_value T136_2;
  dylan_value T137_0;
  dylan_value T137_1;
  dylan_value T137_2;
  dylan_value failureF138;
  dylan_value pointer_type_nameF139;
  dylan_value optionsF140;
  dylan_value pointer_type_nameF141;
  dylan_value optionsF142;
  dylan_value keysF143;
  dylan_value T144;
  dylan_value T145;
  dylan_value T146;
  dylan_value T147;
  dylan_value T148;
  dylan_value T149;
  dylan_value new_keys_;
  dylan_value T151;
  dylan_value T152;
  dylan_value T153;
  dylan_value T154_0;
  dylan_value import_mappingQ_;
  dylan_value T156;
  dylan_value T157;
  dylan_value export_mappingQ_;
  dylan_value T159;
  dylan_value T160;
  dylan_value keysF161;
  dylan_value T162;
  dylan_value T163;
  dylan_value T164_0;
  dylan_value T164_1;
  dylan_value T165_0;
  dylan_value T165_1;
  dylan_value T165_2;
  _KLsimple_object_vectorGVKd_4 T166 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_4 T167 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_2 T168 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T169_0;
  dylan_value T169_1;
  dylan_value T170_0;
  dylan_value T170_1;
  dylan_value T170_2;
  _KLsimple_object_vectorGVKd_4 T171 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_4 T172 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T173_0;
  dylan_value T173_1;
  dylan_value T174_0;
  dylan_value T174_1;
  dylan_value T174_2;
  _KLsimple_object_vectorGVKd_4 T175 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_4 T176 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T177;
  dylan_value T178_0;
  dylan_value T178_1;
  dylan_value T179_0;
  dylan_value T179_1;
  dylan_value T179_2;
  _KLsimple_object_vectorGVKd_2 T180 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value optionsF181;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:182
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:185
  import_mappingQ_ = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:186
  export_mappingQ_ = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:187
  keysF161 = &KPempty_listVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T4 = CONGRUENT_CALL1(specs_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
  T5 = T4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
  T6 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
  T7 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
  T8 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
  T9 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
  T10T = T5;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
    T10 = T10T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
    T11 = CALL3(T8, specs_, T10, T6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
    if (T11 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
      T12 = CALL2(T9, specs_, T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T13 = CONGRUENT_CALL1(T12);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      T14_0 = Kmatch_list_partVdfmc_macro_expanderI(T13);
      T14_1 = MV_GET_ELT(1);
      T14_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      failureF15 = T14_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      UfT_afterUF16 = T14_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      UfT_beforeUF17 = T14_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      if (failureF15 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        T18_0 = failureF15;
        T18_1 = &KPfalseVKi;
        T18_2 = &KPfalseVKi;
        T37_0 = T18_0;
        T37_1 = T18_1;
        T37_2 = T18_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        T19_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF17, IKJmap_);
        T19_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        failureF20 = T19_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        UfTUF21 = T19_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        if (failureF20 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T22_0 = failureF20;
          T22_1 = &KPfalseVKi;
          T32_0 = T22_0;
          T32_1 = T22_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T23_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF21);
          T23_1 = MV_GET_ELT(1);
          T23_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          failureF24 = T23_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          UfTUF25 = T23_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          map_typeF26 = T23_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          if (failureF24 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T27_0 = failureF24;
            T27_1 = &KPfalseVKi;
            T31_0 = T27_0;
            T31_1 = T27_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T28 = CONGRUENT_CALL1(UfTUF25);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            if (T28 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T164_0 = &KPfalseVKi;
              T164_1 = map_typeF26;
              T30_0 = T164_0;
              T30_1 = T164_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T29_0 = &KPtrueVKi;
              T29_1 = &KPfalseVKi;
              T30_0 = T29_0;
              T30_1 = T29_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T31_0 = T30_0;
            T31_1 = T30_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T32_0 = T31_0;
          T32_1 = T31_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        failureF33 = T32_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        map_typeF34 = T32_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        if (failureF33 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T35_0 = failureF33;
          T35_1 = &KPfalseVKi;
          T35_2 = &KPfalseVKi;
          T36_0 = T35_0;
          T36_1 = T35_1;
          T36_2 = T35_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T165_0 = &KPfalseVKi;
          T165_1 = map_typeF34;
          T165_2 = UfT_afterUF16;
          T36_0 = T165_0;
          T36_1 = T165_1;
          T36_2 = T165_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        T37_0 = T36_0;
        T37_1 = T36_1;
        T37_2 = T36_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      failureF38 = T37_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      map_typeF39 = T37_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      optionsF40 = T37_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      if (failureF38 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        T49_0 = Kmatch_list_partVdfmc_macro_expanderI(T13);
        T49_1 = MV_GET_ELT(1);
        T49_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        failureF50 = T49_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        UfT_afterUF51 = T49_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        UfT_beforeUF52 = T49_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        if (failureF50 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T53_0 = failureF50;
          T53_1 = &KPfalseVKi;
          T53_2 = &KPfalseVKi;
          T72_0 = T53_0;
          T72_1 = T53_1;
          T72_2 = T53_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T54_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF52, IKJimport_map_);
          T54_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          failureF55 = T54_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          UfTUF56 = T54_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          if (failureF55 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T57_0 = failureF55;
            T57_1 = &KPfalseVKi;
            T67_0 = T57_0;
            T67_1 = T57_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T58_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF56);
            T58_1 = MV_GET_ELT(1);
            T58_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            failureF59 = T58_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            UfTUF60 = T58_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            import_typeF61 = T58_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            if (failureF59 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T62_0 = failureF59;
              T62_1 = &KPfalseVKi;
              T66_0 = T62_0;
              T66_1 = T62_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
              T63 = CONGRUENT_CALL1(UfTUF60);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              if (T63 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T169_0 = &KPfalseVKi;
                T169_1 = import_typeF61;
                T65_0 = T169_0;
                T65_1 = T169_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T64_0 = &KPtrueVKi;
                T64_1 = &KPfalseVKi;
                T65_0 = T64_0;
                T65_1 = T64_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T66_0 = T65_0;
              T66_1 = T65_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T67_0 = T66_0;
            T67_1 = T66_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          failureF68 = T67_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          import_typeF69 = T67_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          if (failureF68 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T70_0 = failureF68;
            T70_1 = &KPfalseVKi;
            T70_2 = &KPfalseVKi;
            T71_0 = T70_0;
            T71_1 = T70_1;
            T71_2 = T70_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T170_0 = &KPfalseVKi;
            T170_1 = import_typeF69;
            T170_2 = UfT_afterUF51;
            T71_0 = T170_0;
            T71_1 = T170_1;
            T71_2 = T170_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T72_0 = T71_0;
          T72_1 = T71_1;
          T72_2 = T71_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        failureF73 = T72_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        import_typeF74 = T72_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        optionsF75 = T72_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        if (failureF73 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T82_0 = Kmatch_list_partVdfmc_macro_expanderI(T13);
          T82_1 = MV_GET_ELT(1);
          T82_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          failureF83 = T82_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          UfT_afterUF84 = T82_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          UfT_beforeUF85 = T82_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          if (failureF83 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T86_0 = failureF83;
            T86_1 = &KPfalseVKi;
            T86_2 = &KPfalseVKi;
            T105_0 = T86_0;
            T105_1 = T86_1;
            T105_2 = T86_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T87_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF85, IKJexport_map_);
            T87_1 = MV_GET_ELT(1);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            failureF88 = T87_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            UfTUF89 = T87_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            if (failureF88 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T90_0 = failureF88;
              T90_1 = &KPfalseVKi;
              T100_0 = T90_0;
              T100_1 = T90_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T91_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF89);
              T91_1 = MV_GET_ELT(1);
              T91_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              failureF92 = T91_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              UfTUF93 = T91_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              export_typeF94 = T91_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              if (failureF92 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T95_0 = failureF92;
                T95_1 = &KPfalseVKi;
                T99_0 = T95_0;
                T99_1 = T95_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                T96 = CONGRUENT_CALL1(UfTUF93);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                if (T96 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                  T173_0 = &KPfalseVKi;
                  T173_1 = export_typeF94;
                  T98_0 = T173_0;
                  T98_1 = T173_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                  T97_0 = &KPtrueVKi;
                  T97_1 = &KPfalseVKi;
                  T98_0 = T97_0;
                  T98_1 = T97_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T99_0 = T98_0;
                T99_1 = T98_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T100_0 = T99_0;
              T100_1 = T99_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            failureF101 = T100_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            export_typeF102 = T100_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            if (failureF101 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T103_0 = failureF101;
              T103_1 = &KPfalseVKi;
              T103_2 = &KPfalseVKi;
              T104_0 = T103_0;
              T104_1 = T103_1;
              T104_2 = T103_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T174_0 = &KPfalseVKi;
              T174_1 = export_typeF102;
              T174_2 = UfT_afterUF84;
              T104_0 = T174_0;
              T104_1 = T174_1;
              T104_2 = T174_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T105_0 = T104_0;
            T105_1 = T104_1;
            T105_2 = T104_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          failureF106 = T105_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          export_typeF107 = T105_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          optionsF108 = T105_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          if (failureF106 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T115_0 = Kmatch_list_partVdfmc_macro_expanderI(T13);
            T115_1 = MV_GET_ELT(1);
            T115_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            failureF116 = T115_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            UfT_afterUF117 = T115_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            UfT_beforeUF118 = T115_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            if (failureF116 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T119_0 = failureF116;
              T119_1 = &KPfalseVKi;
              T119_2 = &KPfalseVKi;
              T137_0 = T119_0;
              T137_1 = T119_1;
              T137_2 = T119_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T120_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF118, IKJpointer_type_);
              T120_1 = MV_GET_ELT(1);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              failureF121 = T120_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              UfTUF122 = T120_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              if (failureF121 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T123_0 = failureF121;
                T123_1 = &KPfalseVKi;
                T132_0 = T123_0;
                T132_1 = T123_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T124_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF122);
                T124_1 = MV_GET_ELT(1);
                T124_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                failureF125 = T124_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                UfTUF126 = T124_1;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                pointer_type_nameF127 = T124_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                if (failureF125 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                  T128_0 = failureF125;
                  T128_1 = &KPfalseVKi;
                  T131_0 = T128_0;
                  T131_1 = T128_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                  T177 = primitive_idQ(UfTUF126,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                  if (T177 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                    T178_0 = &KPfalseVKi;
                    T178_1 = pointer_type_nameF127;
                    T130_0 = T178_0;
                    T130_1 = T178_1;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                    T129_0 = &KPtrueVKi;
                    T129_1 = &KPfalseVKi;
                    T130_0 = T129_0;
                    T130_1 = T129_1;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                  T131_0 = T130_0;
                  T131_1 = T130_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T132_0 = T131_0;
                T132_1 = T131_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              failureF133 = T132_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              pointer_type_nameF134 = T132_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              if (failureF133 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T135_0 = failureF133;
                T135_1 = &KPfalseVKi;
                T135_2 = &KPfalseVKi;
                T136_0 = T135_0;
                T136_1 = T135_1;
                T136_2 = T135_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
                T179_0 = &KPfalseVKi;
                T179_1 = pointer_type_nameF134;
                T179_2 = UfT_afterUF117;
                T136_0 = T179_0;
                T136_1 = T179_1;
                T136_2 = T179_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              T137_0 = T136_0;
              T137_1 = T136_1;
              T137_2 = T136_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            failureF138 = T137_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            pointer_type_nameF139 = T137_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            optionsF140 = T137_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            if (failureF138 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              optionsF181 = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(T13);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:251
              T145 = Kparse_optionsVdfmc_definitionsMM0I(Dc_mapped_subtype_optionsVdfmc_c_ffi, optionsF181, name_);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:251
              CONGRUENT_CALL_PROLOG(&KasVKd, 2);
              T146 = CONGRUENT_CALL2(&KLlistGVKd, T145);
              T147 = T146;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
              pointer_type_nameF141 = CONGRUENT_CALL1(pointer_type_nameF139);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
              CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
              optionsF142 = CONGRUENT_CALL1(optionsF140);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:245
              keysF143 = Kparse_optionsVdfmc_definitionsMM0I(Dc_mapped_subtype_pointer_type_optionsVdfmc_c_ffi, optionsF142, name_);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:247
              T180.vector_element_[0] = pointer_type_nameF141;
              T180.vector_element_[1] = keysF143;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:247
              T144 = KapplyVKdI(&Kprocess_pointer_type_optionsVdfmc_c_ffi, &T180);
              T147 = T144;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            T148 = T147;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
            export_typeF109 = CONGRUENT_CALL1(export_typeF107);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
            CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
            optionsF110 = CONGRUENT_CALL1(optionsF108);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:230
            T159 = export_mappingQ_;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:230
            if (T159 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:232
              CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
              T111 = CONGRUENT_CALL1(form_);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:231
              T175.vector_element_[0] = IKJsource_location_;
              T175.vector_element_[1] = T111;
              T175.vector_element_[2] = IKJdefinition_name_;
              T175.vector_element_[3] = name_;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:231
              CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
              CONGRUENT_CALL2(&KLmultiple_export_mappingsGVdfmc_c_ffi, &T175);
              T114 = &KPempty_listVKi;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:236
              export_mappingQ_ = &KPtrueVKi;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:237
              keysF112 = Kparse_optionsVdfmc_definitionsMM0I(Dc_mapped_subtype_export_map_optionsVdfmc_c_ffi, optionsF110, name_);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:239
              T176.vector_element_[0] = form_;
              T176.vector_element_[1] = name_;
              T176.vector_element_[2] = export_typeF109;
              T176.vector_element_[3] = keysF112;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:239
              T113 = KapplyVKdI(&Kprocess_export_map_optionsVdfmc_c_ffi, &T176);
              T114 = T113;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:230
            T148 = T114;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          T149 = T148;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          import_typeF76 = CONGRUENT_CALL1(import_typeF74);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          optionsF77 = CONGRUENT_CALL1(optionsF75);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:215
          T156 = import_mappingQ_;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:215
          if (T156 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:217
            CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
            T78 = CONGRUENT_CALL1(form_);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:216
            T171.vector_element_[0] = IKJsource_location_;
            T171.vector_element_[1] = T78;
            T171.vector_element_[2] = IKJdefinition_name_;
            T171.vector_element_[3] = name_;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:216
            CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
            CONGRUENT_CALL2(&KLmultiple_import_mappingsGVdfmc_c_ffi, &T171);
            T81 = &KPempty_listVKi;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:221
            import_mappingQ_ = &KPtrueVKi;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:222
            keysF79 = Kparse_optionsVdfmc_definitionsMM0I(Dc_mapped_subtype_import_map_optionsVdfmc_c_ffi, optionsF77, name_);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:224
            T172.vector_element_[0] = form_;
            T172.vector_element_[1] = name_;
            T172.vector_element_[2] = import_typeF76;
            T172.vector_element_[3] = keysF79;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:224
            T80 = KapplyVKdI(&Kprocess_import_map_optionsVdfmc_c_ffi, &T172);
            T81 = T80;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:215
          T149 = T81;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        new_keys_ = T149;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        map_typeF41 = CONGRUENT_CALL1(map_typeF39);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        optionsF42 = CONGRUENT_CALL1(optionsF40);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:194
        T157 = import_mappingQ_;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:194
        if (T157 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:196
          CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
          T43 = CONGRUENT_CALL1(form_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:195
          T166.vector_element_[0] = IKJsource_location_;
          T166.vector_element_[1] = T43;
          T166.vector_element_[2] = IKJdefinition_name_;
          T166.vector_element_[3] = name_;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:195
          CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
          CONGRUENT_CALL2(&KLmultiple_import_mappingsGVdfmc_c_ffi, &T166);
          T48 = &KPempty_listVKi;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:194
          T160 = export_mappingQ_;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:194
          if (T160 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:201
            CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
            T44 = CONGRUENT_CALL1(form_);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:200
            T167.vector_element_[0] = IKJsource_location_;
            T167.vector_element_[1] = T44;
            T167.vector_element_[2] = IKJdefinition_name_;
            T167.vector_element_[3] = name_;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:200
            CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
            CONGRUENT_CALL2(&KLmultiple_export_mappingsGVdfmc_c_ffi, &T167);
            T47 = &KPempty_listVKi;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:205
            import_mappingQ_ = &KPtrueVKi;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:206
            export_mappingQ_ = &KPtrueVKi;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:207
            keysF45 = Kparse_optionsVdfmc_definitionsMM0I(Dc_mapped_subtype_map_optionsVdfmc_c_ffi, optionsF42, name_);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:209
            T168.vector_element_[0] = map_typeF41;
            T168.vector_element_[1] = keysF45;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:209
            T46 = KapplyVKdI(&Kprocess_map_optionsVdfmc_c_ffi, &T168);
            T47 = T46;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:194
          T48 = T47;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:194
        new_keys_ = T48;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:191
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:263
      T163 = keysF161;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:263
      T151 = CALL2(&KconcatenateVKd, new_keys_, T163);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:263
      primitive_type_check(T151, &KLlistGVKd);
      T152 = T151;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:263
      keysF161 = T152;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
      T153 = CALL2(T7, specs_, T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
      T10T = T153;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:189
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:265
  T162 = keysF161;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:265
  T154_0 = T162;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:182
  MV_SET_COUNT(1);
  return(T154_0);
}

dylan_value Kprocess_pointer_type_optionsVdfmc_c_ffiI (dylan_value pointer_type_name_, dylan_value Urest_, dylan_value pointer_value_setter_) {
  dylan_value T4;
  dylan_value T5;
  dylan_value pointer_value_setterF6;
  dylan_value T7_0;
  dylan_value T8;
  dylan_value T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T11 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:175
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:175
  T8 = primitive_idQ(pointer_value_setter_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:175
  if (T8 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:176
    T9 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJnot_given_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:176
    T10.vector_element_[0] = T9;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:176
    T4 = Kmake_templateVdfmc_macro_expanderI(&T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:175
    T5 = T4;
    pointer_value_setterF6 = T5;
  } else {
    pointer_value_setterF6 = pointer_value_setter_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:175
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:178
  T11.vector_element_[0] = IKJpointer_type_name_;
  T11.vector_element_[1] = pointer_type_name_;
  T11.vector_element_[2] = IKJdefine_pointer_value_setter_;
  T11.vector_element_[3] = pointer_value_setterF6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:178
  T7_0 = KlistVKdI(&T11);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:175
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value Kprocess_export_map_optionsVdfmc_c_ffiI (dylan_value clause_, dylan_value name_, dylan_value map_type_, dylan_value Urest_, dylan_value export_function_) {
  dylan_value T6;
  dylan_value export_functionF7;
  dylan_value T8_0;
  dylan_value T9;
  dylan_value T10_0;
  dylan_value T11_0;
  dylan_value T12;
  dylan_value T13;
  _KLsimple_object_vectorGVKd_4 T14 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_4 T15 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:162
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:162
  T12 = primitive_idQ(export_function_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:162
  if (T12 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:162
    T6 = DunsuppliedYcommon_extensionsVcommon_dylan;
    export_functionF7 = T6;
  } else {
    export_functionF7 = export_function_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:162
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:165
  T13 = primitive_idQ(export_functionF7,DunsuppliedYcommon_extensionsVcommon_dylan);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:165
  if (T13 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:169
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T9 = CONGRUENT_CALL1(clause_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:168
    T15.vector_element_[0] = IKJsource_location_;
    T15.vector_element_[1] = T9;
    T15.vector_element_[2] = IKJdefinition_name_;
    T15.vector_element_[3] = name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:168
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLmissing_export_functionGVdfmc_c_ffi, &T15);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:171
    T10_0 = &KPempty_listVKi;
    T11_0 = T10_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:166
    T14.vector_element_[0] = IKJexport_type_;
    T14.vector_element_[1] = map_type_;
    T14.vector_element_[2] = IKJpartial_export_function_;
    T14.vector_element_[3] = export_functionF7;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:166
    T8_0 = KlistVKdI(&T14);
    T11_0 = T8_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:165
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:162
  MV_SET_COUNT(1);
  return(T11_0);
}

dylan_value Kprocess_import_map_optionsVdfmc_c_ffiI (dylan_value clause_, dylan_value name_, dylan_value map_type_, dylan_value Urest_, dylan_value import_function_) {
  dylan_value T6;
  dylan_value import_functionF7;
  dylan_value T8_0;
  dylan_value T9;
  dylan_value T10_0;
  dylan_value T11_0;
  dylan_value T12;
  dylan_value T13;
  _KLsimple_object_vectorGVKd_4 T14 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_4 T15 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:149
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:149
  T12 = primitive_idQ(import_function_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:149
  if (T12 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:149
    T6 = DunsuppliedYcommon_extensionsVcommon_dylan;
    import_functionF7 = T6;
  } else {
    import_functionF7 = import_function_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:149
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:152
  T13 = primitive_idQ(import_functionF7,DunsuppliedYcommon_extensionsVcommon_dylan);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:152
  if (T13 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:156
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T9 = CONGRUENT_CALL1(clause_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:155
    T15.vector_element_[0] = IKJsource_location_;
    T15.vector_element_[1] = T9;
    T15.vector_element_[2] = IKJdefinition_name_;
    T15.vector_element_[3] = name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:155
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLmissing_import_functionGVdfmc_c_ffi, &T15);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:158
    T10_0 = &KPempty_listVKi;
    T11_0 = T10_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:153
    T14.vector_element_[0] = IKJimport_type_;
    T14.vector_element_[1] = map_type_;
    T14.vector_element_[2] = IKJpartial_import_function_;
    T14.vector_element_[3] = import_functionF7;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:153
    T8_0 = KlistVKdI(&T14);
    T11_0 = T8_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:152
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:149
  MV_SET_COUNT(1);
  return(T11_0);
}

dylan_value Kprocess_map_optionsVdfmc_c_ffiI (dylan_value map_type_, dylan_value Urest_, dylan_value import_function_, dylan_value export_function_) {
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value import_functionF8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value export_functionF12;
  dylan_value T13_0;
  dylan_value T14;
  _KLsimple_object_vectorGVKd_1 T15 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T16;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_8 T18 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
  T14 = primitive_idQ(import_function_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
  if (T14 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:141
    T5 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:141
    T15.vector_element_[0] = T5;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:141
    T6 = Kmake_templateVdfmc_macro_expanderI(&T15);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
    T7 = T6;
    import_functionF8 = T7;
  } else {
    import_functionF8 = import_function_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
  T16 = primitive_idQ(export_function_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
  if (T16 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:141
    T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:141
    T17.vector_element_[0] = T9;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:141
    T10 = Kmake_templateVdfmc_macro_expanderI(&T17);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
    T11 = T10;
    export_functionF12 = T11;
  } else {
    export_functionF12 = export_function_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:143
  T18.vector_element_[0] = IKJpartial_import_function_;
  T18.vector_element_[1] = import_functionF8;
  T18.vector_element_[2] = IKJpartial_export_function_;
  T18.vector_element_[3] = export_functionF12;
  T18.vector_element_[4] = IKJimport_type_;
  T18.vector_element_[5] = map_type_;
  T18.vector_element_[6] = IKJexport_type_;
  T18.vector_element_[7] = map_type_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:143
  T13_0 = KlistVKdI(&T18);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:140
  MV_SET_COUNT(1);
  return(T13_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJword_class_);
    if (T0 != &KJword_class_) {
      IKJword_class_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsuffix_);
    if (T0 != &KJsuffix_) {
      IKJsuffix_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexpander_function_);
    if (T0 != &KJexpander_function_) {
      IKJexpander_function_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJc_mapped_subtype_definer_);
    if (T0 != &KJc_mapped_subtype_definer_) {
      IKJc_mapped_subtype_definer_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_mapped_subtype_import_function_optionG_);
    if (T0 != &KJLc_mapped_subtype_import_function_optionG_) {
      IKJLc_mapped_subtype_import_function_optionG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsymbol_);
    if (T0 != &KJsymbol_) {
      IKJsymbol_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJimport_function_);
    if (T0 != &KJimport_function_) {
      primitive_repeated_slot_value_setter(T0, &K301, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K300, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K298, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K297, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K262, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K261, 1, 0);
      IKJimport_function_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJconstraint_);
    if (T0 != &KJconstraint_) {
      IKJconstraint_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexpression_);
    if (T0 != &KJexpression_) {
      IKJexpression_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexcludes_thunk_);
    if (T0 != &KJexcludes_thunk_) {
      IKJexcludes_thunk_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_mapped_subtype_export_function_optionG_);
    if (T0 != &KJLc_mapped_subtype_export_function_optionG_) {
      IKJLc_mapped_subtype_export_function_optionG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexport_function_);
    if (T0 != &KJexport_function_) {
      primitive_repeated_slot_value_setter(T0, &K304, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K303, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K298, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K297, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K262, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K261, 1, 2);
      IKJexport_function_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_mapped_subtype_pointer_value_setter_optionG_);
    if (T0 != &KJLc_mapped_subtype_pointer_value_setter_optionG_) {
      IKJLc_mapped_subtype_pointer_value_setter_optionG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_value_setter_);
    if (T0 != &KJpointer_value_setter_) {
      primitive_repeated_slot_value_setter(T0, &K309, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K308, 1, 0);
      IKJpointer_value_setter_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_mapped_subtype_c_name_optionG_);
    if (T0 != &KJLc_mapped_subtype_c_name_optionG_) {
      IKJLc_mapped_subtype_c_name_optionG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJc_name_);
    if (T0 != &KJc_name_) {
      primitive_repeated_slot_value_setter(T0, &K166, 1, 6);
      primitive_repeated_slot_value_setter(T0, &K154, 1, 12);
      IKJc_name_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_mapped_subtype_pointer_type_name_optionG_);
    if (T0 != &KJLc_mapped_subtype_pointer_type_name_optionG_) {
      IKJLc_mapped_subtype_pointer_type_name_optionG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_type_name_);
    if (T0 != &KJpointer_type_name_) {
      IKJpointer_type_name_ = T0;
      primitive_repeated_slot_value_setter(T0, &K262, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K261, 1, 8);
      primitive_repeated_slot_value_setter(T0, &K182, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K181, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K166, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K154, 1, 8);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsimple_c_mapped_subtype_definer_);
    if (T0 != &KJsimple_c_mapped_subtype_definer_) {
      IKJsimple_c_mapped_subtype_definer_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_value_setter_body_);
    if (T0 != &KJpointer_value_setter_body_) {
      IKJpointer_value_setter_body_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_value_body_);
    if (T0 != &KJpointer_value_body_) {
      IKJpointer_value_body_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexport_function_body_);
    if (T0 != &KJexport_function_body_) {
      IKJexport_function_body_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJimport_function_body_);
    if (T0 != &KJimport_function_body_) {
      IKJimport_function_body_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJcheck_import_type_defined_);
    if (T0 != &KJcheck_import_type_defined_) {
      IKJcheck_import_type_defined_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJcheck_export_type_defined_);
    if (T0 != &KJcheck_export_type_defined_) {
      IKJcheck_export_type_defined_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_subtype_pointer_type_name_optionG_);
    if (T0 != &KJLc_subtype_pointer_type_name_optionG_) {
      IKJLc_subtype_pointer_type_name_optionG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_subtype_c_name_optionG_);
    if (T0 != &KJLc_subtype_c_name_optionG_) {
      IKJLc_subtype_c_name_optionG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJc_subtype_definer_);
    if (T0 != &KJc_subtype_definer_) {
      IKJc_subtype_definer_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJboxer_for_designator_);
    if (T0 != &KJboxer_for_designator_) {
      IKJboxer_for_designator_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmake_c_pointer_);
    if (T0 != &KJmake_c_pointer_) {
      IKJmake_c_pointer_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJprimitive_cast_pointer_as_raw_);
    if (T0 != &KJprimitive_cast_pointer_as_raw_) {
      IKJprimitive_cast_pointer_as_raw_ = T0;
    }
  }
  {
    dylan_value T0;

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

    T0 = KPresolve_symbolVKiI(&KJmodifiers_);
    if (T0 != &KJmodifiers_) {
      IKJmodifiers_ = T0;
      primitive_repeated_slot_value_setter(T0, &K166, 1, 8);
      primitive_repeated_slot_value_setter(T0, &K154, 1, 16);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdefine_);
    if (T0 != &KJdefine_) {
      IKJdefine_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJarg_);
    if (T0 != &KJarg_) {
      IKJarg_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJlow_level_type_for_);
    if (T0 != &KJlow_level_type_for_) {
      IKJlow_level_type_for_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmethod_);
    if (T0 != &KJmethod_) {
      IKJmethod_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_value_);
    if (T0 != &KJpointer_value_) {
      IKJpointer_value_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJp_);
    if (T0 != &KJp_) {
      IKJp_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJindex_);
    if (T0 != &KJindex_) {
      IKJindex_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLintegerG_);
    if (T0 != &KJLintegerG_) {
      IKJLintegerG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJv_);
    if (T0 != &KJv_) {
      IKJv_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJimport_type_for_);
    if (T0 != &KJimport_type_for_) {
      IKJimport_type_for_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJnew_);
    if (T0 != &KJnew_) {
      IKJnew_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexport_type_for_);
    if (T0 != &KJexport_type_for_) {
      IKJexport_type_for_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmetaclass_);
    if (T0 != &KJmetaclass_) {
      IKJmetaclass_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_mapped_designator_classG_);
    if (T0 != &KJLc_mapped_designator_classG_) {
      IKJLc_mapped_designator_classG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmapped_import_type_);
    if (T0 != &KJmapped_import_type_) {
      IKJmapped_import_type_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmapped_export_type_);
    if (T0 != &KJmapped_export_type_) {
      IKJmapped_export_type_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJself_);
    if (T0 != &KJself_) {
      IKJself_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpartial_import_function_);
    if (T0 != &KJpartial_import_function_) {
      IKJpartial_import_function_ = T0;
      primitive_repeated_slot_value_setter(T0, &K166, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K154, 1, 0);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpartial_export_function_);
    if (T0 != &KJpartial_export_function_) {
      IKJpartial_export_function_ = T0;
      primitive_repeated_slot_value_setter(T0, &K166, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K154, 1, 2);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJimport_type_);
    if (T0 != &KJimport_type_) {
      IKJimport_type_ = T0;
      primitive_repeated_slot_value_setter(T0, &K262, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K261, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K166, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K154, 1, 4);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexport_type_);
    if (T0 != &KJexport_type_) {
      IKJexport_type_ = T0;
      primitive_repeated_slot_value_setter(T0, &K262, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K261, 1, 6);
      primitive_repeated_slot_value_setter(T0, &K166, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K154, 1, 6);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdefine_pointer_value_setter_);
    if (T0 != &KJdefine_pointer_value_setter_) {
      IKJdefine_pointer_value_setter_ = T0;
      primitive_repeated_slot_value_setter(T0, &K166, 1, 5);
      primitive_repeated_slot_value_setter(T0, &K154, 1, 10);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmacro_case_);
    if (T0 != &KJmacro_case_) {
      IKJmacro_case_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJitems_);
    if (T0 != &KJitems_) {
      IKJitems_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdefinition_name_);
    if (T0 != &KJdefinition_name_) {
      IKJdefinition_name_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_type_name_expression_);
    if (T0 != &KJpointer_type_name_expression_) {
      IKJpointer_type_name_expression_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJslot_);
    if (T0 != &KJslot_) {
      IKJslot_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJsupers_);
    if (T0 != &KJsupers_) {
      IKJsupers_ = T0;
    }
  }
  {
    dylan_value T0;

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

    T0 = KPresolve_symbolVKiI(&KJidentity_);
    if (T0 != &KJidentity_) {
      IKJidentity_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJprimitive_unwrap_c_pointer_);
    if (T0 != &KJprimitive_unwrap_c_pointer_) {
      IKJprimitive_unwrap_c_pointer_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJinteger_as_raw_);
    if (T0 != &KJinteger_as_raw_) {
      IKJinteger_as_raw_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJA_);
    if (T0 != &KJA_) {
      IKJA_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJZ58ZE_);
    if (T0 != &KJZ58ZE_) {
      IKJZ58ZE_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJerror_);
    if (T0 != &KJerror_) {
      IKJerror_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJspecs_);
    if (T0 != &KJspecs_) {
      IKJspecs_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmap_);
    if (T0 != &KJmap_) {
      IKJmap_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJimport_map_);
    if (T0 != &KJimport_map_) {
      IKJimport_map_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJexport_map_);
    if (T0 != &KJexport_map_) {
      IKJexport_map_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_type_);
    if (T0 != &KJpointer_type_) {
      IKJpointer_type_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJspec_);
    if (T0 != &KJspec_) {
      IKJspec_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJnot_given_);
    if (T0 != &KJnot_given_) {
      IKJnot_given_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_c_ffi__X_c_mapped_type_for_user () {
{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_6 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 81;
  T2.vector_element_[2] = IKJsuffix_;
  T2.vector_element_[3] = &K3;
  T2.vector_element_[4] = IKJexpander_function_;
  T2.vector_element_[5] = &Kc_mapped_subtype_definer_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsuffixed_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:81
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJc_mapped_subtype_definer_, &KPfalseVKi, &KPfalseVKi, T0, &Kc_mapped_subtype_definer_expanderVdfmc_c_ffiMM0);
  goto I0;
}
I0:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_8 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:103
  T2.vector_element_[0] = &KJdebug_name_;
  T2.vector_element_[1] = IKJLc_mapped_subtype_import_function_optionG_;
  T2.vector_element_[2] = IKJsymbol_;
  T2.vector_element_[3] = IKJimport_function_;
  T2.vector_element_[4] = IKJconstraint_;
  T2.vector_element_[5] = IKJexpression_;
  T2.vector_element_[6] = IKJexcludes_thunk_;
  T2.vector_element_[7] = &K275;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:103
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:103
  Lc_mapped_subtype_import_function_optionGVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:103
  T1 = &KPfalseVKi;
  goto I8;
}
I8:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_8 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:107
  T2.vector_element_[0] = &KJdebug_name_;
  T2.vector_element_[1] = IKJLc_mapped_subtype_export_function_optionG_;
  T2.vector_element_[2] = IKJsymbol_;
  T2.vector_element_[3] = IKJexport_function_;
  T2.vector_element_[4] = IKJconstraint_;
  T2.vector_element_[5] = IKJexpression_;
  T2.vector_element_[6] = IKJexcludes_thunk_;
  T2.vector_element_[7] = &K272;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:107
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:107
  Lc_mapped_subtype_export_function_optionGVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:107
  T1 = &KPfalseVKi;
  goto I17;
}
I17:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_8 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:111
  T2.vector_element_[0] = &KJdebug_name_;
  T2.vector_element_[1] = IKJLc_mapped_subtype_pointer_value_setter_optionG_;
  T2.vector_element_[2] = IKJsymbol_;
  T2.vector_element_[3] = IKJpointer_value_setter_;
  T2.vector_element_[4] = IKJconstraint_;
  T2.vector_element_[5] = IKJexpression_;
  T2.vector_element_[6] = IKJexcludes_thunk_;
  T2.vector_element_[7] = &K269;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:111
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:111
  Lc_mapped_subtype_pointer_value_setter_optionGVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:111
  T1 = &KPfalseVKi;
  goto I22;
}
I22:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_8 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:115
  T2.vector_element_[0] = &KJdebug_name_;
  T2.vector_element_[1] = IKJLc_mapped_subtype_c_name_optionG_;
  T2.vector_element_[2] = IKJsymbol_;
  T2.vector_element_[3] = IKJc_name_;
  T2.vector_element_[4] = IKJconstraint_;
  T2.vector_element_[5] = IKJexpression_;
  T2.vector_element_[6] = IKJexcludes_thunk_;
  T2.vector_element_[7] = &K266;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:115
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:115
  Lc_mapped_subtype_c_name_optionGVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:115
  T1 = &KPfalseVKi;
  goto I27;
}
I27:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_8 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:119
  T2.vector_element_[0] = &KJdebug_name_;
  T2.vector_element_[1] = IKJLc_mapped_subtype_pointer_type_name_optionG_;
  T2.vector_element_[2] = IKJsymbol_;
  T2.vector_element_[3] = IKJpointer_type_name_;
  T2.vector_element_[4] = IKJconstraint_;
  T2.vector_element_[5] = &KJname_;
  T2.vector_element_[6] = IKJexcludes_thunk_;
  T2.vector_element_[7] = &K263;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:119
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:119
  Lc_mapped_subtype_pointer_type_name_optionGVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:119
  T1 = &KPfalseVKi;
  goto I32;
}
I32:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_2 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:124
  T2.vector_element_[0] = Lc_mapped_subtype_import_function_optionGVdfmc_c_ffi;
  T2.vector_element_[1] = Lc_mapped_subtype_export_function_optionGVdfmc_c_ffi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:124
  T0 = KlistVKdI(&T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:123
  Dc_mapped_subtype_map_optionsVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:123
  T1 = &KPfalseVKi;
  goto I37;
}
I37:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_1 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:128
  T2.vector_element_[0] = Lc_mapped_subtype_import_function_optionGVdfmc_c_ffi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:128
  T0 = KlistVKdI(&T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:127
  Dc_mapped_subtype_import_map_optionsVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:127
  T1 = &KPfalseVKi;
  goto I38;
}
I38:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_1 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:131
  T2.vector_element_[0] = Lc_mapped_subtype_export_function_optionGVdfmc_c_ffi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:131
  T0 = KlistVKdI(&T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:130
  Dc_mapped_subtype_export_map_optionsVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:130
  T1 = &KPfalseVKi;
  goto I39;
}
I39:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_1 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:134
  T2.vector_element_[0] = Lc_mapped_subtype_pointer_value_setter_optionGVdfmc_c_ffi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:134
  T0 = KlistVKdI(&T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:133
  Dc_mapped_subtype_pointer_type_optionsVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:133
  T1 = &KPfalseVKi;
  goto I40;
}
I40:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_2 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:137
  T2.vector_element_[0] = Lc_mapped_subtype_c_name_optionGVdfmc_c_ffi;
  T2.vector_element_[1] = Lc_mapped_subtype_pointer_type_name_optionGVdfmc_c_ffi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:137
  T0 = KlistVKdI(&T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:136
  Dc_mapped_subtype_optionsVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:136
  T1 = &KPfalseVKi;
  goto I41;
}
I41:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_6 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 81;
  T2.vector_element_[2] = IKJsuffix_;
  T2.vector_element_[3] = &K3;
  T2.vector_element_[4] = IKJexpander_function_;
  T2.vector_element_[5] = &Ksimple_c_mapped_subtype_definer_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsuffixed_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:273
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJsimple_c_mapped_subtype_definer_, &KPfalseVKi, &KPfalseVKi, T0, &Ksimple_c_mapped_subtype_definer_expanderVdfmc_c_ffiMM0);
  goto I42;
}
I42:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 77;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kpointer_value_setter_body_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:447
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJpointer_value_setter_body_, &KPfalseVKi, &KPfalseVKi, T0, &Kpointer_value_setter_body_expanderVdfmc_c_ffiMM0);
  goto I46;
}
I46:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 77;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kpointer_value_body_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:472
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJpointer_value_body_, &KPfalseVKi, &KPfalseVKi, T0, &Kpointer_value_body_expanderVdfmc_c_ffiMM0);
  goto I50;
}
I50:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 77;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kexport_function_body_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:504
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJexport_function_body_, &KPfalseVKi, &KPfalseVKi, T0, &Kexport_function_body_expanderVdfmc_c_ffiMM0);
  goto I54;
}
I54:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 77;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kimport_function_body_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:533
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJimport_function_body_, &KPfalseVKi, &KPfalseVKi, T0, &Kimport_function_body_expanderVdfmc_c_ffiMM0);
  goto I58;
}
I58:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 77;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kcheck_import_type_defined_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:563
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJcheck_import_type_defined_, &KPfalseVKi, &KPfalseVKi, T0, &Kcheck_import_type_defined_expanderVdfmc_c_ffiMM0);
  goto I62;
}
I62:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 77;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kcheck_export_type_defined_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:578
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJcheck_export_type_defined_, &KPfalseVKi, &KPfalseVKi, T0, &Kcheck_export_type_defined_expanderVdfmc_c_ffiMM0);
  goto I66;
}
I66:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_8 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:612
  T2.vector_element_[0] = &KJdebug_name_;
  T2.vector_element_[1] = IKJLc_subtype_pointer_type_name_optionG_;
  T2.vector_element_[2] = IKJsymbol_;
  T2.vector_element_[3] = IKJpointer_type_name_;
  T2.vector_element_[4] = IKJconstraint_;
  T2.vector_element_[5] = IKJexpression_;
  T2.vector_element_[6] = IKJexcludes_thunk_;
  T2.vector_element_[7] = &K202;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:612
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:612
  Lc_subtype_pointer_type_name_optionGVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:612
  T1 = &KPfalseVKi;
  goto I70;
}
I70:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_8 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:616
  T2.vector_element_[0] = &KJdebug_name_;
  T2.vector_element_[1] = IKJLc_subtype_c_name_optionG_;
  T2.vector_element_[2] = IKJsymbol_;
  T2.vector_element_[3] = IKJc_name_;
  T2.vector_element_[4] = IKJconstraint_;
  T2.vector_element_[5] = IKJexpression_;
  T2.vector_element_[6] = IKJexcludes_thunk_;
  T2.vector_element_[7] = &K199;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:616
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:616
  Lc_subtype_c_name_optionGVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:616
  T1 = &KPfalseVKi;
  goto I74;
}
I74:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_2 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:621
  T2.vector_element_[0] = Lc_subtype_pointer_type_name_optionGVdfmc_c_ffi;
  T2.vector_element_[1] = Lc_subtype_c_name_optionGVdfmc_c_ffi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:621
  T0 = KlistVKdI(&T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:620
  Dc_subtype_optionsVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:620
  T1 = &KPfalseVKi;
  goto I78;
}
I78:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_6 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 81;
  T2.vector_element_[2] = IKJsuffix_;
  T2.vector_element_[3] = &K3;
  T2.vector_element_[4] = IKJexpander_function_;
  T2.vector_element_[5] = &Kc_subtype_definer_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsuffixed_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:642
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJc_subtype_definer_, &KPfalseVKi, &KPfalseVKi, T0, &Kc_subtype_definer_expanderVdfmc_c_ffiMM0);
  goto I79;
}
I79:

{
  dylan_value T0;
  dylan_value T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 77;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kboxer_for_designator_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-mapped-type.dylan:698
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJboxer_for_designator_, &KPfalseVKi, &KPfalseVKi, T0, &Kboxer_for_designator_expanderVdfmc_c_ffiMM0);
  goto I83;
}
I83:

  return;
}


/* eof */
