#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(16);
define__KLsimple_object_vectorGVKd(34);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(5);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(4);
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 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;

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(2);
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(22);
define__KLbyte_stringGVKd(21);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(3);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(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_;
} _KLsealed_generic_functionGVKe;

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

typedef struct {
  dylan_value wrapper;
  dylan_value name_;
  dylan_value designator_name_;
  dylan_value model_type_;
  dylan_value voidQ_;
  dylan_value error_resultQ_;
} _KLc_ffi_result_descriptorGVdfmc_c_ffi;

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

typedef struct {
  dylan_value wrapper;
} _KLstringGVKd;

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_selector_expression_;
} _KLinvalid_selector_valueGVdfmc_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_selectorGVdfmc_c_ffi;

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_modifiers_expression_;
} _KLinvalid_c_modifiers_valueGVdfmc_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_selector_targetGVdfmc_c_ffi;

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 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 name_;
  dylan_value designator_name_;
  dylan_value model_type_;
  dylan_value call_discipline_;
} _KLc_ffi_argument_descriptorGVdfmc_c_ffi;

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

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 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_type_encoding_expression_;
} _KLinvalid_type_encoding_valueGVdfmc_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_type_encodingGVdfmc_c_ffi;

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

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

#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);


/* 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 _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 KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
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_name_constraintVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_parensVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_nameVdfmc_macro_expanderI (dylan_value, dylan_value);
dylan_value Kmatch_expression_constraintVdfmc_macro_expanderI (dylan_value);
extern _KLincremental_generic_functionGVKe KemptyQVKd;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
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;
extern _KLsealed_generic_functionGVKe Kas_fragment_tokensVdfmc_macro_expander;
dylan_value Kmatch_variableVdfmc_macro_expanderI (dylan_value);
dylan_value Kmacro_aux_rule_match_errorVdfmc_macro_expanderI (dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLc_ffi_result_descriptorGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLc_ffi_result_descriptorGVdfmc_c_ffiW;
extern _KLsymbolGVKd KJname_;
dylan_value KapplyVKdI (dylan_value, dylan_value);
dylan_value KgensymVdfmc_c_ffiMM0I (dylan_value);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
dylan_value KCtop_level_eval_typeVdfmc_conversionMM0I (dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLBdesignator_classGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLBdesignator_classGVdfmc_c_ffiW;
dylan_value Kmake_name_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value Kmake_templateVdfmc_macro_expanderI (dylan_value);
extern _KLsimple_methodGVKe Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLsealed_generic_functionGVKe Kdesignator_nameVdfmc_c_ffi;
extern _KLsealed_generic_functionGVKe Kmodel_type_setterVdfmc_c_ffi;
extern _KLsealed_generic_functionGVKe Kmodel_typeVdfmc_c_ffi;
dylan_value Kc_function_parse_input_output_parametersVdfmc_c_ffiMM0I (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kget_propertyYplistsVcollections;
extern _KLsealed_generic_functionGVKe KBtop_level_evalVdfmc_conversion;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLsealed_generic_functionGVKe Kfragment_source_locationVdfmc_reader;
extern _KLincremental_generic_functionGVKe KnoteVdfmc_conditions;
extern _KLclassGVKd KLinvalid_selector_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_selector_valueGVdfmc_c_ffiW;
extern _KLclassGVKd KLmissing_selectorGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmissing_selectorGVdfmc_c_ffiW;
extern _KLsimple_methodGVKe KCboxer_function_nameVdfmc_c_ffiMM0;
extern _KLsealed_generic_functionGVKe KnameVdfmc_common;
extern _KLsimple_methodGVKe KCmapped_import_typeVdfmc_c_ffiMM0;
extern _KLsealed_generic_functionGVKe KCraw_type_nameVdfmc_c_ffi;
extern _KLsimple_methodGVKe KClow_level_typeVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCimport_functionVdfmc_c_ffiMM0;
extern _KLsealed_generic_functionGVKe Kimport_to_templateVdfmc_macro_expander;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLsymbolGVKd KJdefault_;
extern _KLclassGVKd KLinvalid_c_modifiers_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_modifiers_valueGVdfmc_c_ffiW;
extern _KLbyte_stringGVKd_0 KPempty_stringVKi;
extern _KLclassGVKd KLmissing_selector_targetGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmissing_selector_targetGVdfmc_c_ffiW;
extern _KLincremental_generic_functionGVKe KelementVKd;
dylan_value Kcopy_sequenceVKdMM1I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kunsupplied_objectVKi;
dylan_value Kmake_comma_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value KlistVKdI (dylan_value);
dylan_value Kmake_parens_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value Kmake_literal_fragmentVdfmc_macro_expanderMM3I (dylan_value);
extern _KLsealed_generic_functionGVKe Ksubstitute_sequence_separatedVdfmc_macro_expander;
dylan_value Kmake_equal_greater_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_colon_colon_fragmentVdfmc_macro_expanderI ();
extern _KLsymbolGVKd KJend_;
dylan_value Kmake_equal_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Kmaybe_substitute_separatorVdfmc_macro_expander;
extern _KLincremental_generic_functionGVKe KsizeVKd;
dylan_value Ksubstitute_sequenceVdfmc_macro_expanderMM0I (dylan_value);
dylan_value Kmake_semicolon_fragmentVdfmc_macro_expanderI ();
extern _KLsymbolGVKd KJvalues_;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLfragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLfragmentGVdfmc_readerW;
extern _KLclassGVKd KLvariable_name_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLvariable_name_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
dylan_value Kmatch_literalVdfmc_macro_expanderI (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kfragment_valueVdfmc_reader;
extern _KLclassGVKd KLc_ffi_argument_descriptorGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLc_ffi_argument_descriptorGVdfmc_c_ffiW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
dylan_value Kexport_fragment_tokensVdfmc_macro_expanderMM0I (dylan_value);
extern _KLkeyword_methodGVKe Kparse_c_function_specVdfmc_c_ffiMM0;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
dylan_value Kparse_early_optionsVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
dylan_value Kmake_hash_rest_fragmentVdfmc_macro_expanderI ();
extern _KLclassGVKd KLinvalid_type_encoding_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_type_encoding_valueGVdfmc_c_ffiW;
extern _KLclassGVKd KLmissing_type_encodingGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmissing_type_encodingGVdfmc_c_ffiW;
extern _KLsymbolGVKd KJconstant_;
extern _KLsealed_generic_functionGVKe Ksubstitute_spliced_as_nameVdfmc_macro_expander;
extern _KLsymbolGVKd KJfunction_;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
dylan_value Kmatch_body_partVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_end_of_modifiersVdfmc_macro_expanderI (dylan_value);
extern _KLincremental_generic_functionGVKe KconcatenateXYcommon_extensionsVcommon_dylan;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LlistG_typesVKi;

/* Defined object declarations */

static _KLsymbolGVKd KJword_class_;
static _KLsymbolGVKd KJsuffix_;
static _KLbyte_stringGVKd_8 K3;
static _KLsymbolGVKd KJexpander_function_;
extern _KLsimple_methodGVKe Kobjc_selector_definer_expanderVdfmc_c_ffiMM0;
dylan_value Kobjc_selector_definer_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJobjc_selector_definer_;
extern _KLsimple_methodGVKe Kobjc_msgsend_body_expanderVdfmc_c_ffiMM0;
dylan_value Kobjc_msgsend_body_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJobjc_msgsend_body_;
static _KLbyte_stringGVKd_17 K12;
static _KLsymbolGVKd KJselector_;
static _KLsymbolGVKd KJoptions_;
static dylan_value Kkey_options_rewriterF73I (dylan_value);
static _KLsymbolGVKd KJresult_;
static _KLsymbolGVKd KJvoid_;
static _KLsymbolGVKd KJresult_spec_;
static _KLsymbolGVKd KJdesignator_name_;
static _KLsymbolGVKd KJvoidQ_;
static dylan_value Kargs_rewriterF59I (dylan_value);
extern _KLsimple_methodGVKe Kexpand_objc_msgsend_bodyVdfmc_c_ffiMM0;
dylan_value Kexpand_objc_msgsend_bodyVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsymbolGVKd KJc_function_result_;
static _KLsymbolGVKd KJc_function_parameter_;
static _KLsymbolGVKd KJLc_voidTG_;
static _KLsymbolGVKd KJsource_location_;
static _KLsymbolGVKd KJdefinition_name_;
static _KLsymbolGVKd KJselector_expression_;
static _KLbyte_stringGVKd_14 K30;
static _KLsymbolGVKd KJtmp_;
static _KLsymbolGVKd KJLraw_c_voidG_;
static _KLsymbolGVKd KJidentity_;
static _KLsymbolGVKd KJc_modifiers_;
static _KLsymbolGVKd KJmodifiers_expression_;
static _KLsymbolGVKd KJPobjc_msgsend_;
static _KLsymbolGVKd KJprimitive_unwrap_c_pointer_;
static _KLsymbolGVKd KJlet_;
static _KLsymbolGVKd KJboxer_for_designator_;
static _KLsymbolGVKd KJwith_stack_block_;
static _KLbyte_stringGVKd_16 K41;
static _KLbyte_stringGVKd_20 K42;
static _KLbyte_stringGVKd_3 K43;
static _KLbyte_stringGVKd_26 K44;
static _KLbyte_stringGVKd_13 K45;
static _KLbyte_stringGVKd_20 K46;
static _KLbyte_stringGVKd_11 K47;
static _KLbyte_stringGVKd_8 K48;
static _KLbyte_stringGVKd_12 K49;
static _KLbyte_stringGVKd_3 K50;
static _KLbyte_stringGVKd_19 K51;
static _KLbyte_stringGVKd_15 K52;
static _KLbyte_stringGVKd_15 K53;
static _KLbyte_stringGVKd_9 K54;
static _KLbyte_stringGVKd_20 K55;
static _KLbyte_stringGVKd_17 K56;
static _KLsignatureGVKe K57;
static _KLsimple_object_vectorGVKd_5 K58;
static _KLsymbolGVKd KJargs_;
static _KLsymbolGVKd KJparameter_;
static _KLsymbolGVKd KJcall_discipline_;
static _KLsymbolGVKd KJarg_;
static _KLbyte_stringGVKd_3 K64;
static _KLbyte_stringGVKd_15 K65;
static _KLbyte_stringGVKd_9 K66;
static _KLbyte_stringGVKd_4 K67;
static _KLbyte_stringGVKd_5 K68;
static _KLbyte_stringGVKd_15 K69;
static _KLbyte_stringGVKd_11 K70;
static _KLbyte_stringGVKd_4 K71;
static _KLbyte_stringGVKd_6 K72;
static _KLsymbolGVKd KJkey_options_;
static _KLbyte_stringGVKd_11 K75;
static _KLbyte_stringGVKd_7 K76;
static _KLbyte_stringGVKd_8 K77;
static _KLbyte_stringGVKd_21 K78;
static dylan_value KUwildcard_loopUF120I (dylan_value, dylan_value);
dylan_value Kc_ffi_default_selector_inline_policyVdfmc_c_ffiI ();
static dylan_value Kspec_rewriterF114I (dylan_value);
static _KLsymbolGVKd KJname_symbol_;
static _KLsymbolGVKd KJbegin_;
static _KLsymbolGVKd KJif_;
static _KLsymbolGVKd KJDtrace_ffi_calls_;
static _KLsymbolGVKd KJlog_entry_;
static _KLsymbolGVKd KJresults_;
static _KLsymbolGVKd KJapply_;
static _KLsymbolGVKd KJlog_exit_;
static _KLsymbolGVKd KJelse_;
static _KLsymbolGVKd KJtype_encoding_;
static _KLsymbolGVKd KJtype_encoding_expression_;
static _KLbyte_stringGVKd_20 K93;
static _KLsymbolGVKd KJdefine_;
static _KLsymbolGVKd KJobjcSregister_selector_;
static _KLsymbolGVKd KJmethod_;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K97;
static _KLbyte_stringGVKd_6 K98;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K99;
static _KLbyte_stringGVKd_6 K100;
static _KLbyte_stringGVKd_22 K101;
static _KLbyte_stringGVKd_6 K102;
static _KLbyte_stringGVKd_24 K103;
static _KLbyte_stringGVKd_13 K104;
static _KLbyte_stringGVKd_4 K105;
static _KLbyte_stringGVKd_8 K106;
static _KLbyte_stringGVKd_5 K107;
static _KLbyte_stringGVKd_7 K108;
static _KLbyte_stringGVKd_9 K109;
static _KLbyte_stringGVKd_16 K110;
static _KLbyte_stringGVKd_2 K111;
static _KLbyte_stringGVKd_5 K112;
static _KLbyte_stringGVKd_11 K113;
static _KLsymbolGVKd KJspec_;
static _KLbyte_stringGVKd_4 K116;
static _KLsymbolGVKd KJinline_only_;
static _KLbyte_stringGVKd_11 K118;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF120;
static _KLsignatureGVKe K121;
static _KLbyte_stringGVKd_17 K122;
static _KLbyte_stringGVKd_6 K123;
static _KLbyte_stringGVKd_10 K124;

/* Indirection variables */

static dylan_value IKJword_class_ = &KJword_class_;
static dylan_value IKJsuffix_ = &KJsuffix_;
static dylan_value IKJexpander_function_ = &KJexpander_function_;
static dylan_value IKJobjc_selector_definer_ = &KJobjc_selector_definer_;
static dylan_value IKJobjc_msgsend_body_ = &KJobjc_msgsend_body_;
static dylan_value IKJselector_ = &KJselector_;
static dylan_value IKJoptions_ = &KJoptions_;
static dylan_value IKJresult_ = &KJresult_;
static dylan_value IKJvoid_ = &KJvoid_;
static dylan_value IKJresult_spec_ = &KJresult_spec_;
static dylan_value IKJdesignator_name_ = &KJdesignator_name_;
static dylan_value IKJvoidQ_ = &KJvoidQ_;
static dylan_value IKJc_function_result_ = &KJc_function_result_;
static dylan_value IKJc_function_parameter_ = &KJc_function_parameter_;
static dylan_value IKJLc_voidTG_ = &KJLc_voidTG_;
static dylan_value IKJsource_location_ = &KJsource_location_;
static dylan_value IKJdefinition_name_ = &KJdefinition_name_;
static dylan_value IKJselector_expression_ = &KJselector_expression_;
static dylan_value IKJtmp_ = &KJtmp_;
static dylan_value IKJLraw_c_voidG_ = &KJLraw_c_voidG_;
static dylan_value IKJidentity_ = &KJidentity_;
static dylan_value IKJc_modifiers_ = &KJc_modifiers_;
static dylan_value IKJmodifiers_expression_ = &KJmodifiers_expression_;
static dylan_value IKJPobjc_msgsend_ = &KJPobjc_msgsend_;
static dylan_value IKJprimitive_unwrap_c_pointer_ = &KJprimitive_unwrap_c_pointer_;
static dylan_value IKJlet_ = &KJlet_;
static dylan_value IKJboxer_for_designator_ = &KJboxer_for_designator_;
static dylan_value IKJwith_stack_block_ = &KJwith_stack_block_;
static dylan_value IKJargs_ = &KJargs_;
static dylan_value IKJparameter_ = &KJparameter_;
static dylan_value IKJcall_discipline_ = &KJcall_discipline_;
static dylan_value IKJarg_ = &KJarg_;
static dylan_value IKJkey_options_ = &KJkey_options_;
static dylan_value IKJname_symbol_ = &KJname_symbol_;
static dylan_value IKJbegin_ = &KJbegin_;
static dylan_value IKJif_ = &KJif_;
static dylan_value IKJDtrace_ffi_calls_ = &KJDtrace_ffi_calls_;
static dylan_value IKJlog_entry_ = &KJlog_entry_;
static dylan_value IKJresults_ = &KJresults_;
static dylan_value IKJapply_ = &KJapply_;
static dylan_value IKJlog_exit_ = &KJlog_exit_;
static dylan_value IKJelse_ = &KJelse_;
static dylan_value IKJtype_encoding_ = &KJtype_encoding_;
static dylan_value IKJtype_encoding_expression_ = &KJtype_encoding_expression_;
static dylan_value IKJdefine_ = &KJdefine_;
static dylan_value IKJobjcSregister_selector_ = &KJobjcSregister_selector_;
static dylan_value IKJmethod_ = &KJmethod_;
static dylan_value IKJspec_ = &KJspec_;
static dylan_value IKJinline_only_ = &KJinline_only_;

/* Variables */


/* Objects */

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

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

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

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

_KLsimple_methodGVKe Kobjc_selector_definer_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kobjc_selector_definer_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJobjc_selector_definer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K78
};

_KLsimple_methodGVKe Kobjc_msgsend_body_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kobjc_msgsend_body_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJobjc_msgsend_body_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K12
};

static _KLbyte_stringGVKd_17 K12 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "objc-msgsend-body"
};

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

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

static _KLsymbolGVKd KJresult_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K72
};

static _KLsymbolGVKd KJvoid_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K71
};

static _KLsymbolGVKd KJresult_spec_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K70
};

static _KLsymbolGVKd KJdesignator_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K69
};

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

_KLsimple_methodGVKe Kexpand_objc_msgsend_bodyVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_5,
  &K57,
  &Kexpand_objc_msgsend_bodyVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJc_function_result_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K56
};

static _KLsymbolGVKd KJc_function_parameter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K55
};

static _KLsymbolGVKd KJLc_voidTG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K54
};

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

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

static _KLsymbolGVKd KJselector_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K51
};

static _KLbyte_stringGVKd_14 K30 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "dummy_selector"
};

static _KLsymbolGVKd KJtmp_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K50
};

static _KLsymbolGVKd KJLraw_c_voidG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K49
};

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

static _KLsymbolGVKd KJc_modifiers_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K47
};

static _KLsymbolGVKd KJmodifiers_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K46
};

static _KLsymbolGVKd KJPobjc_msgsend_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K45
};

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

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

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

static _KLsymbolGVKd KJwith_stack_block_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K41
};

static _KLbyte_stringGVKd_16 K41 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "with-stack-block"
};

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

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

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

static _KLbyte_stringGVKd_13 K45 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 53,
  "%objc-msgsend"
};

static _KLbyte_stringGVKd_20 K46 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "modifiers-expression"
};

static _KLbyte_stringGVKd_11 K47 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "c-modifiers"
};

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

static _KLbyte_stringGVKd_12 K49 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "<raw-c-void>"
};

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

static _KLbyte_stringGVKd_19 K51 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 77,
  "selector-expression"
};

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

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

static _KLbyte_stringGVKd_9 K54 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 37,
  "<c-void*>"
};

static _KLbyte_stringGVKd_20 K55 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "c-function-parameter"
};

static _KLbyte_stringGVKd_17 K56 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "c-function-result"
};

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

static _KLsimple_object_vectorGVKd_5 K58 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 21,
  &KLfragmentGVdfmc_reader,
  &KLvariable_name_fragmentGVdfmc_reader,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KLsequenceGVKd,
  &KLsequenceGVKd
};

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

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

static _KLsymbolGVKd KJcall_discipline_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K65
};

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

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

static _KLbyte_stringGVKd_15 K65 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "call-discipline"
};

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

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

static _KLbyte_stringGVKd_5 K68 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "void?"
};

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

static _KLbyte_stringGVKd_11 K70 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "result-spec"
};

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

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

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

static _KLbyte_stringGVKd_11 K75 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "key-options"
};

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

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

static _KLbyte_stringGVKd_21 K78 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 85,
  "objc-selector-definer"
};

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

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

static _KLsymbolGVKd KJif_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K111
};

static _KLsymbolGVKd KJDtrace_ffi_calls_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K110
};

static _KLsymbolGVKd KJlog_entry_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K109
};

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

static _KLsymbolGVKd KJapply_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K107
};

static _KLsymbolGVKd KJlog_exit_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K106
};

static _KLsymbolGVKd KJelse_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K105
};

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

static _KLsymbolGVKd KJtype_encoding_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K103
};

static _KLbyte_stringGVKd_20 K93 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "dummy_type_encodingr"
};

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

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

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

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

static _KLbyte_stringGVKd_6 K98 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "%send-"
};

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

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

static _KLbyte_stringGVKd_22 K101 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 89,
  "objc/register-selector"
};

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

static _KLbyte_stringGVKd_24 K103 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 97,
  "type-encoding-expression"
};

static _KLbyte_stringGVKd_13 K104 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 53,
  "type-encoding"
};

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

static _KLbyte_stringGVKd_8 K106 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 33,
  "log-exit"
};

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

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

static _KLbyte_stringGVKd_9 K109 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 37,
  "log-entry"
};

static _KLbyte_stringGVKd_16 K110 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "$trace-ffi-calls"
};

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

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

static _KLbyte_stringGVKd_11 K113 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "name-symbol"
};

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

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

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

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

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF120 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K121,
  &KUwildcard_loopUF120I,
  (dylan_value) 1
};

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

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

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

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

/* Code */

dylan_value Kobjc_selector_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 failureF5;
  dylan_value mods_;
  dylan_value dylan_nameF7;
  dylan_value specF8;
  dylan_value T9;
  dylan_value dylan_nameF10;
  dylan_value T11;
  dylan_value specF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T13_2;
  dylan_value T13_3;
  dylan_value arg_specs_;
  dylan_value result_spec_;
  dylan_value selector_;
  dylan_value optionsF17;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T18_3;
  dylan_value T18_4;
  dylan_value T18_5;
  dylan_value arg_fragments_;
  dylan_value result_fragment_;
  dylan_value parameter_list_fragment_;
  dylan_value return_values_fragment_;
  dylan_value define_gfQ_;
  dylan_value parameter_names_fragment_;
  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 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;
  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 body_;
  dylan_value type_encoding_expr_;
  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;
  dylan_value T140;
  dylan_value T141;
  dylan_value T142;
  dylan_value T143;
  dylan_value T144;
  dylan_value T145;
  dylan_value T146;
  dylan_value T147;
  dylan_value T148;
  dylan_value T149;
  dylan_value T150;
  dylan_value type_encoding_;
  dylan_value T152;
  dylan_value T153;
  dylan_value T154;
  dylan_value T155;
  dylan_value failureF156;
  dylan_value T157;
  dylan_value T158;
  dylan_value T159;
  dylan_value T160;
  dylan_value other_;
  _KLsimple_object_vectorGVKd_1 T162 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T163;
  dylan_value T164;
  dylan_value T165;
  _KLsimple_object_vectorGVKd_1 T166 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T167 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T168 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T169 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T170 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_4 T171 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_3 T172 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};
  _KLsimple_object_vectorGVKd_2 T173 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_2 T174 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_34 T175 = {&KLsimple_object_vectorGVKdW, (dylan_value) 137};
  dylan_value T176;
  dylan_value T177;
  dylan_value T178;
  _KLsimple_object_vectorGVKd_6 T179 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  _KLsimple_object_vectorGVKd_4 T180 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_2 T181 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T182;
  _KLsimple_object_vectorGVKd_16 T183 = {&KLsimple_object_vectorGVKdW, (dylan_value) 65};
  _KLsimple_object_vectorGVKd_2 T184 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T185;
  _KLsimple_object_vectorGVKd_16 T186 = {&KLsimple_object_vectorGVKdW, (dylan_value) 65};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  T4_0 = KUwildcard_loopUF120I(&KPempty_listVKi, T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  T4_3 = MV_GET_ELT(3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  mods_ = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  dylan_nameF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  specF8 = T4_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T148 = Kdylan_variable_nameVdfmc_readerI(IKJobjc_selector_definer_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T149 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T148);
    T150 = T149;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T9 = CONGRUENT_CALL1(mods_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T160 = primitive_idQ(T9,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    if (T160 != &KPfalseVKi) {
      failureF156 = &KPfalseVKi;
    } else {
      failureF156 = &KPtrueVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    if (failureF156 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      other_ = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(T9);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:87
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T158 = CONGRUENT_CALL1(other_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:87
      T162.vector_element_[0] = T158;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:87
      T159 = Kmake_templateVdfmc_macro_expanderI(&T162);
      T163 = T159;
      T165 = T163;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:86
      T157 = Kc_ffi_default_selector_inline_policyVdfmc_c_ffiI();
      T164 = T157;
      T165 = T164;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_nameF10 = CONGRUENT_CALL1(dylan_nameF7);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T11 = CONGRUENT_CALL1(specF8);
    specF12 = Kspec_rewriterF114I(T11);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:16
    T13_0 = CALL4(&Kparse_c_function_specVdfmc_c_ffiMM0, dylan_nameF10, specF12, IKJname_symbol_, IKJselector_);
    T13_1 = MV_GET_ELT(1);
    T13_2 = MV_GET_ELT(2);
    T13_3 = MV_GET_ELT(3);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:15
    arg_specs_ = T13_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:15
    result_spec_ = T13_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:15
    selector_ = T13_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:15
    optionsF17 = T13_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:19
    T18_0 = Kparse_early_optionsVdfmc_c_ffiMM0I(arg_specs_, result_spec_, optionsF17, dylan_nameF10);
    T18_1 = MV_GET_ELT(1);
    T18_2 = MV_GET_ELT(2);
    T18_3 = MV_GET_ELT(3);
    T18_4 = MV_GET_ELT(4);
    T18_5 = MV_GET_ELT(5);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:17
    arg_fragments_ = T18_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:17
    result_fragment_ = T18_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:17
    parameter_list_fragment_ = T18_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:17
    return_values_fragment_ = T18_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:17
    define_gfQ_ = T18_4;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:17
    parameter_names_fragment_ = T18_5;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T25 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T26 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T27 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJDtrace_ffi_calls_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T166.vector_element_[0] = T27;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T28 = KlistVKdI(&T166);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T29 = Kmake_parens_fragmentVdfmc_macro_expanderI(T28);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T30 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJlog_entry_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T31 = CONGRUENT_CALL1(selector_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T32 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T33 = CONGRUENT_CALL2(T32, parameter_names_fragment_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T167.vector_element_[0] = T31;
    T167.vector_element_[1] = T33;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T34 = KlistVKdI(&T167);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T35 = Kmake_parens_fragmentVdfmc_macro_expanderI(T34);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T36 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T37 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T38 = Kmake_hash_rest_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresults_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T168.vector_element_[0] = T38;
    T168.vector_element_[1] = T39;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T40 = KlistVKdI(&T168);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T41 = Kmake_parens_fragmentVdfmc_macro_expanderI(T40);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T42 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T43 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJobjc_msgsend_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T44 = CONGRUENT_CALL1(dylan_nameF10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T45 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJselector_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T46 = CONGRUENT_CALL1(selector_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T169.vector_element_[0] = T45;
    T169.vector_element_[1] = T46;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T47 = KlistVKdI(&T169);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T48 = Kmake_parens_fragmentVdfmc_macro_expanderI(T47);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T49 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T50 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJoptions_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T51 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T52 = CONGRUENT_CALL2(optionsF17, T51);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T170.vector_element_[0] = T50;
    T170.vector_element_[1] = T52;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T53 = KlistVKdI(&T170);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T54 = Kmake_parens_fragmentVdfmc_macro_expanderI(T53);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T55 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T56 = CONGRUENT_CALL2(T55, result_fragment_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T57 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T58 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T59 = CONGRUENT_CALL2(arg_fragments_, T58);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T60 = CONGRUENT_CALL2(T57, T59);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T61 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T62 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T63 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJapply_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T64 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJlog_exit_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T65 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T66 = CONGRUENT_CALL1(selector_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T67 = CONGRUENT_CALL2(T65, T66);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T68 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T69 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresults_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T171.vector_element_[0] = T64;
    T171.vector_element_[1] = T67;
    T171.vector_element_[2] = T68;
    T171.vector_element_[3] = T69;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T70 = KlistVKdI(&T171);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T71 = Kmake_parens_fragmentVdfmc_macro_expanderI(T70);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T72 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T73 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJapply_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T74 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalues_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T75 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T76 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresults_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T172.vector_element_[0] = T74;
    T172.vector_element_[1] = T75;
    T172.vector_element_[2] = T76;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T77 = KlistVKdI(&T172);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T78 = Kmake_parens_fragmentVdfmc_macro_expanderI(T77);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T79 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJelse_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T80 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJobjc_msgsend_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T81 = CONGRUENT_CALL1(dylan_nameF10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T82 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJselector_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T83 = CONGRUENT_CALL1(selector_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T173.vector_element_[0] = T82;
    T173.vector_element_[1] = T83;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T84 = KlistVKdI(&T173);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T85 = Kmake_parens_fragmentVdfmc_macro_expanderI(T84);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T86 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T87 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJoptions_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T88 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T89 = CONGRUENT_CALL2(optionsF17, T88);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T174.vector_element_[0] = T87;
    T174.vector_element_[1] = T89;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T90 = KlistVKdI(&T174);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T91 = Kmake_parens_fragmentVdfmc_macro_expanderI(T90);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T92 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T93 = CONGRUENT_CALL2(T92, result_fragment_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T94 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T95 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T96 = CONGRUENT_CALL2(arg_fragments_, T95);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T97 = CONGRUENT_CALL2(T94, T96);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T98 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T99 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T100 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    T175.vector_element_[0] = T25;
    T175.vector_element_[1] = T26;
    T175.vector_element_[2] = T29;
    T175.vector_element_[3] = T30;
    T175.vector_element_[4] = T35;
    T175.vector_element_[5] = T36;
    T175.vector_element_[6] = T37;
    T175.vector_element_[7] = T41;
    T175.vector_element_[8] = T42;
    T175.vector_element_[9] = T43;
    T175.vector_element_[10] = T44;
    T175.vector_element_[11] = T48;
    T175.vector_element_[12] = T49;
    T175.vector_element_[13] = T54;
    T175.vector_element_[14] = T56;
    T175.vector_element_[15] = T60;
    T175.vector_element_[16] = T61;
    T175.vector_element_[17] = T62;
    T175.vector_element_[18] = T63;
    T175.vector_element_[19] = T71;
    T175.vector_element_[20] = T72;
    T175.vector_element_[21] = T73;
    T175.vector_element_[22] = T78;
    T175.vector_element_[23] = T79;
    T175.vector_element_[24] = T80;
    T175.vector_element_[25] = T81;
    T175.vector_element_[26] = T85;
    T175.vector_element_[27] = T86;
    T175.vector_element_[28] = T91;
    T175.vector_element_[29] = T93;
    T175.vector_element_[30] = T97;
    T175.vector_element_[31] = T98;
    T175.vector_element_[32] = T99;
    T175.vector_element_[33] = T100;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:21
    body_ = Kmake_templateVdfmc_macro_expanderI(&T175);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:50
    CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
    type_encoding_expr_ = CONGRUENT_CALL3(optionsF17, IKJtype_encoding_, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:51
    type_encoding_ = &KPfalseVKi;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:52
    if (type_encoding_expr_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:53
      CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
      T177 = CONGRUENT_CALL2(type_encoding_expr_, &KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:53
      T176 = T177;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:53
      type_encoding_ = T176;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:54
      T155 = type_encoding_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:54
      T178 = primitive_instanceQ(T155,&KLstringGVKd);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:54
      if (T178 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:56
        CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
        T103 = CONGRUENT_CALL1(type_encoding_expr_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:55
        T179.vector_element_[0] = IKJsource_location_;
        T179.vector_element_[1] = T103;
        T179.vector_element_[2] = IKJdefinition_name_;
        T179.vector_element_[3] = dylan_nameF10;
        T179.vector_element_[4] = IKJtype_encoding_expression_;
        T179.vector_element_[5] = type_encoding_expr_;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:55
        CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
        CONGRUENT_CALL2(&KLinvalid_type_encoding_valueGVdfmc_c_ffi, &T179);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:59
        type_encoding_ = &KPfalseVKi;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:54
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:52
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:63
    T154 = type_encoding_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:63
    if (T154 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:65
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T104 = CONGRUENT_CALL1(form_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:64
      T180.vector_element_[0] = IKJsource_location_;
      T180.vector_element_[1] = T104;
      T180.vector_element_[2] = IKJdefinition_name_;
      T180.vector_element_[3] = dylan_nameF10;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:64
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLmissing_type_encodingGVdfmc_c_ffi, &T180);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:67
      type_encoding_ = &K93;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:63
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:70
    if (define_gfQ_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T105 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T106 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJconstant_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T107 = CONGRUENT_CALL1(dylan_nameF10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T108 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T109 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJobjcSregister_selector_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T110 = CONGRUENT_CALL1(selector_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T111 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T153 = type_encoding_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T112 = CONGRUENT_CALL1(T153);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T113 = CONGRUENT_CALL2(T111, T112);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T181.vector_element_[0] = T110;
      T181.vector_element_[1] = T113;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T114 = KlistVKdI(&T181);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T115 = Kmake_parens_fragmentVdfmc_macro_expanderI(T114);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T116 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T117 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T118 = CONGRUENT_CALL1(T165);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T119 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      ENGINE_NODE_CALL_PROLOG(&Ksubstitute_spliced_as_nameVdfmc_macro_expander, &K97, 3);
      T182 = ENGINE_NODE_CALL3(&K97, &K98, dylan_nameF10, &KPempty_stringVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T120 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T121 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T122 = CONGRUENT_CALL1(body_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T123 = CONGRUENT_CALL2(T121, T122);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T124 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T183.vector_element_[0] = T105;
      T183.vector_element_[1] = T106;
      T183.vector_element_[2] = T107;
      T183.vector_element_[3] = T108;
      T183.vector_element_[4] = T109;
      T183.vector_element_[5] = T115;
      T183.vector_element_[6] = T116;
      T183.vector_element_[7] = T117;
      T183.vector_element_[8] = T118;
      T183.vector_element_[9] = T119;
      T183.vector_element_[10] = T182;
      T183.vector_element_[11] = parameter_list_fragment_;
      T183.vector_element_[12] = T120;
      T183.vector_element_[13] = return_values_fragment_;
      T183.vector_element_[14] = T123;
      T183.vector_element_[15] = T124;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:71
      T125 = Kmake_templateVdfmc_macro_expanderI(&T183);
      T147 = T125;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T126 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T127 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJconstant_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T128 = CONGRUENT_CALL1(dylan_nameF10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T129 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T130 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJobjcSregister_selector_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T131 = CONGRUENT_CALL1(selector_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T132 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T152 = type_encoding_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T133 = CONGRUENT_CALL1(T152);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T134 = CONGRUENT_CALL2(T132, T133);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T184.vector_element_[0] = T131;
      T184.vector_element_[1] = T134;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T135 = KlistVKdI(&T184);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T136 = Kmake_parens_fragmentVdfmc_macro_expanderI(T135);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T137 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T138 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T139 = CONGRUENT_CALL1(T165);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T140 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfunction_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      ENGINE_NODE_CALL_PROLOG(&Ksubstitute_spliced_as_nameVdfmc_macro_expander, &K99, 3);
      T185 = ENGINE_NODE_CALL3(&K99, &K98, dylan_nameF10, &KPempty_stringVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T141 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T142 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T143 = CONGRUENT_CALL1(body_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T144 = CONGRUENT_CALL2(T142, T143);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T145 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T186.vector_element_[0] = T126;
      T186.vector_element_[1] = T127;
      T186.vector_element_[2] = T128;
      T186.vector_element_[3] = T129;
      T186.vector_element_[4] = T130;
      T186.vector_element_[5] = T136;
      T186.vector_element_[6] = T137;
      T186.vector_element_[7] = T138;
      T186.vector_element_[8] = T139;
      T186.vector_element_[9] = T140;
      T186.vector_element_[10] = T185;
      T186.vector_element_[11] = parameter_list_fragment_;
      T186.vector_element_[12] = T141;
      T186.vector_element_[13] = return_values_fragment_;
      T186.vector_element_[14] = T144;
      T186.vector_element_[15] = T145;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:77
      T146 = Kmake_templateVdfmc_macro_expanderI(&T186);
      T147 = T146;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:70
    T150 = T147;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  return(T150);
}

dylan_value Kobjc_msgsend_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 T8_5;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value function_nameF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T13_2;
  dylan_value T14_0;
  dylan_value T14_1;
  dylan_value T14_2;
  dylan_value failureF15;
  dylan_value Uafter_fTUF16;
  dylan_value Unested_fTUF17;
  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 selectorF26;
  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 selectorF34;
  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 T38_0;
  dylan_value T38_1;
  dylan_value T38_2;
  dylan_value T39_0;
  dylan_value T39_1;
  dylan_value T39_2;
  dylan_value T40_0;
  dylan_value T40_1;
  dylan_value T40_2;
  dylan_value failureF41;
  dylan_value function_nameF42;
  dylan_value selectorF43;
  dylan_value T44_0;
  dylan_value T44_1;
  dylan_value T44_2;
  dylan_value T44_3;
  dylan_value T44_4;
  dylan_value T44_5;
  dylan_value T45_0;
  dylan_value T45_1;
  dylan_value T45_2;
  dylan_value failureF46;
  dylan_value UfT_afterUF47;
  dylan_value UfT_beforeUF48;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value T49_2;
  dylan_value T49_3;
  dylan_value T49_4;
  dylan_value T49_5;
  dylan_value T50_0;
  dylan_value T50_1;
  dylan_value T50_2;
  dylan_value failureF51;
  dylan_value Uafter_fTUF52;
  dylan_value Unested_fTUF53;
  dylan_value T54_0;
  dylan_value T54_1;
  dylan_value T55_0;
  dylan_value T55_1;
  dylan_value failureF56;
  dylan_value UfTUF57;
  dylan_value T58_0;
  dylan_value T58_1;
  dylan_value T59_0;
  dylan_value T59_1;
  dylan_value failureF60;
  dylan_value key_optionsF61;
  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 T65_0;
  dylan_value T65_1;
  dylan_value T66_0;
  dylan_value T66_1;
  dylan_value failureF67;
  dylan_value key_optionsF68;
  dylan_value T69_0;
  dylan_value T69_1;
  dylan_value T69_2;
  dylan_value T69_3;
  dylan_value T69_4;
  dylan_value T69_5;
  dylan_value T70_0;
  dylan_value T70_1;
  dylan_value T70_2;
  dylan_value failureF71;
  dylan_value UfT_afterUF72;
  dylan_value UfT_beforeUF73;
  dylan_value T74_0;
  dylan_value T74_1;
  dylan_value T74_2;
  dylan_value T74_3;
  dylan_value T74_4;
  dylan_value T74_5;
  dylan_value T75_0;
  dylan_value T75_1;
  dylan_value T75_2;
  dylan_value T75_3;
  dylan_value T75_4;
  dylan_value T75_5;
  dylan_value T76_0;
  dylan_value T76_1;
  dylan_value T76_2;
  dylan_value T76_3;
  dylan_value T76_4;
  dylan_value T76_5;
  dylan_value T77_0;
  dylan_value T77_1;
  dylan_value T77_2;
  dylan_value T77_3;
  dylan_value T77_4;
  dylan_value T77_5;
  dylan_value T78_0;
  dylan_value T78_1;
  dylan_value T78_2;
  dylan_value T78_3;
  dylan_value T78_4;
  dylan_value T78_5;
  dylan_value T79_0;
  dylan_value T79_1;
  dylan_value T79_2;
  dylan_value T79_3;
  dylan_value T79_4;
  dylan_value T79_5;
  dylan_value failureF80;
  dylan_value function_nameF81;
  dylan_value selectorF82;
  dylan_value key_optionsF83;
  dylan_value result_spec_;
  dylan_value argsF85;
  dylan_value function_nameF86;
  dylan_value T87;
  dylan_value key_optionsF88;
  dylan_value T89;
  dylan_value T90;
  dylan_value argsF91;
  dylan_value T92;
  dylan_value T93;
  dylan_value T94;
  dylan_value T95;
  dylan_value T96_0;
  dylan_value T96_1;
  dylan_value T97;
  dylan_value T98_0;
  dylan_value T98_1;
  dylan_value T98_2;
  dylan_value T99_0;
  dylan_value T99_1;
  dylan_value T100;
  dylan_value T101_0;
  dylan_value T101_1;
  dylan_value T102_0;
  dylan_value T102_1;
  dylan_value T102_2;
  dylan_value T102_3;
  dylan_value T102_4;
  dylan_value T102_5;
  dylan_value T103_0;
  dylan_value T103_1;
  dylan_value T103_2;
  dylan_value failureF104;
  dylan_value Uafter_fTUF105;
  dylan_value Unested_fTUF106;
  dylan_value T107_0;
  dylan_value T107_1;
  dylan_value failureF108;
  dylan_value UfTUF109;
  dylan_value T110_0;
  dylan_value T110_1;
  dylan_value failureF111;
  dylan_value UfTUF112;
  dylan_value T113;
  dylan_value T114;
  dylan_value failureF115;
  dylan_value T116;
  dylan_value T117;
  dylan_value failureF118;
  dylan_value T119;
  dylan_value T120;
  dylan_value T121_0;
  dylan_value T121_1;
  dylan_value T121_2;
  dylan_value failureF122;
  dylan_value Uafter_fTUF123;
  dylan_value Unested_fTUF124;
  dylan_value T125_0;
  dylan_value T125_1;
  dylan_value T125_2;
  dylan_value T125_3;
  dylan_value T126_0;
  dylan_value T126_1;
  dylan_value T126_2;
  dylan_value failureF127;
  dylan_value UfT_afterUF128;
  dylan_value UfT_beforeUF129;
  dylan_value T130_0;
  dylan_value T130_1;
  dylan_value T130_2;
  dylan_value T130_3;
  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 T135_3;
  dylan_value failureF136;
  dylan_value Uafter_fTUF137;
  dylan_value Uname_fTU_;
  dylan_value Utype_fTU_;
  dylan_value T140_0;
  dylan_value T140_1;
  dylan_value T140_2;
  dylan_value T141_0;
  dylan_value T141_1;
  dylan_value T141_2;
  dylan_value failureF142;
  dylan_value result_nameF143;
  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 failureF146;
  dylan_value typeF147;
  dylan_value T148_0;
  dylan_value T148_1;
  dylan_value T148_2;
  dylan_value T149_0;
  dylan_value T149_1;
  dylan_value T149_2;
  dylan_value T150_0;
  dylan_value T150_1;
  dylan_value T150_2;
  dylan_value T151_0;
  dylan_value T151_1;
  dylan_value T151_2;
  dylan_value T152_0;
  dylan_value T152_1;
  dylan_value T152_2;
  dylan_value T153_0;
  dylan_value T153_1;
  dylan_value T153_2;
  dylan_value T154_0;
  dylan_value T154_1;
  dylan_value T154_2;
  dylan_value failureF155;
  dylan_value result_nameF156;
  dylan_value typeF157;
  dylan_value T158_0;
  dylan_value T158_1;
  dylan_value T158_2;
  dylan_value T158_3;
  dylan_value T159_0;
  dylan_value T159_1;
  dylan_value T159_2;
  dylan_value T159_3;
  dylan_value T160_0;
  dylan_value T160_1;
  dylan_value T160_2;
  dylan_value T160_3;
  dylan_value failureF161;
  dylan_value result_nameF162;
  dylan_value typeF163;
  dylan_value key_optionsF164;
  dylan_value T165_0;
  dylan_value T165_1;
  dylan_value T165_2;
  dylan_value T165_3;
  dylan_value T166_0;
  dylan_value T166_1;
  dylan_value T166_2;
  dylan_value T166_3;
  dylan_value T167_0;
  dylan_value T167_1;
  dylan_value T167_2;
  dylan_value T167_3;
  dylan_value T168_0;
  dylan_value T168_1;
  dylan_value T168_2;
  dylan_value T168_3;
  dylan_value T169_0;
  dylan_value T169_1;
  dylan_value T169_2;
  dylan_value T169_3;
  dylan_value failureF170;
  dylan_value result_nameF171;
  dylan_value typeF172;
  dylan_value key_optionsF173;
  dylan_value result_nameF174;
  dylan_value typeF175;
  dylan_value T176;
  dylan_value key_optionsF177;
  dylan_value T178;
  dylan_value T179;
  dylan_value T180;
  dylan_value T181;
  dylan_value T182;
  _KLsimple_object_vectorGVKd_4 T183 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T184;
  dylan_value T185_0;
  dylan_value T185_1;
  dylan_value T185_2;
  dylan_value T186_0;
  dylan_value T186_1;
  dylan_value T186_2;
  dylan_value T186_3;
  dylan_value T187;
  dylan_value T188_0;
  dylan_value T188_1;
  dylan_value T188_2;
  dylan_value T188_3;
  _KLsimple_object_vectorGVKd_6 T189 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T190;
  dylan_value T191;
  dylan_value T192;
  dylan_value T193;
  dylan_value T194;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  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/objective-c.dylan:94
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  UfT_afterUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  UfT_beforeUF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T8_4 = &KPfalseVKi;
    T8_5 = &KPfalseVKi;
    T79_0 = T8_0;
    T79_1 = T8_1;
    T79_2 = T8_2;
    T79_3 = T8_3;
    T79_4 = T8_4;
    T79_5 = T8_5;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T9_0 = Kmatch_name_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/objective-c.dylan:94
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    UfTUF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    function_nameF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T13_2 = &KPfalseVKi;
      T40_0 = T13_0;
      T40_1 = T13_1;
      T40_2 = T13_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T14_0 = Kmatch_parensVdfmc_macro_expanderI(UfTUF11);
      T14_1 = MV_GET_ELT(1);
      T14_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF15 = T14_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      Uafter_fTUF16 = T14_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      Unested_fTUF17 = T14_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF15 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T18_0 = failureF15;
        T18_1 = &KPfalseVKi;
        T18_2 = &KPfalseVKi;
        T39_0 = T18_0;
        T39_1 = T18_1;
        T39_2 = T18_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T19_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF17, IKJselector_);
        T19_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF20 = T19_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        UfTUF21 = T19_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF20 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T22_0 = failureF20;
          T22_1 = &KPfalseVKi;
          T32_0 = T22_0;
          T32_1 = T22_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          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/objective-c.dylan:94
          failureF24 = T23_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          UfTUF25 = T23_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          selectorF26 = T23_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF24 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T27_0 = failureF24;
            T27_1 = &KPfalseVKi;
            T31_0 = T27_0;
            T31_1 = T27_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T28 = CONGRUENT_CALL1(UfTUF25);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            if (T28 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T96_0 = &KPfalseVKi;
              T96_1 = selectorF26;
              T30_0 = T96_0;
              T30_1 = T96_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T29_0 = &KPtrueVKi;
              T29_1 = &KPfalseVKi;
              T30_0 = T29_0;
              T30_1 = T29_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T31_0 = T30_0;
            T31_1 = T30_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T32_0 = T31_0;
          T32_1 = T31_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF33 = T32_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        selectorF34 = T32_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF33 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T35_0 = failureF33;
          T35_1 = &KPfalseVKi;
          T35_2 = &KPfalseVKi;
          T38_0 = T35_0;
          T38_1 = T35_1;
          T38_2 = T35_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T97 = primitive_idQ(Uafter_fTUF16,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (T97 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T98_0 = &KPfalseVKi;
            T98_1 = function_nameF12;
            T98_2 = selectorF34;
            T37_0 = T98_0;
            T37_1 = T98_1;
            T37_2 = T98_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T36_0 = &KPtrueVKi;
            T36_1 = &KPfalseVKi;
            T36_2 = &KPfalseVKi;
            T37_0 = T36_0;
            T37_1 = T36_1;
            T37_2 = T36_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T38_0 = T37_0;
          T38_1 = T37_1;
          T38_2 = T37_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T39_0 = T38_0;
        T39_1 = T38_1;
        T39_2 = T38_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T40_0 = T39_0;
      T40_1 = T39_1;
      T40_2 = T39_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    failureF41 = T40_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    function_nameF42 = T40_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    selectorF43 = T40_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    if (failureF41 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T44_0 = failureF41;
      T44_1 = &KPfalseVKi;
      T44_2 = &KPfalseVKi;
      T44_3 = &KPfalseVKi;
      T44_4 = &KPfalseVKi;
      T44_5 = &KPfalseVKi;
      T78_0 = T44_0;
      T78_1 = T44_1;
      T78_2 = T44_2;
      T78_3 = T44_3;
      T78_4 = T44_4;
      T78_5 = T44_5;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T45_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfT_afterUF6);
      T45_1 = MV_GET_ELT(1);
      T45_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF46 = T45_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      UfT_afterUF47 = T45_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      UfT_beforeUF48 = T45_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF46 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T49_0 = failureF46;
        T49_1 = &KPfalseVKi;
        T49_2 = &KPfalseVKi;
        T49_3 = &KPfalseVKi;
        T49_4 = &KPfalseVKi;
        T49_5 = &KPfalseVKi;
        T77_0 = T49_0;
        T77_1 = T49_1;
        T77_2 = T49_2;
        T77_3 = T49_3;
        T77_4 = T49_4;
        T77_5 = T49_5;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T50_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_beforeUF48);
        T50_1 = MV_GET_ELT(1);
        T50_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF51 = T50_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        Uafter_fTUF52 = T50_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        Unested_fTUF53 = T50_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF51 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T54_0 = failureF51;
          T54_1 = &KPfalseVKi;
          T66_0 = T54_0;
          T66_1 = T54_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T55_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF53, IKJoptions_);
          T55_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          failureF56 = T55_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          UfTUF57 = T55_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF56 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T58_0 = failureF56;
            T58_1 = &KPfalseVKi;
            T59_0 = T58_0;
            T59_1 = T58_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T99_0 = &KPfalseVKi;
            T99_1 = UfTUF57;
            T59_0 = T99_0;
            T59_1 = T99_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          failureF60 = T59_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          key_optionsF61 = T59_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF60 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T62_0 = failureF60;
            T62_1 = &KPfalseVKi;
            T65_0 = T62_0;
            T65_1 = T62_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T100 = primitive_idQ(Uafter_fTUF52,&KPempty_listVKi);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            if (T100 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T101_0 = &KPfalseVKi;
              T101_1 = key_optionsF61;
              T64_0 = T101_0;
              T64_1 = T101_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T63_0 = &KPtrueVKi;
              T63_1 = &KPfalseVKi;
              T64_0 = T63_0;
              T64_1 = T63_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T65_0 = T64_0;
            T65_1 = T64_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T66_0 = T65_0;
          T66_1 = T65_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF67 = T66_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        key_optionsF68 = T66_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF67 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T69_0 = failureF67;
          T69_1 = &KPfalseVKi;
          T69_2 = &KPfalseVKi;
          T69_3 = &KPfalseVKi;
          T69_4 = &KPfalseVKi;
          T69_5 = &KPfalseVKi;
          T76_0 = T69_0;
          T76_1 = T69_1;
          T76_2 = T69_2;
          T76_3 = T69_3;
          T76_4 = T69_4;
          T76_5 = T69_5;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T70_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF47);
          T70_1 = MV_GET_ELT(1);
          T70_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          failureF71 = T70_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          UfT_afterUF72 = T70_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          UfT_beforeUF73 = T70_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF71 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T74_0 = failureF71;
            T74_1 = &KPfalseVKi;
            T74_2 = &KPfalseVKi;
            T74_3 = &KPfalseVKi;
            T74_4 = &KPfalseVKi;
            T74_5 = &KPfalseVKi;
            T75_0 = T74_0;
            T75_1 = T74_1;
            T75_2 = T74_2;
            T75_3 = T74_3;
            T75_4 = T74_4;
            T75_5 = T74_5;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T102_0 = &KPfalseVKi;
            T102_1 = function_nameF42;
            T102_2 = selectorF43;
            T102_3 = key_optionsF68;
            T102_4 = UfT_beforeUF73;
            T102_5 = UfT_afterUF72;
            T75_0 = T102_0;
            T75_1 = T102_1;
            T75_2 = T102_2;
            T75_3 = T102_3;
            T75_4 = T102_4;
            T75_5 = T102_5;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T76_0 = T75_0;
          T76_1 = T75_1;
          T76_2 = T75_2;
          T76_3 = T75_3;
          T76_4 = T75_4;
          T76_5 = T75_5;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T77_0 = T76_0;
        T77_1 = T76_1;
        T77_2 = T76_2;
        T77_3 = T76_3;
        T77_4 = T76_4;
        T77_5 = T76_5;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T78_0 = T77_0;
      T78_1 = T77_1;
      T78_2 = T77_2;
      T78_3 = T77_3;
      T78_4 = T77_4;
      T78_5 = T77_5;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T79_0 = T78_0;
    T79_1 = T78_1;
    T79_2 = T78_2;
    T79_3 = T78_3;
    T79_4 = T78_4;
    T79_5 = T78_5;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  failureF80 = T79_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  function_nameF81 = T79_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  selectorF82 = T79_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  key_optionsF83 = T79_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  result_spec_ = T79_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  argsF85 = T79_5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  if (failureF80 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T93 = Kdylan_variable_nameVdfmc_readerI(IKJobjc_msgsend_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T94 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T93);
    T95 = T94;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    function_nameF86 = CONGRUENT_CALL1(function_nameF81);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    CONGRUENT_CALL1(selectorF82);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T87 = CONGRUENT_CALL1(key_optionsF83);
    key_optionsF88 = Kkey_options_rewriterF73I(T87);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T89 = CONGRUENT_CALL1(result_spec_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T103_0 = Kmatch_parensVdfmc_macro_expanderI(T89);
    T103_1 = MV_GET_ELT(1);
    T103_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    failureF104 = T103_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    Uafter_fTUF105 = T103_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    Unested_fTUF106 = T103_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    if (failureF104 != &KPfalseVKi) {
      failureF118 = failureF104;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T107_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF106, IKJresult_);
      T107_1 = MV_GET_ELT(1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF108 = T107_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      UfTUF109 = T107_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF108 != &KPfalseVKi) {
        failureF115 = failureF108;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T110_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF109, IKJvoid_);
        T110_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF111 = T110_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        UfTUF112 = T110_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF111 != &KPfalseVKi) {
          T114 = failureF111;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T181 = primitive_idQ(UfTUF112,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (T181 != &KPfalseVKi) {
            T113 = &KPfalseVKi;
          } else {
            T113 = &KPtrueVKi;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T114 = T113;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF115 = T114;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF115 != &KPfalseVKi) {
        T117 = failureF115;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T182 = primitive_idQ(Uafter_fTUF105,&KPempty_listVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (T182 != &KPfalseVKi) {
          T116 = &KPfalseVKi;
        } else {
          T116 = &KPtrueVKi;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T117 = T116;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF118 = T117;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    if (failureF118 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T121_0 = Kmatch_parensVdfmc_macro_expanderI(T89);
      T121_1 = MV_GET_ELT(1);
      T121_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF122 = T121_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      Uafter_fTUF123 = T121_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      Unested_fTUF124 = T121_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF122 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T125_0 = failureF122;
        T125_1 = &KPfalseVKi;
        T125_2 = &KPfalseVKi;
        T125_3 = &KPfalseVKi;
        T169_0 = T125_0;
        T169_1 = T125_1;
        T169_2 = T125_2;
        T169_3 = T125_3;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T126_0 = Kmatch_list_partVdfmc_macro_expanderI(Unested_fTUF124);
        T126_1 = MV_GET_ELT(1);
        T126_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF127 = T126_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        UfT_afterUF128 = T126_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        UfT_beforeUF129 = T126_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF127 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T130_0 = failureF127;
          T130_1 = &KPfalseVKi;
          T130_2 = &KPfalseVKi;
          T130_3 = &KPfalseVKi;
          T160_0 = T130_0;
          T160_1 = T130_1;
          T160_2 = T130_2;
          T160_3 = T130_3;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T131_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF129, IKJresult_);
          T131_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          failureF132 = T131_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          UfTUF133 = T131_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF132 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T134_0 = failureF132;
            T134_1 = &KPfalseVKi;
            T134_2 = &KPfalseVKi;
            T154_0 = T134_0;
            T154_1 = T134_1;
            T154_2 = T134_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T135_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF133);
            T135_1 = MV_GET_ELT(1);
            T135_2 = MV_GET_ELT(2);
            T135_3 = MV_GET_ELT(3);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            failureF136 = T135_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            Uafter_fTUF137 = T135_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            Uname_fTU_ = T135_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            Utype_fTU_ = T135_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            if (failureF136 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T140_0 = failureF136;
              T140_1 = &KPfalseVKi;
              T140_2 = &KPfalseVKi;
              T153_0 = T140_0;
              T153_1 = T140_1;
              T153_2 = T140_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T141_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
              T141_1 = MV_GET_ELT(1);
              T141_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              failureF142 = T141_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              result_nameF143 = T141_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              if (failureF142 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T144_0 = failureF142;
                T144_1 = &KPfalseVKi;
                T144_2 = &KPfalseVKi;
                T152_0 = T144_0;
                T152_1 = T144_1;
                T152_2 = T144_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T145_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
                T145_1 = MV_GET_ELT(1);
                T145_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                failureF146 = T145_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                typeF147 = T145_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                if (failureF146 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  T148_0 = failureF146;
                  T148_1 = &KPfalseVKi;
                  T148_2 = &KPfalseVKi;
                  T151_0 = T148_0;
                  T151_1 = T148_1;
                  T151_2 = T148_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  T184 = primitive_idQ(Uafter_fTUF137,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  if (T184 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                    T185_0 = &KPfalseVKi;
                    T185_1 = result_nameF143;
                    T185_2 = typeF147;
                    T150_0 = T185_0;
                    T150_1 = T185_1;
                    T150_2 = T185_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                    T149_0 = &KPtrueVKi;
                    T149_1 = &KPfalseVKi;
                    T149_2 = &KPfalseVKi;
                    T150_0 = T149_0;
                    T150_1 = T149_1;
                    T150_2 = T149_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  T151_0 = T150_0;
                  T151_1 = T150_1;
                  T151_2 = T150_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T152_0 = T151_0;
                T152_1 = T151_1;
                T152_2 = T151_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T153_0 = T152_0;
              T153_1 = T152_1;
              T153_2 = T152_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T154_0 = T153_0;
            T154_1 = T153_1;
            T154_2 = T153_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          failureF155 = T154_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          result_nameF156 = T154_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          typeF157 = T154_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF155 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T158_0 = failureF155;
            T158_1 = &KPfalseVKi;
            T158_2 = &KPfalseVKi;
            T158_3 = &KPfalseVKi;
            T159_0 = T158_0;
            T159_1 = T158_1;
            T159_2 = T158_2;
            T159_3 = T158_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T186_0 = &KPfalseVKi;
            T186_1 = result_nameF156;
            T186_2 = typeF157;
            T186_3 = UfT_afterUF128;
            T159_0 = T186_0;
            T159_1 = T186_1;
            T159_2 = T186_2;
            T159_3 = T186_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T160_0 = T159_0;
          T160_1 = T159_1;
          T160_2 = T159_2;
          T160_3 = T159_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF161 = T160_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        result_nameF162 = T160_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        typeF163 = T160_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        key_optionsF164 = T160_3;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF161 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T165_0 = failureF161;
          T165_1 = &KPfalseVKi;
          T165_2 = &KPfalseVKi;
          T165_3 = &KPfalseVKi;
          T168_0 = T165_0;
          T168_1 = T165_1;
          T168_2 = T165_2;
          T168_3 = T165_3;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T187 = primitive_idQ(Uafter_fTUF123,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (T187 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T188_0 = &KPfalseVKi;
            T188_1 = result_nameF162;
            T188_2 = typeF163;
            T188_3 = key_optionsF164;
            T167_0 = T188_0;
            T167_1 = T188_1;
            T167_2 = T188_2;
            T167_3 = T188_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T166_0 = &KPtrueVKi;
            T166_1 = &KPfalseVKi;
            T166_2 = &KPfalseVKi;
            T166_3 = &KPfalseVKi;
            T167_0 = T166_0;
            T167_1 = T166_1;
            T167_2 = T166_2;
            T167_3 = T166_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T168_0 = T167_0;
          T168_1 = T167_1;
          T168_2 = T167_2;
          T168_3 = T167_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T169_0 = T168_0;
        T169_1 = T168_1;
        T169_2 = T168_2;
        T169_3 = T168_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF170 = T169_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      result_nameF171 = T169_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      typeF172 = T169_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      key_optionsF173 = T169_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF170 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T179 = Kdylan_variable_nameVdfmc_readerI(IKJobjc_msgsend_body_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T180 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T89, T179, IKJresult_spec_);
        T190 = T180;
        T192 = T190;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        result_nameF174 = CONGRUENT_CALL1(result_nameF171);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF175 = CONGRUENT_CALL1(typeF172);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T176 = CONGRUENT_CALL1(key_optionsF173);
        key_optionsF177 = Kkey_options_rewriterF73I(T176);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:123
        T189.vector_element_[0] = &KLc_ffi_result_descriptorGVdfmc_c_ffi;
        T189.vector_element_[1] = &KJname_;
        T189.vector_element_[2] = result_nameF174;
        T189.vector_element_[3] = IKJdesignator_name_;
        T189.vector_element_[4] = typeF175;
        T189.vector_element_[5] = key_optionsF177;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:123
        T178 = KapplyVKdI(&KmakeVKd, &T189);
        T191 = T178;
        T192 = T191;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T194 = T192;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:120
      T119 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:119
      T183.vector_element_[0] = &KJname_;
      T183.vector_element_[1] = T119;
      T183.vector_element_[2] = IKJvoidQ_;
      T183.vector_element_[3] = &KPtrueVKi;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:119
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T120 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T183);
      T193 = T120;
      T194 = T193;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T90 = CONGRUENT_CALL1(argsF85);
    argsF91 = Kargs_rewriterF59I(T90);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:101
    T92 = CALL5(&Kexpand_objc_msgsend_bodyVdfmc_c_ffiMM0, form_, function_nameF86, T194, argsF91, key_optionsF88);
    T95 = T92;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  return(T95);
}

static dylan_value Kkey_options_rewriterF73I (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 T8_3;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value keyF12;
  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 keyF19;
  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 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 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 T38_3;
  dylan_value T39_0;
  dylan_value T39_1;
  dylan_value T39_2;
  dylan_value T39_3;
  dylan_value T40_0;
  dylan_value T40_1;
  dylan_value T40_2;
  dylan_value T40_3;
  dylan_value T41_0;
  dylan_value T41_1;
  dylan_value T41_2;
  dylan_value T41_3;
  dylan_value failureF42;
  dylan_value keyF43;
  dylan_value valueF44;
  dylan_value key_optionsF45;
  dylan_value keyF46;
  dylan_value valueF47;
  dylan_value T48;
  dylan_value key_optionsF49;
  dylan_value T50;
  dylan_value T51;
  dylan_value T52;
  dylan_value T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56;
  dylan_value T57_0;
  dylan_value T57_1;
  dylan_value T58_0;
  dylan_value T58_1;
  dylan_value T59_0;
  dylan_value T59_1;
  dylan_value T59_2;
  dylan_value T59_3;
  dylan_value T60;
  dylan_value T61;
  dylan_value T62_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  T56 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  if (T56 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    UfT_afterUF6 = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    UfT_beforeUF7 = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T8_3 = &KPfalseVKi;
      T41_0 = T8_0;
      T41_1 = T8_1;
      T41_2 = T8_2;
      T41_3 = T8_3;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      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/objective-c.dylan:94
      failureF10 = T9_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      UfTUF11 = T9_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      keyF12 = T9_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF10 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T13_0 = failureF10;
        T13_1 = &KPfalseVKi;
        T17_0 = T13_0;
        T17_1 = T13_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T14 = CONGRUENT_CALL1(UfTUF11);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (T14 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T57_0 = &KPfalseVKi;
          T57_1 = keyF12;
          T16_0 = T57_0;
          T16_1 = T57_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T15_0 = &KPtrueVKi;
          T15_1 = &KPfalseVKi;
          T16_0 = T15_0;
          T16_1 = T15_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T17_0 = T16_0;
        T17_1 = T16_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF18 = T17_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      keyF19 = T17_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF18 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T20_0 = failureF18;
        T20_1 = &KPfalseVKi;
        T20_2 = &KPfalseVKi;
        T20_3 = &KPfalseVKi;
        T40_0 = T20_0;
        T40_1 = T20_1;
        T40_2 = T20_2;
        T40_3 = T20_3;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        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/objective-c.dylan:94
        failureF22 = T21_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        UfT_afterUF23 = T21_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        UfT_beforeUF24 = T21_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF22 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T25_0 = failureF22;
          T25_1 = &KPfalseVKi;
          T25_2 = &KPfalseVKi;
          T25_3 = &KPfalseVKi;
          T39_0 = T25_0;
          T39_1 = T25_1;
          T39_2 = T25_2;
          T39_3 = T25_3;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          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/objective-c.dylan:94
          failureF27 = T26_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          UfTUF28 = T26_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          valueF29 = T26_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF27 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T30_0 = failureF27;
            T30_1 = &KPfalseVKi;
            T34_0 = T30_0;
            T34_1 = T30_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T31 = CONGRUENT_CALL1(UfTUF28);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            if (T31 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T58_0 = &KPfalseVKi;
              T58_1 = valueF29;
              T33_0 = T58_0;
              T33_1 = T58_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T32_0 = &KPtrueVKi;
              T32_1 = &KPfalseVKi;
              T33_0 = T32_0;
              T33_1 = T32_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T34_0 = T33_0;
            T34_1 = T33_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          failureF35 = T34_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          valueF36 = T34_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF35 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T37_0 = failureF35;
            T37_1 = &KPfalseVKi;
            T37_2 = &KPfalseVKi;
            T37_3 = &KPfalseVKi;
            T38_0 = T37_0;
            T38_1 = T37_1;
            T38_2 = T37_2;
            T38_3 = T37_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T59_0 = &KPfalseVKi;
            T59_1 = keyF19;
            T59_2 = valueF36;
            T59_3 = UfT_afterUF23;
            T38_0 = T59_0;
            T38_1 = T59_1;
            T38_2 = T59_2;
            T38_3 = T59_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T39_0 = T38_0;
          T39_1 = T38_1;
          T39_2 = T38_2;
          T39_3 = T38_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T40_0 = T39_0;
        T40_1 = T39_1;
        T40_2 = T39_2;
        T40_3 = T39_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T41_0 = T40_0;
      T41_1 = T40_1;
      T41_2 = T40_2;
      T41_3 = T40_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    failureF42 = T41_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    keyF43 = T41_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    valueF44 = T41_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    key_optionsF45 = T41_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    if (failureF42 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T52 = Kdylan_variable_nameVdfmc_readerI(IKJobjc_msgsend_body_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T53 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T52, IKJkey_options_);
      T54 = T53;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      keyF46 = CONGRUENT_CALL1(keyF43);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      valueF47 = CONGRUENT_CALL1(valueF44);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T48 = CONGRUENT_CALL1(key_optionsF45);
      key_optionsF49 = Kkey_options_rewriterF73I(T48);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      T50 = CALL1(&Kfragment_valueVdfmc_reader, keyF46);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T51 = CONGRUENT_CALL2(&KLsymbolGVKd, T50);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      T60 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      SLOT_VALUE_SETTER(valueF47, T60, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      SLOT_VALUE_SETTER(key_optionsF49, T60, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      T61 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      SLOT_VALUE_SETTER(T51, T61, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      SLOT_VALUE_SETTER(T60, T61, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:133
      T62_0 = T61;
      T54 = T62_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T55 = T54;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:129
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T55 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  return(T55);
}

static dylan_value Kargs_rewriterF59I (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 arg_;
  dylan_value argsF12;
  dylan_value T13;
  dylan_value T14;
  dylan_value argsF15;
  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_0;
  dylan_value T22_1;
  dylan_value T22_2;
  dylan_value failureF23;
  dylan_value Uafter_fTUF24;
  dylan_value Unested_fTU_;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value T26_3;
  dylan_value T26_4;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T27_2;
  dylan_value failureF28;
  dylan_value UfT_afterUF29;
  dylan_value UfT_beforeUF30;
  dylan_value T31_0;
  dylan_value T31_1;
  dylan_value T31_2;
  dylan_value T31_3;
  dylan_value T31_4;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value failureF33;
  dylan_value UfTUF34;
  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 T36_3;
  dylan_value failureF37;
  dylan_value Uafter_fTUF38;
  dylan_value Uname_fTU_;
  dylan_value Utype_fTU_;
  dylan_value T41_0;
  dylan_value T41_1;
  dylan_value T41_2;
  dylan_value T42_0;
  dylan_value T42_1;
  dylan_value T42_2;
  dylan_value failureF43;
  dylan_value arg_nameF44;
  dylan_value T45_0;
  dylan_value T45_1;
  dylan_value T45_2;
  dylan_value T46_0;
  dylan_value T46_1;
  dylan_value T46_2;
  dylan_value failureF47;
  dylan_value typeF48;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value T49_2;
  dylan_value T50_0;
  dylan_value T50_1;
  dylan_value T50_2;
  dylan_value T51_0;
  dylan_value T51_1;
  dylan_value T51_2;
  dylan_value T52_0;
  dylan_value T52_1;
  dylan_value T52_2;
  dylan_value T53_0;
  dylan_value T53_1;
  dylan_value T53_2;
  dylan_value T54_0;
  dylan_value T54_1;
  dylan_value T54_2;
  dylan_value T55_0;
  dylan_value T55_1;
  dylan_value T55_2;
  dylan_value failureF56;
  dylan_value arg_nameF57;
  dylan_value typeF58;
  dylan_value T59_0;
  dylan_value T59_1;
  dylan_value T59_2;
  dylan_value T59_3;
  dylan_value T59_4;
  dylan_value T60_0;
  dylan_value T60_1;
  dylan_value T60_2;
  dylan_value failureF61;
  dylan_value UfT_afterUF62;
  dylan_value UfT_beforeUF63;
  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 failureF66;
  dylan_value UfTUF67;
  dylan_value T68_0;
  dylan_value T68_1;
  dylan_value T69_0;
  dylan_value T69_1;
  dylan_value T69_2;
  dylan_value failureF70;
  dylan_value UfTUF71;
  dylan_value disciplineF72;
  dylan_value T73_0;
  dylan_value T73_1;
  dylan_value T74;
  dylan_value T75_0;
  dylan_value T75_1;
  dylan_value T76_0;
  dylan_value T76_1;
  dylan_value T77_0;
  dylan_value T77_1;
  dylan_value T78_0;
  dylan_value T78_1;
  dylan_value failureF79;
  dylan_value disciplineF80;
  dylan_value T81_0;
  dylan_value T81_1;
  dylan_value T81_2;
  dylan_value T81_3;
  dylan_value T81_4;
  dylan_value T82_0;
  dylan_value T82_1;
  dylan_value T82_2;
  dylan_value T82_3;
  dylan_value T82_4;
  dylan_value T83_0;
  dylan_value T83_1;
  dylan_value T83_2;
  dylan_value T83_3;
  dylan_value T83_4;
  dylan_value T84_0;
  dylan_value T84_1;
  dylan_value T84_2;
  dylan_value T84_3;
  dylan_value T84_4;
  dylan_value T85_0;
  dylan_value T85_1;
  dylan_value T85_2;
  dylan_value T85_3;
  dylan_value T85_4;
  dylan_value failureF86;
  dylan_value arg_nameF87;
  dylan_value typeF88;
  dylan_value disciplineF89;
  dylan_value key_optionsF90;
  dylan_value T91_0;
  dylan_value T91_1;
  dylan_value T91_2;
  dylan_value T91_3;
  dylan_value T91_4;
  dylan_value T92_0;
  dylan_value T92_1;
  dylan_value T92_2;
  dylan_value T92_3;
  dylan_value T92_4;
  dylan_value T93_0;
  dylan_value T93_1;
  dylan_value T93_2;
  dylan_value T93_3;
  dylan_value T93_4;
  dylan_value T94_0;
  dylan_value T94_1;
  dylan_value T94_2;
  dylan_value T94_3;
  dylan_value T94_4;
  dylan_value T95_0;
  dylan_value T95_1;
  dylan_value T95_2;
  dylan_value T95_3;
  dylan_value T95_4;
  dylan_value failureF96;
  dylan_value arg_nameF97;
  dylan_value typeF98;
  dylan_value disciplineF99;
  dylan_value key_optionsF100;
  dylan_value arg_nameF101;
  dylan_value typeF102;
  dylan_value disciplineF103;
  dylan_value T104;
  dylan_value key_optionsF105;
  dylan_value T106;
  dylan_value T107;
  dylan_value T108;
  dylan_value T109;
  dylan_value T110;
  dylan_value T111;
  dylan_value T112_0;
  dylan_value T112_1;
  dylan_value T112_2;
  dylan_value T113_0;
  dylan_value T113_1;
  dylan_value T114_0;
  dylan_value T114_1;
  dylan_value T114_2;
  dylan_value T114_3;
  dylan_value T114_4;
  dylan_value T115;
  dylan_value T116_0;
  dylan_value T116_1;
  dylan_value T116_2;
  dylan_value T116_3;
  dylan_value T116_4;
  _KLsimple_object_vectorGVKd_8 T117 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  dylan_value T118;
  dylan_value T119;
  dylan_value T120;
  dylan_value T121;
  dylan_value T122_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    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/objective-c.dylan:94
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    UfT_afterUF6 = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    UfT_beforeUF7 = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      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/objective-c.dylan:94
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeUF7;
      T21_2 = UfT_afterUF6;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    arg_ = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    argsF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJobjc_msgsend_body_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJargs_);
      T18 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T13 = CONGRUENT_CALL1(arg_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      T22_0 = Kmatch_parensVdfmc_macro_expanderI(T13);
      T22_1 = MV_GET_ELT(1);
      T22_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF23 = T22_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      Uafter_fTUF24 = T22_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      Unested_fTU_ = T22_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF23 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T26_0 = failureF23;
        T26_1 = &KPfalseVKi;
        T26_2 = &KPfalseVKi;
        T26_3 = &KPfalseVKi;
        T26_4 = &KPfalseVKi;
        T95_0 = T26_0;
        T95_1 = T26_1;
        T95_2 = T26_2;
        T95_3 = T26_3;
        T95_4 = T26_4;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T27_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(Unested_fTU_);
        T27_1 = MV_GET_ELT(1);
        T27_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF28 = T27_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        UfT_afterUF29 = T27_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        UfT_beforeUF30 = T27_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF28 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T31_0 = failureF28;
          T31_1 = &KPfalseVKi;
          T31_2 = &KPfalseVKi;
          T31_3 = &KPfalseVKi;
          T31_4 = &KPfalseVKi;
          T85_0 = T31_0;
          T85_1 = T31_1;
          T85_2 = T31_2;
          T85_3 = T31_3;
          T85_4 = T31_4;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T32_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF30, IKJparameter_);
          T32_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          failureF33 = T32_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          UfTUF34 = T32_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF33 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T35_0 = failureF33;
            T35_1 = &KPfalseVKi;
            T35_2 = &KPfalseVKi;
            T55_0 = T35_0;
            T55_1 = T35_1;
            T55_2 = T35_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T36_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF34);
            T36_1 = MV_GET_ELT(1);
            T36_2 = MV_GET_ELT(2);
            T36_3 = MV_GET_ELT(3);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            failureF37 = T36_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            Uafter_fTUF38 = T36_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            Uname_fTU_ = T36_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            Utype_fTU_ = T36_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            if (failureF37 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T41_0 = failureF37;
              T41_1 = &KPfalseVKi;
              T41_2 = &KPfalseVKi;
              T54_0 = T41_0;
              T54_1 = T41_1;
              T54_2 = T41_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T42_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
              T42_1 = MV_GET_ELT(1);
              T42_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              failureF43 = T42_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              arg_nameF44 = T42_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              if (failureF43 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T45_0 = failureF43;
                T45_1 = &KPfalseVKi;
                T45_2 = &KPfalseVKi;
                T53_0 = T45_0;
                T53_1 = T45_1;
                T53_2 = T45_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T46_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
                T46_1 = MV_GET_ELT(1);
                T46_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                failureF47 = T46_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                typeF48 = T46_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                if (failureF47 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  T49_0 = failureF47;
                  T49_1 = &KPfalseVKi;
                  T49_2 = &KPfalseVKi;
                  T52_0 = T49_0;
                  T52_1 = T49_1;
                  T52_2 = T49_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  T111 = primitive_idQ(Uafter_fTUF38,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  if (T111 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                    T112_0 = &KPfalseVKi;
                    T112_1 = arg_nameF44;
                    T112_2 = typeF48;
                    T51_0 = T112_0;
                    T51_1 = T112_1;
                    T51_2 = T112_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                    T50_0 = &KPtrueVKi;
                    T50_1 = &KPfalseVKi;
                    T50_2 = &KPfalseVKi;
                    T51_0 = T50_0;
                    T51_1 = T50_1;
                    T51_2 = T50_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  T52_0 = T51_0;
                  T52_1 = T51_1;
                  T52_2 = T51_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T53_0 = T52_0;
                T53_1 = T52_1;
                T53_2 = T52_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T54_0 = T53_0;
              T54_1 = T53_1;
              T54_2 = T53_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T55_0 = T54_0;
            T55_1 = T54_1;
            T55_2 = T54_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          failureF56 = T55_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          arg_nameF57 = T55_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          typeF58 = T55_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (failureF56 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T59_0 = failureF56;
            T59_1 = &KPfalseVKi;
            T59_2 = &KPfalseVKi;
            T59_3 = &KPfalseVKi;
            T59_4 = &KPfalseVKi;
            T84_0 = T59_0;
            T84_1 = T59_1;
            T84_2 = T59_2;
            T84_3 = T59_3;
            T84_4 = T59_4;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T60_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF29);
            T60_1 = MV_GET_ELT(1);
            T60_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            failureF61 = T60_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            UfT_afterUF62 = T60_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            UfT_beforeUF63 = T60_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            if (failureF61 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T64_0 = failureF61;
              T64_1 = &KPfalseVKi;
              T64_2 = &KPfalseVKi;
              T64_3 = &KPfalseVKi;
              T64_4 = &KPfalseVKi;
              T83_0 = T64_0;
              T83_1 = T64_1;
              T83_2 = T64_2;
              T83_3 = T64_3;
              T83_4 = T64_4;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T65_0 = Kmatch_literalVdfmc_macro_expanderI(UfT_beforeUF63, IKJcall_discipline_);
              T65_1 = MV_GET_ELT(1);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              failureF66 = T65_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              UfTUF67 = T65_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              if (failureF66 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T68_0 = failureF66;
                T68_1 = &KPfalseVKi;
                T78_0 = T68_0;
                T78_1 = T68_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T69_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF67);
                T69_1 = MV_GET_ELT(1);
                T69_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                failureF70 = T69_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                UfTUF71 = T69_1;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                disciplineF72 = T69_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                if (failureF70 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  T73_0 = failureF70;
                  T73_1 = &KPfalseVKi;
                  T77_0 = T73_0;
                  T77_1 = T73_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                  T74 = CONGRUENT_CALL1(UfTUF71);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  if (T74 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                    T113_0 = &KPfalseVKi;
                    T113_1 = disciplineF72;
                    T76_0 = T113_0;
                    T76_1 = T113_1;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                    T75_0 = &KPtrueVKi;
                    T75_1 = &KPfalseVKi;
                    T76_0 = T75_0;
                    T76_1 = T75_1;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                  T77_0 = T76_0;
                  T77_1 = T76_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T78_0 = T77_0;
                T78_1 = T77_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              failureF79 = T78_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              disciplineF80 = T78_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              if (failureF79 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T81_0 = failureF79;
                T81_1 = &KPfalseVKi;
                T81_2 = &KPfalseVKi;
                T81_3 = &KPfalseVKi;
                T81_4 = &KPfalseVKi;
                T82_0 = T81_0;
                T82_1 = T81_1;
                T82_2 = T81_2;
                T82_3 = T81_3;
                T82_4 = T81_4;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
                T114_0 = &KPfalseVKi;
                T114_1 = arg_nameF57;
                T114_2 = typeF58;
                T114_3 = disciplineF80;
                T114_4 = UfT_afterUF62;
                T82_0 = T114_0;
                T82_1 = T114_1;
                T82_2 = T114_2;
                T82_3 = T114_3;
                T82_4 = T114_4;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
              T83_0 = T82_0;
              T83_1 = T82_1;
              T83_2 = T82_2;
              T83_3 = T82_3;
              T83_4 = T82_4;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T84_0 = T83_0;
            T84_1 = T83_1;
            T84_2 = T83_2;
            T84_3 = T83_3;
            T84_4 = T83_4;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T85_0 = T84_0;
          T85_1 = T84_1;
          T85_2 = T84_2;
          T85_3 = T84_3;
          T85_4 = T84_4;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        failureF86 = T85_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        arg_nameF87 = T85_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        typeF88 = T85_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        disciplineF89 = T85_3;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        key_optionsF90 = T85_4;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        if (failureF86 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T91_0 = failureF86;
          T91_1 = &KPfalseVKi;
          T91_2 = &KPfalseVKi;
          T91_3 = &KPfalseVKi;
          T91_4 = &KPfalseVKi;
          T94_0 = T91_0;
          T94_1 = T91_1;
          T94_2 = T91_2;
          T94_3 = T91_3;
          T94_4 = T91_4;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T115 = primitive_idQ(Uafter_fTUF24,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          if (T115 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T116_0 = &KPfalseVKi;
            T116_1 = arg_nameF87;
            T116_2 = typeF88;
            T116_3 = disciplineF89;
            T116_4 = key_optionsF90;
            T93_0 = T116_0;
            T93_1 = T116_1;
            T93_2 = T116_2;
            T93_3 = T116_3;
            T93_4 = T116_4;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
            T92_0 = &KPtrueVKi;
            T92_1 = &KPfalseVKi;
            T92_2 = &KPfalseVKi;
            T92_3 = &KPfalseVKi;
            T92_4 = &KPfalseVKi;
            T93_0 = T92_0;
            T93_1 = T92_1;
            T93_2 = T92_2;
            T93_3 = T92_3;
            T93_4 = T92_4;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
          T94_0 = T93_0;
          T94_1 = T93_1;
          T94_2 = T93_2;
          T94_3 = T93_3;
          T94_4 = T93_4;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T95_0 = T94_0;
        T95_1 = T94_1;
        T95_2 = T94_2;
        T95_3 = T94_3;
        T95_4 = T94_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      failureF96 = T95_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      arg_nameF97 = T95_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      typeF98 = T95_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      disciplineF99 = T95_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      key_optionsF100 = T95_4;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      if (failureF96 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T109 = Kdylan_variable_nameVdfmc_readerI(IKJobjc_msgsend_body_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        T110 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T13, T109, IKJarg_);
        T118 = T110;
        T120 = T118;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        arg_nameF101 = CONGRUENT_CALL1(arg_nameF97);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF102 = CONGRUENT_CALL1(typeF98);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        disciplineF103 = CONGRUENT_CALL1(disciplineF99);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T104 = CONGRUENT_CALL1(key_optionsF100);
        key_optionsF105 = Kkey_options_rewriterF73I(T104);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:115
        T106 = CALL1(&Kfragment_valueVdfmc_reader, disciplineF103);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:115
        CONGRUENT_CALL_PROLOG(&KasVKd, 2);
        T107 = CONGRUENT_CALL2(&KLsymbolGVKd, T106);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:109
        T117.vector_element_[0] = &KLc_ffi_argument_descriptorGVdfmc_c_ffi;
        T117.vector_element_[1] = &KJname_;
        T117.vector_element_[2] = arg_nameF101;
        T117.vector_element_[3] = IKJdesignator_name_;
        T117.vector_element_[4] = typeF102;
        T117.vector_element_[5] = IKJcall_discipline_;
        T117.vector_element_[6] = T107;
        T117.vector_element_[7] = key_optionsF105;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:109
        T108 = KapplyVKdI(&KmakeVKd, &T117);
        T119 = T108;
        T120 = T119;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(argsF12);
      argsF15 = Kargs_rewriterF59I(T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:105
      T121 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:105
      SLOT_VALUE_SETTER(T120, T121, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:105
      SLOT_VALUE_SETTER(argsF15, T121, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:105
      T122_0 = T121;
      T18 = T122_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
    T19 = T18;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:104
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  return(T19);
}

dylan_value Kexpand_objc_msgsend_bodyVdfmc_c_ffiMM0I (dylan_value form_, dylan_value dylan_name_, dylan_value result_desc_, dylan_value arg_specs_, dylan_value options_) {
  dylan_value result_designatorF6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10_0;
  dylan_value T10_1;
  dylan_value T10_2;
  dylan_value T10_3;
  dylan_value T10_4;
  dylan_value T10_5;
  dylan_value T10_6;
  dylan_value stack_allocation_heads_;
  dylan_value in_out_arg_set_forms_;
  dylan_value c_function_parameter_listF13;
  dylan_value c_function_argumentsF14;
  dylan_value extra_return_values_;
  dylan_value selector_expr_;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value result_boxer_;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value result_name_;
  dylan_value T25;
  dylan_value result_dylan_type_;
  dylan_value T27;
  dylan_value T28;
  dylan_value T29;
  dylan_value result_raw_type_;
  dylan_value T31;
  dylan_value result_low_type_;
  dylan_value Utmp_;
  dylan_value T34;
  dylan_value T35;
  dylan_value T36;
  dylan_value import_function_;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40;
  dylan_value return_values_;
  dylan_value modifiers_expr_;
  dylan_value T43;
  dylan_value T44;
  dylan_value modifiers_;
  dylan_value T46;
  dylan_value T47;
  dylan_value T48_0;
  dylan_value T48_1;
  dylan_value T48_2;
  dylan_value target_;
  dylan_value c_function_parameter_listF50;
  dylan_value c_function_argumentsF51;
  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 foreign_call_;
  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 result_binding_;
  dylan_value stack_allocation_size_;
  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_0;
  dylan_value result_designatorF110;
  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 selector_;
  dylan_value T126;
  dylan_value T127;
  dylan_value T128;
  dylan_value T129;
  dylan_value T130;
  dylan_value T131;
  dylan_value T132;
  dylan_value T133;
  _KLsimple_object_vectorGVKd_1 T134 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T135;
  dylan_value T136;
  dylan_value T137;
  dylan_value T138;
  dylan_value T139;
  dylan_value T140;
  dylan_value T141T, T141;
  dylan_value T142;
  dylan_value T143;
  dylan_value T144;
  dylan_value T145;
  dylan_value T146;
  dylan_value T147;
  dylan_value T148;
  dylan_value T149;
  dylan_value T150;
  dylan_value T151;
  dylan_value T152;
  dylan_value T153;
  dylan_value T154;
  _KLsimple_object_vectorGVKd_1 T155 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T156 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T157;
  dylan_value T158;
  dylan_value T159;
  dylan_value T160;
  dylan_value T161;
  _KLsimple_object_vectorGVKd_6 T162 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  _KLsimple_object_vectorGVKd_4 T163 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_1 T164 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T165 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T166 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T167 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T168;
  _KLsimple_object_vectorGVKd_2 T169 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value val_;
  dylan_value T171;
  dylan_value T172;
  _KLsimple_object_vectorGVKd_6 T173 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T174;
  dylan_value T175_0;
  dylan_value T176;
  dylan_value T177;
  dylan_value T178_0;
  dylan_value T178_1;
  dylan_value T178_2;
  _KLsimple_object_vectorGVKd_4 T179 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T180_0;
  dylan_value T180_1;
  dylan_value T180_2;
  _KLsimple_object_vectorGVKd_1 T181 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T182;
  _KLsimple_object_vectorGVKd_7 T183 = {&KLsimple_object_vectorGVKdW, (dylan_value) 29};
  _KLsimple_object_vectorGVKd_1 T184 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_3 T185 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};
  _KLsimple_object_vectorGVKd_1 T186 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_7 T187 = {&KLsimple_object_vectorGVKdW, (dylan_value) 29};
  _KLsimple_object_vectorGVKd_3 T188 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};
  _KLsimple_object_vectorGVKd_2 T189 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_7 T190 = {&KLsimple_object_vectorGVKdW, (dylan_value) 29};
  _KLsimple_object_vectorGVKd_1 T191 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T192;
  _KLsimple_object_vectorGVKd_1 T193 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_5 T194 = {&KLsimple_object_vectorGVKdW, (dylan_value) 21};
  dylan_value stack_head_;
  dylan_value T196;
  dylan_value T197;
  dylan_value T198;
  dylan_value T199;
  dylan_value T200;
  dylan_value T201;
  DWORD T202;
  _KLsimple_object_vectorGVKd_4 T203 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T204;
  DWORD iF205T, iF205;
  dylan_value bodyF206T, bodyF206;
  dylan_value T207;
  dylan_value T208;
  dylan_value T209;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:136
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:145
  T128 = SLOT_VALUE_INITD(result_desc_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:145
  if (T128 != &KPfalseVKi) {
    result_designatorF6 = &KPfalseVKi;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:145
    T129 = SLOT_VALUE(result_desc_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:145
    T130 = KCtop_level_eval_typeVdfmc_conversionMM0I(T129, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:145
    T131 = T130;
    result_designatorF6 = T131;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:145
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:145
  result_designatorF110 = result_designatorF6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  if (T128 != &KPfalseVKi) {
    T7 = T128;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:147
    T124 = result_designatorF110;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:147
    T132 = primitive_instanceQ(T124,&KLBdesignator_classGVdfmc_c_ffi);
    T7 = T132;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  if (T7 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:148
    T133 = SLOT_VALUE(result_desc_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:149
    T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_result_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:149
    T134.vector_element_[0] = T8;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:149
    T9 = Kmake_templateVdfmc_macro_expanderI(&T134);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:148
    CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T133, dylan_name_, T9, &KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:150
    result_designatorF110 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T135 = CONGRUENT_CALL1(arg_specs_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
  T136 = T135;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
  T137 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
  T138 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
  T139 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
  T140 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
  T141T = T136;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
    T141 = T141T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
    T142 = CALL3(T139, arg_specs_, T141, T137);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
    if (T142 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
      T143 = CALL2(T140, arg_specs_, T141);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:154
      CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
      T145 = CONGRUENT_CALL1(T143);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:154
      T152 = KCtop_level_eval_typeVdfmc_conversionMM0I(T145, &KPempty_vectorVKi, &KPfalseVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:154
      T153 = T152;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:154
      CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
      CONGRUENT_CALL2(T153, T143);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:155
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      T146 = CONGRUENT_CALL1(T143);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:155
      T154 = primitive_instanceQ(T146,&KLBdesignator_classGVdfmc_c_ffi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:155
      if (T154 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:156
        CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
        T147 = CONGRUENT_CALL1(T143);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:157
        T148 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_parameter_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:157
        T155.vector_element_[0] = T148;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:157
        T149 = Kmake_templateVdfmc_macro_expanderI(&T155);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:156
        CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T147, dylan_name_, T149, &KPempty_listVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:158
        T150 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:158
        T156.vector_element_[0] = T150;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:158
        T151 = Kmake_templateVdfmc_macro_expanderI(&T156);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:158
        T157 = KCtop_level_eval_typeVdfmc_conversionMM0I(T151, &KPempty_vectorVKi, &KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:158
        T158 = T157;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:158
        CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
        CONGRUENT_CALL2(T158, T143);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:155
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
      T144 = CALL2(T138, arg_specs_, T141);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
      T141T = T144;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:153
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:170
  T10_0 = Kc_function_parse_input_output_parametersVdfmc_c_ffiMM0I(dylan_name_, arg_specs_);
  T10_1 = MV_GET_ELT(1);
  T10_2 = MV_GET_ELT(2);
  T10_3 = MV_GET_ELT(3);
  T10_4 = MV_GET_ELT(4);
  T10_5 = MV_GET_ELT(5);
  T10_6 = MV_GET_ELT(6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  stack_allocation_heads_ = T10_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  in_out_arg_set_forms_ = T10_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  c_function_parameter_listF13 = T10_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  c_function_argumentsF14 = T10_5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:146
  extra_return_values_ = T10_6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:172
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  selector_expr_ = CONGRUENT_CALL3(options_, IKJselector_, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:173
  selector_ = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:174
  if (selector_expr_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:175
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T160 = CONGRUENT_CALL2(selector_expr_, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:175
    T159 = T160;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:175
    selector_ = T159;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:176
    T127 = selector_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:176
    T161 = primitive_instanceQ(T127,&KLstringGVKd);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:176
    if (T161 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:178
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T17 = CONGRUENT_CALL1(selector_expr_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:177
      T162.vector_element_[0] = IKJsource_location_;
      T162.vector_element_[1] = T17;
      T162.vector_element_[2] = IKJdefinition_name_;
      T162.vector_element_[3] = dylan_name_;
      T162.vector_element_[4] = IKJselector_expression_;
      T162.vector_element_[5] = selector_expr_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:177
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLinvalid_selector_valueGVdfmc_c_ffi, &T162);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:181
      selector_ = &KPfalseVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:176
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:174
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:185
  T126 = selector_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:185
  if (T126 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:187
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T18 = CONGRUENT_CALL1(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:186
    T163.vector_element_[0] = IKJsource_location_;
    T163.vector_element_[1] = T18;
    T163.vector_element_[2] = IKJdefinition_name_;
    T163.vector_element_[3] = dylan_name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:186
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLmissing_selectorGVdfmc_c_ffi, &T163);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:189
    selector_ = &K30;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:185
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:193
  T122 = result_designatorF110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:193
  if (T122 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:193
    T123 = result_designatorF110;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:193
    T19 = CALL1(&KCboxer_function_nameVdfmc_c_ffiMM0, T123);
    result_boxer_ = T19;
  } else {
    result_boxer_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:193
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:194
  T121 = result_designatorF110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:194
  if (T121 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:195
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    T21 = CONGRUENT_CALL1(result_desc_);
    result_name_ = T21;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:197
    T22 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtmp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:197
    T164.vector_element_[0] = T22;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:197
    T23 = Kmake_templateVdfmc_macro_expanderI(&T164);
    result_name_ = T23;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:194
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:200
  T119 = result_designatorF110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:200
  if (T119 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:200
    T120 = result_designatorF110;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:200
    T25 = CALL1(&KCmapped_import_typeVdfmc_c_ffiMM0, T120);
    result_dylan_type_ = T25;
  } else {
    result_dylan_type_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:200
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:201
  T117 = result_designatorF110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:201
  if (T117 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:202
    T118 = result_designatorF110;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:202
    CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
    T27 = CONGRUENT_CALL1(T118);
    result_raw_type_ = T27;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:204
    T28 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLraw_c_voidG_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:204
    T165.vector_element_[0] = T28;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:204
    T29 = Kmake_templateVdfmc_macro_expanderI(&T165);
    result_raw_type_ = T29;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:201
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:206
  T115 = result_designatorF110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:206
  if (T115 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:207
    T116 = result_designatorF110;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:207
    T31 = CALL1(&KClow_level_typeVdfmc_c_ffiMM0, T116);
    result_low_type_ = T31;
  } else {
    result_low_type_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:206
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:212
  T113 = result_designatorF110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:212
  if (T113 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:213
    T114 = result_designatorF110;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:213
    Utmp_ = CALL1(&KCimport_functionVdfmc_c_ffiMM0, T114);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:213
    if (Utmp_ != &KPfalseVKi) {
      T36 = Utmp_;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:214
      T34 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:214
      T166.vector_element_[0] = T34;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:214
      T35 = Kmake_templateVdfmc_macro_expanderI(&T166);
      T36 = T35;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:213
    import_function_ = T36;
  } else {
    import_function_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:212
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:216
  T112 = result_designatorF110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:216
  if (T112 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:217
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T38 = CONGRUENT_CALL1(result_name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:217
    T167.vector_element_[0] = T38;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:217
    T39 = Kmake_templateVdfmc_macro_expanderI(&T167);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:217
    CONGRUENT_CALL_PROLOG(&KasVKd, 2);
    T40 = CONGRUENT_CALL2(&KLlistGVKd, extra_return_values_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:217
    T168 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:217
    SLOT_VALUE_SETTER(T39, T168, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:217
    SLOT_VALUE_SETTER(T40, T168, 1);
    return_values_ = T168;
  } else {
    return_values_ = extra_return_values_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:216
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:222
  T169.vector_element_[0] = &KJdefault_;
  T169.vector_element_[1] = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:222
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  modifiers_expr_ = CONGRUENT_CALL3(options_, IKJc_modifiers_, &T169);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:225
  if (modifiers_expr_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:226
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T171 = CONGRUENT_CALL2(modifiers_expr_, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:226
    val_ = T171;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:227
    T172 = primitive_instanceQ(val_,&KLstringGVKd);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:227
    if (T172 != &KPfalseVKi) {
      T44 = val_;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:229
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T43 = CONGRUENT_CALL1(modifiers_expr_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:228
      T173.vector_element_[0] = IKJsource_location_;
      T173.vector_element_[1] = T43;
      T173.vector_element_[2] = IKJdefinition_name_;
      T173.vector_element_[3] = dylan_name_;
      T173.vector_element_[4] = IKJmodifiers_expression_;
      T173.vector_element_[5] = modifiers_expr_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:228
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLinvalid_c_modifiers_valueGVdfmc_c_ffi, &T173);
      T44 = &KPempty_stringVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:227
    modifiers_ = T44;
  } else {
    modifiers_ = &KPempty_stringVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:225
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:243
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T46 = CONGRUENT_CALL1(c_function_argumentsF14);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:243
  if (T46 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:249
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T47 = CONGRUENT_CALL1(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:248
    T179.vector_element_[0] = IKJsource_location_;
    T179.vector_element_[1] = T47;
    T179.vector_element_[2] = IKJdefinition_name_;
    T179.vector_element_[3] = dylan_name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:248
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLmissing_selector_targetGVdfmc_c_ffi, &T179);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:251
    T180_0 = &KPfalseVKi;
    T180_1 = c_function_parameter_listF13;
    T180_2 = c_function_argumentsF14;
    T48_0 = T180_0;
    T48_1 = T180_1;
    T48_2 = T180_2;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:244
    CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
    T175_0 = CONGRUENT_CALL3(c_function_argumentsF14, (dylan_value) 1, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:244
    T174 = T175_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:245
    T176 = Kcopy_sequenceVKdMM1I(c_function_parameter_listF13, &KPempty_vectorVKi, (dylan_value) 5, &Kunsupplied_objectVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:246
    T177 = Kcopy_sequenceVKdMM1I(c_function_argumentsF14, &KPempty_vectorVKi, (dylan_value) 5, &Kunsupplied_objectVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:244
    T178_0 = T174;
    T178_1 = T176;
    T178_2 = T177;
    T48_0 = T178_0;
    T48_1 = T178_1;
    T48_2 = T178_2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:243
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:242
  target_ = T48_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:242
  c_function_parameter_listF50 = T48_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:242
  c_function_argumentsF51 = T48_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T52 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPobjc_msgsend_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T53 = CONGRUENT_CALL1(target_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T54 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T55 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJprimitive_unwrap_c_pointer_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T181.vector_element_[0] = dylan_name_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T56 = KlistVKdI(&T181);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T57 = Kmake_parens_fragmentVdfmc_macro_expanderI(T56);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T58 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T182 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJc_modifiers_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T59 = CONGRUENT_CALL1(modifiers_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T183.vector_element_[0] = T53;
  T183.vector_element_[1] = T54;
  T183.vector_element_[2] = T55;
  T183.vector_element_[3] = T57;
  T183.vector_element_[4] = T58;
  T183.vector_element_[5] = T182;
  T183.vector_element_[6] = T59;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T60 = KlistVKdI(&T183);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T61 = Kmake_parens_fragmentVdfmc_macro_expanderI(T60);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T62 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T63 = CONGRUENT_CALL2(c_function_parameter_listF50, T62);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T184.vector_element_[0] = T63;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T64 = KlistVKdI(&T184);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T65 = Kmake_parens_fragmentVdfmc_macro_expanderI(T64);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T66 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T67 = CONGRUENT_CALL1(result_name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T68 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T69 = CONGRUENT_CALL1(result_raw_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T185.vector_element_[0] = T67;
  T185.vector_element_[1] = T68;
  T185.vector_element_[2] = T69;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T70 = KlistVKdI(&T185);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T71 = Kmake_parens_fragmentVdfmc_macro_expanderI(T70);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T72 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T73 = CONGRUENT_CALL2(c_function_argumentsF51, T72);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T186.vector_element_[0] = T73;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T74 = KlistVKdI(&T186);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T75 = Kmake_parens_fragmentVdfmc_macro_expanderI(T74);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T76 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  T187.vector_element_[0] = T52;
  T187.vector_element_[1] = T61;
  T187.vector_element_[2] = T65;
  T187.vector_element_[3] = T66;
  T187.vector_element_[4] = T71;
  T187.vector_element_[5] = T75;
  T187.vector_element_[6] = T76;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:255
  foreign_call_ = Kmake_templateVdfmc_macro_expanderI(&T187);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:261
  T111 = result_designatorF110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:261
  if (T111 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T79 = CONGRUENT_CALL1(result_name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T80 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T81 = CONGRUENT_CALL1(result_dylan_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T82 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T83 = CONGRUENT_CALL1(import_function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T84 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJboxer_for_designator_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T85 = CONGRUENT_CALL1(result_low_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T86 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T87 = CONGRUENT_CALL1(foreign_call_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T88 = CONGRUENT_CALL2(T86, T87);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T89 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T90 = CONGRUENT_CALL1(result_boxer_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T91 = CONGRUENT_CALL2(T89, T90);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T188.vector_element_[0] = T85;
    T188.vector_element_[1] = T88;
    T188.vector_element_[2] = T91;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T92 = KlistVKdI(&T188);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T93 = Kmake_parens_fragmentVdfmc_macro_expanderI(T92);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T189.vector_element_[0] = T84;
    T189.vector_element_[1] = T93;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T94 = KlistVKdI(&T189);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T95 = Kmake_parens_fragmentVdfmc_macro_expanderI(T94);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T190.vector_element_[0] = T78;
    T190.vector_element_[1] = T79;
    T190.vector_element_[2] = T80;
    T190.vector_element_[3] = T81;
    T190.vector_element_[4] = T82;
    T190.vector_element_[5] = T83;
    T190.vector_element_[6] = T95;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:262
    T96 = Kmake_templateVdfmc_macro_expanderI(&T190);
    result_binding_ = T96;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:268
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T97 = CONGRUENT_CALL1(foreign_call_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:268
    T191.vector_element_[0] = T97;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:268
    T98 = Kmake_templateVdfmc_macro_expanderI(&T191);
    result_binding_ = T98;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:261
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:270
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  stack_allocation_size_ = CONGRUENT_CALL1(stack_allocation_heads_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T192 = Ksubstitute_sequenceVdfmc_macro_expanderMM0I(in_out_arg_set_forms_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T101 = CONGRUENT_CALL1(result_binding_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T102 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T103 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalues_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T104 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T105 = CONGRUENT_CALL2(return_values_, T104);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T193.vector_element_[0] = T105;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T106 = KlistVKdI(&T193);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T107 = Kmake_parens_fragmentVdfmc_macro_expanderI(T106);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T194.vector_element_[0] = T192;
  T194.vector_element_[1] = T101;
  T194.vector_element_[2] = T102;
  T194.vector_element_[3] = T103;
  T194.vector_element_[4] = T107;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:285
  T108 = Kmake_templateVdfmc_macro_expanderI(&T194);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:276
  iF205T = 1;
  bodyF206T = T108;
L1: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:276
    iF205 = iF205T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:277
    T209 = primitive_cast_raw_as_integer(iF205);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:276
    bodyF206 = bodyF206T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:272
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T201 = CONGRUENT_CALL2(T209, stack_allocation_size_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:272
    if (T201 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:275
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      stack_head_ = CONGRUENT_CALL3(stack_allocation_heads_, T209, &KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:277
      T202 = primitive_machine_word_add_signal_overflow(iF205,4);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:278
      T196 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJwith_stack_block_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:278
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T197 = CONGRUENT_CALL1(stack_head_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:278
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T198 = CONGRUENT_CALL1(bodyF206);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:278
      T199 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:278
      T203.vector_element_[0] = T196;
      T203.vector_element_[1] = T197;
      T203.vector_element_[2] = T198;
      T203.vector_element_[3] = T199;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:278
      T200 = Kmake_templateVdfmc_macro_expanderI(&T203);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:276
      iF205T = T202;
      bodyF206T = T200;
      goto L1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:284
      T207 = T204;
      T208 = T207;
    } else {
      T208 = bodyF206;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:272
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:276
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:288
  T109_0 = T208;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:136
  MV_SET_COUNT(1);
  return(T109_0);
}

static dylan_value KUwildcard_loopUF120I (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 T6_0;
  dylan_value T6_1;
  dylan_value T6_2;
  dylan_value failureF7;
  dylan_value UfTUF8;
  dylan_value dylan_nameF9;
  dylan_value T10_0;
  dylan_value T10_1;
  dylan_value T10_2;
  dylan_value T10_3;
  dylan_value T11_0;
  dylan_value T11_1;
  dylan_value T11_2;
  dylan_value T11_3;
  dylan_value T12_0;
  dylan_value T12_1;
  dylan_value T12_2;
  dylan_value T12_3;
  dylan_value failureF13;
  dylan_value mods_;
  dylan_value dylan_nameF15;
  dylan_value spec_;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23_0;
  dylan_value T23_1;
  dylan_value T23_2;
  dylan_value T23_3;
  dylan_value T24;
  dylan_value T25;
  _KLsimple_object_vectorGVKd_1 T26 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T27 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T28;
  dylan_value T29;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  T2_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(UfTU_);
  T2_1 = MV_GET_ELT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  failureF3 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  UfTUF4 = T2_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T5_0 = failureF3;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T5_3 = &KPfalseVKi;
    T12_0 = T5_0;
    T12_1 = T5_1;
    T12_2 = T5_2;
    T12_3 = T5_3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    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/objective-c.dylan:11
    failureF7 = T6_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    UfTUF8 = T6_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    dylan_nameF9 = T6_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    if (failureF7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T10_0 = failureF7;
      T10_1 = &KPfalseVKi;
      T10_2 = &KPfalseVKi;
      T10_3 = &KPfalseVKi;
      T11_0 = T10_0;
      T11_1 = T10_1;
      T11_2 = T10_2;
      T11_3 = T10_3;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T23_0 = &KPfalseVKi;
      T23_1 = UcollectorU_;
      T23_2 = dylan_nameF9;
      T23_3 = UfTUF8;
      T11_0 = T23_0;
      T11_1 = T23_1;
      T11_2 = T23_2;
      T11_3 = T23_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T12_0 = T11_0;
    T12_1 = T11_1;
    T12_2 = T11_2;
    T12_3 = T11_3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  failureF13 = T12_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  mods_ = T12_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  dylan_nameF15 = T12_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  spec_ = T12_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  if (failureF13 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T24 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    if (T24 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T17 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T21 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T25 = SLOT_VALUE_INITD(UfTU_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T26.vector_element_[0] = T25;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T18 = KlistVKdI(&T26);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T27.vector_element_[0] = T18;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T19 = CONGRUENT_CALL2(UcollectorU_, &T27);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T28 = SLOT_VALUE_INITD(UfTU_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T20 = CALL2(&KUwildcard_loopUF120, T19, T28);
      T21 = T20;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T22 = T21;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T29 = failureF13;
    MV_SET_ELT(0, failureF13);
    MV_SET_ELT(1, mods_);
    MV_SET_ELT(2, dylan_nameF15);
    MV_SET_ELT(3, spec_);
    MV_SET_COUNT(4);
    T22 = T29;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  return(T22);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:7
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:8
  T0 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinline_only_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:8
  T2.vector_element_[0] = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:8
  T1_0 = Kmake_templateVdfmc_macro_expanderI(&T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:7
  MV_SET_COUNT(1);
  return(T1_0);
}

static dylan_value Kspec_rewriterF114I (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 stuffF11;
  dylan_value specF12;
  dylan_value stuffF13;
  dylan_value T14;
  dylan_value specF15;
  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/objective-c.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    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/objective-c.dylan:11
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    UfT_afterU_ = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    UfT_beforeU_ = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      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/objective-c.dylan:11
      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/objective-c.dylan:11
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    stuffF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    specF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJobjc_selector_definer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJspec_);
      T18 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      stuffF13 = CONGRUENT_CALL1(stuffF11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(specF12);
      specF15 = Kspec_rewriterF114I(T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:91
      T22 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:91
      SLOT_VALUE_SETTER(stuffF13, T22, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:91
      SLOT_VALUE_SETTER(specF15, T22, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:91
      T23_0 = T22;
      T18 = T23_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
    T19 = T18;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:90
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  return(T19);
}


/* SYSTEM INIT CODE */

void _Init_dfmc_c_ffi__X_objective_c_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(&KJobjc_selector_definer_);
    if (T0 != &KJobjc_selector_definer_) {
      IKJobjc_selector_definer_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJobjc_msgsend_body_);
    if (T0 != &KJobjc_msgsend_body_) {
      IKJobjc_msgsend_body_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJselector_);
    if (T0 != &KJselector_) {
      IKJselector_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJoptions_);
    if (T0 != &KJoptions_) {
      IKJoptions_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJresult_);
    if (T0 != &KJresult_) {
      IKJresult_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJvoid_);
    if (T0 != &KJvoid_) {
      IKJvoid_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJresult_spec_);
    if (T0 != &KJresult_spec_) {
      IKJresult_spec_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdesignator_name_);
    if (T0 != &KJdesignator_name_) {
      IKJdesignator_name_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJvoidQ_);
    if (T0 != &KJvoidQ_) {
      IKJvoidQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJc_function_result_);
    if (T0 != &KJc_function_result_) {
      IKJc_function_result_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJc_function_parameter_);
    if (T0 != &KJc_function_parameter_) {
      IKJc_function_parameter_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLc_voidTG_);
    if (T0 != &KJLc_voidTG_) {
      IKJLc_voidTG_ = T0;
    }
  }
  {
    dylan_value T0;

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

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

    T0 = KPresolve_symbolVKiI(&KJselector_expression_);
    if (T0 != &KJselector_expression_) {
      IKJselector_expression_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJtmp_);
    if (T0 != &KJtmp_) {
      IKJtmp_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLraw_c_voidG_);
    if (T0 != &KJLraw_c_voidG_) {
      IKJLraw_c_voidG_ = T0;
    }
  }
  {
    dylan_value T0;

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

    T0 = KPresolve_symbolVKiI(&KJc_modifiers_);
    if (T0 != &KJc_modifiers_) {
      IKJc_modifiers_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmodifiers_expression_);
    if (T0 != &KJmodifiers_expression_) {
      IKJmodifiers_expression_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJPobjc_msgsend_);
    if (T0 != &KJPobjc_msgsend_) {
      IKJPobjc_msgsend_ = 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(&KJlet_);
    if (T0 != &KJlet_) {
      IKJlet_ = 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(&KJwith_stack_block_);
    if (T0 != &KJwith_stack_block_) {
      IKJwith_stack_block_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJargs_);
    if (T0 != &KJargs_) {
      IKJargs_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJparameter_);
    if (T0 != &KJparameter_) {
      IKJparameter_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJcall_discipline_);
    if (T0 != &KJcall_discipline_) {
      IKJcall_discipline_ = T0;
    }
  }
  {
    dylan_value T0;

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

    T0 = KPresolve_symbolVKiI(&KJkey_options_);
    if (T0 != &KJkey_options_) {
      IKJkey_options_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJname_symbol_);
    if (T0 != &KJname_symbol_) {
      IKJname_symbol_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJbegin_);
    if (T0 != &KJbegin_) {
      IKJbegin_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJif_);
    if (T0 != &KJif_) {
      IKJif_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJDtrace_ffi_calls_);
    if (T0 != &KJDtrace_ffi_calls_) {
      IKJDtrace_ffi_calls_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJlog_entry_);
    if (T0 != &KJlog_entry_) {
      IKJlog_entry_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJresults_);
    if (T0 != &KJresults_) {
      IKJresults_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJapply_);
    if (T0 != &KJapply_) {
      IKJapply_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJlog_exit_);
    if (T0 != &KJlog_exit_) {
      IKJlog_exit_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJelse_);
    if (T0 != &KJelse_) {
      IKJelse_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJtype_encoding_);
    if (T0 != &KJtype_encoding_) {
      IKJtype_encoding_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJtype_encoding_expression_);
    if (T0 != &KJtype_encoding_expression_) {
      IKJtype_encoding_expression_ = T0;
    }
  }
  {
    dylan_value T0;

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

    T0 = KPresolve_symbolVKiI(&KJobjcSregister_selector_);
    if (T0 != &KJobjcSregister_selector_) {
      IKJobjcSregister_selector_ = T0;
    }
  }
  {
    dylan_value T0;

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

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

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

/* USER INIT CODE */

void _Init_dfmc_c_ffi__X_objective_c_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/objective-c.dylan:11
  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] = &Kobjc_selector_definer_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsuffixed_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:11
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJobjc_selector_definer_, &KPfalseVKi, &KPfalseVKi, T0, &Kobjc_selector_definer_expanderVdfmc_c_ffiMM0);
  goto I0;
}
I0:

{
  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/objective-c.dylan:94
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 73;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kobjc_msgsend_body_expanderVdfmc_c_ffiMM0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/objective-c.dylan:94
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJobjc_msgsend_body_, &KPfalseVKi, &KPfalseVKi, T0, &Kobjc_msgsend_body_expanderVdfmc_c_ffiMM0);
  goto I8;
}
I8:

  return;
}


/* eof */
