/*===========================================================================*/
/*   (Type/tenv.scm)                                                         */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Type/tenv.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;

typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;

typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_caliasz00_bgl {
   bool_t BgL_arrayzf3zf3;
} *BgL_caliasz00_bglt;

typedef struct BgL_cenumz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   obj_t BgL_literalsz00;
} *BgL_cenumz00_bglt;

typedef struct BgL_copaquez00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
} *BgL_copaquez00_bglt;

typedef struct BgL_cfunctionz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   long BgL_arityz00;
   struct BgL_typez00_bgl * BgL_typezd2reszd2;
   obj_t BgL_typezd2argszd2;
} *BgL_cfunctionz00_bglt;

typedef struct BgL_cptrz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   struct BgL_typez00_bgl * BgL_pointzd2tozd2;
   bool_t BgL_arrayzf3zf3;
} *BgL_cptrz00_bglt;

typedef struct BgL_cstructz00_bgl {
   bool_t BgL_structzf3zf3;
   obj_t BgL_fieldsz00;
   obj_t BgL_cstructza2za2;
} *BgL_cstructz00_bglt;

typedef struct BgL_cstructza2za2_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   struct BgL_cstructz00_bgl * BgL_cstructz00;
} *BgL_cstructza2za2_bglt;

typedef struct BgL_tclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   struct BgL_globalz00_bgl * BgL_holderz00;
   obj_t BgL_wideningz00;
   long BgL_depthz00;
   bool_t BgL_finalzf3zf3;
   obj_t BgL_constructorz00;
   obj_t BgL_virtualzd2slotszd2numberz00;
   bool_t BgL_abstractzf3zf3;
   obj_t BgL_widezd2typezd2;
} *BgL_tclassz00_bglt;

typedef struct BgL_jclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   obj_t BgL_packagez00;
} *BgL_jclassz00_bglt;

typedef struct BgL_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;


static obj_t BGl_methodzd2initzd2zztype_envz00();
static BgL_typez00_bglt BGl_bindzd2typez12zc0zztype_envz00(obj_t, bool_t, obj_t);
extern bool_t BGl_ctypezf3zf3zzforeign_ctypez00(obj_t);
static obj_t BGl_zc3anonymousza32804ze3z83zztype_envz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
extern BgL_typez00_bglt BGl_makezd2typezd2zztype_typez00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, bool_t, bool_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza32795ze3z83zztype_envz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2tenvzd2zztype_envz00();
static obj_t BGl_zc3anonymousza32807ze3z83zztype_envz00(obj_t);
static obj_t BGl_zc3anonymousza32797ze3z83zztype_envz00(obj_t);
static obj_t BGl_zc3anonymousza32379ze3z83zztype_envz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_dynamiczd2windzd2zz__r4_control_features_6_9z00(obj_t, obj_t, obj_t);
static bool_t BGl_za2typeszd2alreadyzd2checkedzf3za2zf3zztype_envz00;
static obj_t BGl_zc3exitza32787ze3z83zztype_envz00(obj_t, obj_t, obj_t);
extern obj_t BGl_foreignzd2accesseszd2addz12z12zzmodule_foreignz00(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_addzd2tenvz12zc0zztype_envz00(obj_t);
static obj_t BGl__setzd2tenvz12zc0zztype_envz00(obj_t, obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_forzd2eachzd2typez12z12zztype_envz00(obj_t);
extern obj_t BGl_tclassz00zzobject_classz00;
static obj_t BGl__declarezd2subtypez12zc0zztype_envz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza32400ze3z83zztype_envz00(obj_t, obj_t, obj_t);
extern obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
static obj_t BGl_escapez00zztype_envz00(obj_t, obj_t);
extern obj_t BGl_typez00zztype_typez00;
extern obj_t BGl_za2libzd2modeza2zd2zzengine_paramz00;
static obj_t BGl__initializa7ezd2Tenvz12z67zztype_envz00(obj_t);
BGL_IMPORT obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza32701ze3z83zztype_envz00(obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zztype_envz00();
static obj_t BGl__usezd2foreignzd2typez12z12zztype_envz00(obj_t, obj_t, obj_t);
static obj_t BGl__forzd2eachzd2typez12z12zztype_envz00(obj_t, obj_t);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(obj_t, obj_t, obj_t);
static obj_t BGl__getzd2tenvzd2zztype_envz00(obj_t);
BGL_IMPORT obj_t BGl_displayzd22zd2zz__r4_output_6_10_3z00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zztype_envz00();
BGL_IMPORT obj_t BGl_makezd2hashtablezd2zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_setzd2tenvz12zc0zztype_envz00(obj_t);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_usezd2typezf2importzd2locz12ze0zztype_envz00(obj_t, obj_t, obj_t);
static obj_t BGl__addzd2tenvz12zc0zztype_envz00(obj_t, obj_t);
extern obj_t BGl_heapzd2addzd2jclassz12z12zzmodule_javaz00(obj_t);
BGL_IMPORT obj_t BGl_notifyzd2errorzd2zz__errorz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_hashtablezd2forzd2eachz00zz__hashz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2errorzd2handlerz12z12zz__errorz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zztype_envz00();
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_declarezd2aliastypez12zc0zztype_envz00(obj_t, obj_t, obj_t, BgL_typez00_bglt);
extern obj_t BGl_jclassz00zzobject_classz00;
static obj_t BGl_zc3anonymousza32443ze3z83zztype_envz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzinit_mainz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_ctypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_widezd2accesszd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_plainzd2accesszd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_predicatez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_creatorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_accessz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_foreignz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_javaz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long, char *);
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT long bgl_list_length(obj_t);
BGL_IMPORT obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
static obj_t BGl__usezd2typezf2importzd2locz12ze0zztype_envz00(obj_t, obj_t, obj_t, obj_t);
extern BgL_typez00_bglt BGl_delayzd2classzd2accessorsz12z12zzmodule_classz00(BgL_typez00_bglt, obj_t);
extern obj_t BGl_heapzd2addzd2classz12z12zzobject_classz00(BgL_tclassz00_bglt);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_findzd2typezd2zztype_envz00(obj_t);
static obj_t BGl_zc3anonymousza32737ze3z83zztype_envz00(obj_t);
static obj_t BGl__declarezd2aliastypez12zc0zztype_envz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_checkzd2typeszd2zztype_envz00();
static obj_t BGl_zc3anonymousza32739ze3z83zztype_envz00(obj_t);
extern obj_t BGl_heapzd2widezd2classzd2accessorsz12zc0zzobject_widezd2accesszd2(BgL_tclassz00_bglt);
static obj_t BGl_escape_3099z00zztype_envz00(obj_t, obj_t);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_usezd2typez12zc0zztype_envz00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza32458ze3z83zztype_envz00(obj_t, obj_t, obj_t);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
static obj_t BGl_zc3exitza32729ze3z83zztype_envz00(obj_t, obj_t, obj_t);
extern obj_t BGl_heapzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(BgL_tclassz00_bglt);
extern BgL_typez00_bglt BGl_getzd2defaultzd2typez00zztype_cachez00();
BGL_IMPORT obj_t BGl_unwindzd2untilz12zc0zz__bexitz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza32746ze3z83zztype_envz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__subzd2typezf3z21zztype_envz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_declarezd2subtypez12zc0zztype_envz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza32749ze3z83zztype_envz00(obj_t);
static obj_t BGl__checkzd2typeszd2zztype_envz00(obj_t);
extern obj_t BGl_makezd2ctypezd2accessesz12z12zzforeign_accessz00(BgL_typez00_bglt, BgL_typez00_bglt, obj_t);
BGL_EXPORTED_DECL obj_t BGl_initializa7ezd2Tenvz12z67zztype_envz00();
BGL_IMPORT obj_t display_string(obj_t, obj_t);
static obj_t BGl__declarezd2typez12zc0zztype_envz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_removezd2errorzd2handlerz12z12zz__errorz00();
BGL_EXPORTED_DECL bool_t BGl_subzd2typezf3z21zztype_envz00(BgL_typez00_bglt, BgL_typez00_bglt);
static obj_t BGl_za2Tenvza2z00zztype_envz00 = BUNSPEC;
static obj_t BGl_zc3anonymousza32701ze3_3082z83zztype_envz00(obj_t, obj_t, obj_t);
static obj_t BGl__usezd2typez12zc0zztype_envz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_makezd2promisezd2zz__r4_control_features_6_9z00(obj_t);
BGL_EXPORTED_DECL bool_t BGl_typezd2existszf3z21zztype_envz00(obj_t);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_usezd2foreignzd2typez12z12zztype_envz00(obj_t, obj_t);
static obj_t BGl__findzd2typezd2zztype_envz00(obj_t, obj_t);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_declarezd2typez12zc0zztype_envz00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zztype_envz00 = BUNSPEC;
static obj_t BGl__usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_z42zd2inzd2namezf3zb1zztype_toolsz00(obj_t);
extern obj_t BGl_parsezd2idzd2zzast_identz00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zztype_envz00();
extern obj_t BGl_exitzd2bigloozd2zzinit_mainz00(obj_t);
static obj_t BGl_uninitializa7edzd2typesz75zztype_envz00();
static obj_t BGl__typezd2existszf3z21zztype_envz00(obj_t, obj_t);
static obj_t __cnst[ 3 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_getzd2tenvzd2envz00zztype_envz00, BgL_bgl__getza7d2tenvza7d2za7za7type_envza7003369za7, BGl__getzd2tenvzd2zztype_envz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_addzd2tenvz12zd2envz12zztype_envz00, BgL_bgl__addza7d2tenvza712za7c0za7za7type_envza7003370z00, BGl__addzd2tenvz12zc0zztype_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_usezd2foreignzd2typezf2importzd2locz12zd2envze0zztype_envz00, BgL_bgl__useza7d2foreignza7d2typeza7f2importza7d2locza712za732za7za7type_envza7003371za7, BGl__usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_forzd2eachzd2typez12zd2envzc0zztype_envz00, BgL_bgl__forza7d2eachza7d2typeza712za712za7za7type_envza7003372za7, BGl__forzd2eachzd2typez12z12zztype_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_usezd2typezf2importzd2locz12zd2envz32zztype_envz00, BgL_bgl__useza7d2typeza7f2importza7d2locza712za7e0za7za7type_envza7003373z00, BGl__usezd2typezf2importzd2locz12ze0zztype_envz00, 0L, 3 );
DEFINE_STRING( BGl_string3337z00zztype_envz00, BgL_bgl_string3337za700za7za7type_envza7003374z00, "(bigloo C _ java) bigloo the-global-environment ", 48 );
DEFINE_STRING( BGl_string3336z00zztype_envz00, BgL_bgl_string3336za700za7za7type_envza7003375z00, "Undefined type", 14 );
DEFINE_STRING( BGl_string3335z00zztype_envz00, BgL_bgl_string3335za700za7za7type_envza7003376z00, "Undefined used type", 19 );
DEFINE_STRING( BGl_string3334z00zztype_envz00, BgL_bgl_string3334za700za7za7type_envza7003377z00, "Undefined type used in export clause", 36 );
DEFINE_STRING( BGl_string3333z00zztype_envz00, BgL_bgl_string3333za700za7za7type_envza7003378z00, "Stopping compilation...", 23 );
DEFINE_STRING( BGl_string3332z00zztype_envz00, BgL_bgl_string3332za700za7za7type_envza7003379z00, " type(s) used but not defined.", 30 );
DEFINE_STRING( BGl_string3331z00zztype_envz00, BgL_bgl_string3331za700za7za7type_envza7003380z00, "Illegal type class", 18 );
DEFINE_STRING( BGl_string3330z00zztype_envz00, BgL_bgl_string3330za700za7za7type_envza7003381z00, "declare-type!", 13 );
DEFINE_STRING( BGl_string3329z00zztype_envz00, BgL_bgl_string3329za700za7za7type_envza7003382z00, "use-type!", 9 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2aliastypez12zd2envz12zztype_envz00, BgL_bgl__declareza7d2aliastypeza712za7c0za7za7type_envza7003383z00, BGl__declarezd2aliastypez12zc0zztype_envz00, 0L, 4 );
DEFINE_STRING( BGl_string3328z00zztype_envz00, BgL_bgl_string3328za700za7za7type_envza7003384z00, "Type redefinition", 17 );
DEFINE_STRING( BGl_string3327z00zztype_envz00, BgL_bgl_string3327za700za7za7type_envza7003385z00, "bind-type!", 10 );
DEFINE_STRING( BGl_string3326z00zztype_envz00, BgL_bgl_string3326za700za7za7type_envza7003386z00, "Can't find type", 15 );
DEFINE_STRING( BGl_string3325z00zztype_envz00, BgL_bgl_string3325za700za7za7type_envza7003387z00, "find-type", 9 );
DEFINE_STRING( BGl_string3324z00zztype_envz00, BgL_bgl_string3324za700za7za7type_envza7003388z00, "Illegal type heap redefinition", 30 );
DEFINE_STRING( BGl_string3323z00zztype_envz00, BgL_bgl_string3323za700za7za7type_envza7003389z00, "add-Tenv!", 9 );
DEFINE_STRING( BGl_string3321z00zztype_envz00, BgL_bgl_string3321za700za7za7type_envza7003390z00, "Can't find super class of", 25 );
DEFINE_STRING( BGl_string3320z00zztype_envz00, BgL_bgl_string3320za700za7za7type_envza7003391z00, "add-Tenv", 8 );
DEFINE_EXPORT_PROCEDURE( BGl_subzd2typezf3zd2envzf3zztype_envz00, BgL_bgl__subza7d2typeza7f3za721za7za7type_envza7003392z00, BGl__subzd2typezf3z21zztype_envz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_findzd2typezd2envz00zztype_envz00, BgL_bgl__findza7d2typeza7d2za7za7type_envza7003393za7, BGl__findzd2typezd2zztype_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2typez12zd2envz12zztype_envz00, BgL_bgl__declareza7d2typeza712za7c0za7za7type_envza7003394z00, BGl__declarezd2typez12zc0zztype_envz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_usezd2typez12zd2envz12zztype_envz00, BgL_bgl__useza7d2typeza712za7c0za7za7type_envza7003395z00, BGl__usezd2typez12zc0zztype_envz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc3319z00zztype_envz00, BgL_bgl_za7c3anonymousza7a32400za7e3za783za7za7type_envza7003396za7, BGl_zc3anonymousza32400ze3z83zztype_envz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc3322z00zztype_envz00, BgL_bgl_za7c3anonymousza7a32458za7e3za783za7za7type_envza7003397za7, BGl_zc3anonymousza32458ze3z83zztype_envz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2subtypez12zd2envz12zztype_envz00, BgL_bgl__declareza7d2subtypeza712za7c0za7za7type_envza7003398z00, BGl__declarezd2subtypez12zc0zztype_envz00, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_usezd2foreignzd2typez12zd2envzc0zztype_envz00, BgL_bgl__useza7d2foreignza7d2typeza712za712za7za7type_envza7003399za7, BGl__usezd2foreignzd2typez12z12zztype_envz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_typezd2existszf3zd2envzf3zztype_envz00, BgL_bgl__typeza7d2existsza7f3za721za7za7type_envza7003400z00, BGl__typezd2existszf3z21zztype_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_initializa7ezd2Tenvz12zd2envzb5zztype_envz00, BgL_bgl__initializa7a7eza7d2tenvza712za767za7za7type_envza7003401za7, BGl__initializa7ezd2Tenvz12z67zztype_envz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2tenvz12zd2envz12zztype_envz00, BgL_bgl__setza7d2tenvza712za7c0za7za7type_envza7003402z00, BGl__setzd2tenvz12zc0zztype_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_checkzd2typeszd2envz00zztype_envz00, BgL_bgl__checkza7d2typesza7d2za7za7type_envza7003403za7, BGl__checkzd2typeszd2zztype_envz00, 0L, 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long BgL_checksumz00_1231, char * BgL_fromz00_1232)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zztype_envz00))
{ 
BGl_requirezd2initializa7ationz75zztype_envz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zztype_envz00(); 
BGl_cnstzd2initzd2zztype_envz00(); 
BGl_importedzd2moduleszd2initz00zztype_envz00(); 
BGl_toplevelzd2initzd2zztype_envz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 15 */
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)0), "type_env"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "type_env"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "type_env"); 
BGl_modulezd2initializa7ationz75zz__hashz00(((long)0), "type_env"); 
BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(((long)0), "type_env"); 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "type_env"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "type_env"); 
BGl_modulezd2initializa7ationz75zz__bexitz00(((long)0), "type_env"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 15 */
{ /* ./Type/tenv.scm 15 */
obj_t BgL_cportz00_1224;
BgL_cportz00_1224 = 
open_input_string(BGl_string3337z00zztype_envz00); 
{ 
long BgL_iz00_1225;
BgL_iz00_1225 = ((long)2); 
BgL_loopz00_1226:
{ /* ./Type/tenv.scm 15 */
bool_t BgL_test3339z00_1227;
BgL_test3339z00_1227 = 
(BgL_iz00_1225==((long)-1)); 
if(BgL_test3339z00_1227)
{ /* ./Type/tenv.scm 15 */
return BUNSPEC;}  else 
{ /* ./Type/tenv.scm 15 */
{ /* ./Type/tenv.scm 15 */
obj_t BgL_arg3341z00_1228;
{ /* ./Type/tenv.scm 15 */
obj_t BgL_list3344z00_1229;
BgL_list3344z00_1229 = 
MAKE_PAIR(BgL_cportz00_1224, BNIL); 
BgL_arg3341z00_1228 = 
BGl_readz00zz__readerz00(BgL_list3344z00_1229); } 
{ /* ./Type/tenv.scm 15 */
int BgL_auxz00_1253;
BgL_auxz00_1253 = 
(int)(BgL_iz00_1225); 
CNST_TABLE_SET(BgL_auxz00_1253, BgL_arg3341z00_1228); } } 
{ /* ./Type/tenv.scm 15 */
int BgL_auxz00_1230;
{ /* ./Type/tenv.scm 15 */
long BgL_auxz00_1256;
BgL_auxz00_1256 = 
(BgL_iz00_1225-((long)1)); 
BgL_auxz00_1230 = 
(int)(BgL_auxz00_1256); } 
{ 
long BgL_iz00_1259;
BgL_iz00_1259 = 
(long)(BgL_auxz00_1230); 
BgL_iz00_1225 = BgL_iz00_1259; 
goto BgL_loopz00_1226;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 15 */
BGl_za2Tenvza2z00zztype_envz00 = 
CNST_TABLE_REF(((long)0)); 
return ( 
BGl_za2typeszd2alreadyzd2checkedzf3za2zf3zztype_envz00 = ((bool_t)0), BUNSPEC) ;} 
}



/* set-tenv! */
BGL_EXPORTED_DEF obj_t BGl_setzd2tenvz12zc0zztype_envz00(obj_t BgL_tenvz00_19)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 72 */
return ( 
BGl_za2Tenvza2z00zztype_envz00 = BgL_tenvz00_19, BUNSPEC) ;} 
}



/* _set-tenv! */
obj_t BGl__setzd2tenvz12zc0zztype_envz00(obj_t BgL_envz00_1093, obj_t BgL_tenvz00_1094)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 72 */
return 
BGl_setzd2tenvz12zc0zztype_envz00(BgL_tenvz00_1094);} 
}



/* add-tenv! */
BGL_EXPORTED_DEF obj_t BGl_addzd2tenvz12zc0zztype_envz00(obj_t BgL_tenvz00_20)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 78 */
{ /* ./Type/tenv.scm 118 */
obj_t BgL_rememberzd2listzd2_445;
BgL_rememberzd2listzd2_445 = 
MAKE_CELL(BNIL); 
{ /* ./Type/tenv.scm 129 */
obj_t BgL_zc3anonymousza32379ze3z83_1098;
{ 
int BgL_auxz00_1265;int BgL_auxz00_1263;
BgL_auxz00_1265 = 
(int)(((long)1)); 
BgL_auxz00_1263 = 
(int)(((long)2)); 
BgL_zc3anonymousza32379ze3z83_1098 = 
make_fx_procedure(BGl_zc3anonymousza32379ze3z83zztype_envz00, BgL_auxz00_1263, BgL_auxz00_1265); } 
{ /* ./Type/tenv.scm 129 */
int BgL_auxz00_1268;
BgL_auxz00_1268 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32379ze3z83_1098, BgL_auxz00_1268, BgL_rememberzd2listzd2_445); } 
BGl_hashtablezd2forzd2eachz00zz__hashz00(BgL_tenvz00_20, BgL_zc3anonymousza32379ze3z83_1098); } 
BGl_hashtablezd2forzd2eachz00zz__hashz00(BgL_tenvz00_20, BGl_proc3319z00zztype_envz00); 
{ 
obj_t BgL_l2312z00_467;
BgL_l2312z00_467 = 
CELL_REF(BgL_rememberzd2listzd2_445); 
BgL_forzd2each2313zd2_468:
{ /* ./Type/tenv.scm 160 */
bool_t BgL_test2411z00_469;
BgL_test2411z00_469 = 
PAIRP(BgL_l2312z00_467); 
if(BgL_test2411z00_469)
{ /* ./Type/tenv.scm 160 */
{ /* ./Type/tenv.scm 161 */
obj_t BgL_newz00_470;
BgL_newz00_470 = 
CAR(BgL_l2312z00_467); 
{ /* ./Type/tenv.scm 161 */
bool_t BgL_test2412z00_471;
BgL_test2412z00_471 = 
BGl_iszd2azf3z21zz__objectz00(BgL_newz00_470, BGl_tclassz00zzobject_classz00); 
if(BgL_test2412z00_471)
{ /* ./Type/tenv.scm 162 */
obj_t BgL_superz00_472;
{ /* ./Type/tenv.scm 162 */
BgL_tclassz00_bglt BgL_obj2105z00_926;
BgL_obj2105z00_926 = 
(BgL_tclassz00_bglt)(BgL_newz00_470); 
{ 
obj_t BgL_auxz00_1279;
{ /* ./Type/tenv.scm 162 */
BgL_objectz00_bglt BgL_auxz00_1280;
BgL_auxz00_1280 = 
(BgL_objectz00_bglt)(BgL_obj2105z00_926); 
BgL_auxz00_1279 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1280); } 
BgL_superz00_472 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1279))->BgL_itszd2superzd2); } } 
{ /* ./Type/tenv.scm 163 */
bool_t BgL_test2413z00_473;
BgL_test2413z00_473 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_472, BGl_tclassz00zzobject_classz00); 
if(BgL_test2413z00_473)
{ /* ./Type/tenv.scm 164 */
obj_t BgL_superzd2idzd2_474;
{ /* ./Type/tenv.scm 164 */
BgL_typez00_bglt BgL_obj1494z00_928;
BgL_obj1494z00_928 = 
(BgL_typez00_bglt)(BgL_superz00_472); 
BgL_superzd2idzd2_474 = 
(((BgL_typez00_bglt)CREF(BgL_obj1494z00_928))->BgL_idz00); } 
{ /* ./Type/tenv.scm 164 */
BgL_typez00_bglt BgL_oldzd2szd2_475;
BgL_oldzd2szd2_475 = 
BGl_findzd2typezd2zztype_envz00(BgL_superzd2idzd2_474); 
{ /* ./Type/tenv.scm 165 */

{ /* ./Type/tenv.scm 166 */
bool_t BgL_test2414z00_476;
{ /* ./Type/tenv.scm 166 */
obj_t BgL_obj2104z00_929;
BgL_obj2104z00_929 = 
(obj_t)(BgL_oldzd2szd2_475); 
BgL_test2414z00_476 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj2104z00_929, BGl_tclassz00zzobject_classz00); } 
if(BgL_test2414z00_476)
{ /* ./Type/tenv.scm 170 */
BgL_tclassz00_bglt BgL_obj2107z00_930;obj_t BgL_val2106z00_931;
BgL_obj2107z00_930 = 
(BgL_tclassz00_bglt)(BgL_newz00_470); 
BgL_val2106z00_931 = 
(obj_t)(BgL_oldzd2szd2_475); 
{ 
obj_t BgL_auxz00_1294;
{ /* ./Type/tenv.scm 170 */
BgL_objectz00_bglt BgL_auxz00_1295;
BgL_auxz00_1295 = 
(BgL_objectz00_bglt)(BgL_obj2107z00_930); 
BgL_auxz00_1294 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1295); } 
((((BgL_tclassz00_bglt)CREF(BgL_auxz00_1294))->BgL_itszd2superzd2) = ((obj_t)BgL_val2106z00_931), BUNSPEC); } }  else 
{ /* ./Type/tenv.scm 167 */
obj_t BgL_arg2419z00_479;
{ /* ./Type/tenv.scm 169 */
BgL_typez00_bglt BgL_obj1495z00_932;
BgL_obj1495z00_932 = 
(BgL_typez00_bglt)(BgL_newz00_470); 
BgL_arg2419z00_479 = 
(((BgL_typez00_bglt)CREF(BgL_obj1495z00_932))->BgL_namez00); } 
FAILURE(BGl_string3320z00zztype_envz00,BGl_string3321z00zztype_envz00,BgL_arg2419z00_479);} } } } }  else 
{ /* ./Type/tenv.scm 163 */BFALSE; } } }  else 
{ /* ./Type/tenv.scm 161 */BFALSE; } } } 
{ /* ./Type/tenv.scm 160 */
obj_t BgL_arg2430z00_480;
BgL_arg2430z00_480 = 
CDR(BgL_l2312z00_467); 
{ 
obj_t BgL_l2312z00_1303;
BgL_l2312z00_1303 = BgL_arg2430z00_480; 
BgL_l2312z00_467 = BgL_l2312z00_1303; 
goto BgL_forzd2each2313zd2_468;} } }  else 
{ /* ./Type/tenv.scm 160 */((bool_t)1); } } } 
{ 
obj_t BgL_l2314z00_481;
BgL_l2314z00_481 = 
CELL_REF(BgL_rememberzd2listzd2_445); 
BgL_forzd2each2315zd2_482:
{ /* ./Type/tenv.scm 177 */
bool_t BgL_test2435z00_483;
BgL_test2435z00_483 = 
PAIRP(BgL_l2314z00_481); 
if(BgL_test2435z00_483)
{ /* ./Type/tenv.scm 177 */
{ /* ./Type/tenv.scm 178 */
obj_t BgL_nz00_484;
BgL_nz00_484 = 
CAR(BgL_l2314z00_481); 
{ /* ./Type/tenv.scm 178 */
bool_t BgL_test2436z00_485;
BgL_test2436z00_485 = 
BGl_iszd2azf3z21zz__objectz00(BgL_nz00_484, BGl_tclassz00zzobject_classz00); 
if(BgL_test2436z00_485)
{ /* ./Type/tenv.scm 182 */
obj_t BgL_arg2438z00_486;
{ /* ./Type/tenv.scm 182 */
obj_t BgL_zc3anonymousza32443ze3z83_1096;
{ 
int BgL_auxz00_1311;int BgL_auxz00_1309;
BgL_auxz00_1311 = 
(int)(((long)1)); 
BgL_auxz00_1309 = 
(int)(((long)0)); 
BgL_zc3anonymousza32443ze3z83_1096 = 
make_fx_procedure(BGl_zc3anonymousza32443ze3z83zztype_envz00, BgL_auxz00_1309, BgL_auxz00_1311); } 
{ /* ./Type/tenv.scm 182 */
int BgL_auxz00_1314;
BgL_auxz00_1314 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32443ze3z83_1096, BgL_auxz00_1314, BgL_nz00_484); } 
BgL_arg2438z00_486 = 
BGl_makezd2promisezd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza32443ze3z83_1096); } 
{ /* ./Type/tenv.scm 179 */
BgL_typez00_bglt BgL_auxz00_1318;
BgL_auxz00_1318 = 
BGl_delayzd2classzd2accessorsz12z12zzmodule_classz00(
(BgL_typez00_bglt)(BgL_nz00_484), BgL_arg2438z00_486); 
(obj_t)(BgL_auxz00_1318); } }  else 
{ /* ./Type/tenv.scm 178 */BFALSE; } } } 
{ /* ./Type/tenv.scm 177 */
obj_t BgL_arg2451z00_491;
BgL_arg2451z00_491 = 
CDR(BgL_l2314z00_481); 
{ 
obj_t BgL_l2314z00_1323;
BgL_l2314z00_1323 = BgL_arg2451z00_491; 
BgL_l2314z00_481 = BgL_l2314z00_1323; 
goto BgL_forzd2each2315zd2_482;} } }  else 
{ /* ./Type/tenv.scm 177 */((bool_t)1); } } } } 
return 
BGl_hashtablezd2forzd2eachz00zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BGl_proc3322z00zztype_envz00);} 
}



/* _add-tenv! */
obj_t BGl__addzd2tenvz12zc0zztype_envz00(obj_t BgL_envz00_1099, obj_t BgL_tenvz00_1100)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 78 */
return 
BGl_addzd2tenvz12zc0zztype_envz00(BgL_tenvz00_1100);} 
}



/* <anonymous:2458> */
obj_t BGl_zc3anonymousza32458ze3z83zztype_envz00(obj_t BgL_envz00_1101, obj_t BgL_kz00_1102, obj_t BgL_newz00_1103)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 193 */
{ 
obj_t BgL_kz00_493;obj_t BgL_newz00_494;
{ /* ./Type/tenv.scm 194 */
bool_t BgL_auxz00_1326;
BgL_kz00_493 = BgL_kz00_1102; 
BgL_newz00_494 = BgL_newz00_1103; 
{ 
obj_t BgL_typez00_526;
BgL_typez00_526 = BgL_newz00_494; 
{ /* ./Type/tenv.scm 81 */
bool_t BgL_test2510z00_528;
{ /* ./Type/tenv.scm 81 */
obj_t BgL_arg2522z00_532;
{ /* ./Type/tenv.scm 81 */
BgL_typez00_bglt BgL_obj1519z00_964;
BgL_obj1519z00_964 = 
(BgL_typez00_bglt)(BgL_typez00_526); 
BgL_arg2522z00_532 = 
(((BgL_typez00_bglt)CREF(BgL_obj1519z00_964))->BgL_aliasz00); } 
BgL_test2510z00_528 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg2522z00_532, BGl_typez00zztype_typez00); } 
if(BgL_test2510z00_528)
{ /* ./Type/tenv.scm 82 */
BgL_typez00_bglt BgL_arg2512z00_529;
{ /* ./Type/tenv.scm 82 */
obj_t BgL_arg2515z00_530;
{ /* ./Type/tenv.scm 82 */
BgL_typez00_bglt BgL_obj1494z00_967;
{ /* ./Type/tenv.scm 82 */
obj_t BgL_auxz00_1331;
{ /* ./Type/tenv.scm 82 */
BgL_typez00_bglt BgL_obj1519z00_966;
BgL_obj1519z00_966 = 
(BgL_typez00_bglt)(BgL_typez00_526); 
BgL_auxz00_1331 = 
(((BgL_typez00_bglt)CREF(BgL_obj1519z00_966))->BgL_aliasz00); } 
BgL_obj1494z00_967 = 
(BgL_typez00_bglt)(BgL_auxz00_1331); } 
BgL_arg2515z00_530 = 
(((BgL_typez00_bglt)CREF(BgL_obj1494z00_967))->BgL_idz00); } 
BgL_arg2512z00_529 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg2515z00_530); } 
{ /* ./Type/tenv.scm 82 */
BgL_typez00_bglt BgL_obj1521z00_968;obj_t BgL_val1520z00_969;
BgL_obj1521z00_968 = 
(BgL_typez00_bglt)(BgL_typez00_526); 
BgL_val1520z00_969 = 
(obj_t)(BgL_arg2512z00_529); 
((((BgL_typez00_bglt)CREF(BgL_obj1521z00_968))->BgL_aliasz00) = ((obj_t)BgL_val1520z00_969), BUNSPEC); } }  else 
{ /* ./Type/tenv.scm 81 */BFALSE; } } 
{ /* ./Type/tenv.scm 85 */
obj_t BgL_arg2526z00_533;
{ /* ./Type/tenv.scm 85 */
obj_t BgL_l2303z00_534;
{ /* ./Type/tenv.scm 87 */
BgL_typez00_bglt BgL_obj1507z00_970;
BgL_obj1507z00_970 = 
(BgL_typez00_bglt)(BgL_typez00_526); 
BgL_l2303z00_534 = 
(((BgL_typez00_bglt)CREF(BgL_obj1507z00_970))->BgL_parentsz00); } 
{ /* ./Type/tenv.scm 85 */
bool_t BgL_test2528z00_535;
BgL_test2528z00_535 = 
NULLP(BgL_l2303z00_534); 
if(BgL_test2528z00_535)
{ /* ./Type/tenv.scm 85 */
BgL_arg2526z00_533 = BNIL; }  else 
{ /* ./Type/tenv.scm 85 */
obj_t BgL_head2305z00_536;
BgL_head2305z00_536 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l2303z00_537;obj_t BgL_tail2306z00_538;
BgL_l2303z00_537 = BgL_l2303z00_534; 
BgL_tail2306z00_538 = BgL_head2305z00_536; 
BgL_map2304z00_539:
{ /* ./Type/tenv.scm 85 */
bool_t BgL_test2530z00_540;
BgL_test2530z00_540 = 
NULLP(BgL_l2303z00_537); 
if(BgL_test2530z00_540)
{ /* ./Type/tenv.scm 85 */
BgL_arg2526z00_533 = 
CDR(BgL_head2305z00_536); }  else 
{ /* ./Type/tenv.scm 86 */
obj_t BgL_newtail2307z00_541;
{ /* ./Type/tenv.scm 86 */
BgL_typez00_bglt BgL_arg2538z00_543;
{ /* ./Type/tenv.scm 86 */
obj_t BgL_parentz00_545;
BgL_parentz00_545 = 
CAR(BgL_l2303z00_537); 
{ /* ./Type/tenv.scm 86 */
obj_t BgL_arg2542z00_546;
{ /* ./Type/tenv.scm 86 */
BgL_typez00_bglt BgL_obj1494z00_977;
BgL_obj1494z00_977 = 
(BgL_typez00_bglt)(BgL_parentz00_545); 
BgL_arg2542z00_546 = 
(((BgL_typez00_bglt)CREF(BgL_obj1494z00_977))->BgL_idz00); } 
BgL_arg2538z00_543 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg2542z00_546); } } 
{ /* ./Type/tenv.scm 85 */
obj_t BgL_obj1z00_978;
BgL_obj1z00_978 = 
(obj_t)(BgL_arg2538z00_543); 
BgL_newtail2307z00_541 = 
MAKE_PAIR(BgL_obj1z00_978, BNIL); } } 
SET_CDR(BgL_tail2306z00_538, BgL_newtail2307z00_541); 
{ /* ./Type/tenv.scm 85 */
obj_t BgL_arg2534z00_542;
BgL_arg2534z00_542 = 
CDR(BgL_l2303z00_537); 
{ 
obj_t BgL_tail2306z00_1357;obj_t BgL_l2303z00_1356;
BgL_l2303z00_1356 = BgL_arg2534z00_542; 
BgL_tail2306z00_1357 = BgL_newtail2307z00_541; 
BgL_tail2306z00_538 = BgL_tail2306z00_1357; 
BgL_l2303z00_537 = BgL_l2303z00_1356; 
goto BgL_map2304z00_539;} } } } } } } } 
{ /* ./Type/tenv.scm 84 */
BgL_typez00_bglt BgL_obj1509z00_983;obj_t BgL_val1508z00_984;
BgL_obj1509z00_983 = 
(BgL_typez00_bglt)(BgL_typez00_526); 
BgL_val1508z00_984 = BgL_arg2526z00_533; 
((((BgL_typez00_bglt)CREF(BgL_obj1509z00_983))->BgL_parentsz00) = ((obj_t)BgL_val1508z00_984), BUNSPEC); } } 
{ 
obj_t BgL_l2308z00_547;
{ /* ./Type/tenv.scm 94 */
obj_t BgL_arg2551z00_549;
{ /* ./Type/tenv.scm 94 */
BgL_typez00_bglt BgL_obj1504z00_985;
BgL_obj1504z00_985 = 
(BgL_typez00_bglt)(BgL_typez00_526); 
BgL_arg2551z00_549 = 
(((BgL_typez00_bglt)CREF(BgL_obj1504z00_985))->BgL_coercezd2tozd2); } 
BgL_l2308z00_547 = BgL_arg2551z00_549; 
BgL_forzd2each2309zd2_548:
{ /* ./Type/tenv.scm 89 */
bool_t BgL_test2554z00_550;
BgL_test2554z00_550 = 
PAIRP(BgL_l2308z00_547); 
if(BgL_test2554z00_550)
{ /* ./Type/tenv.scm 89 */
{ /* ./Type/tenv.scm 90 */
obj_t BgL_coercerz00_551;
BgL_coercerz00_551 = 
CAR(BgL_l2308z00_547); 
{ /* ./Type/tenv.scm 90 */
obj_t BgL_fromz00_552;obj_t BgL_toz00_553;
{ /* ./Type/tenv.scm 90 */
int BgL_auxz00_1365;
BgL_auxz00_1365 = 
(int)(((long)0)); 
BgL_fromz00_552 = 
STRUCT_REF(BgL_coercerz00_551, BgL_auxz00_1365); } 
{ /* ./Type/tenv.scm 91 */
int BgL_auxz00_1368;
BgL_auxz00_1368 = 
(int)(((long)1)); 
BgL_toz00_553 = 
STRUCT_REF(BgL_coercerz00_551, BgL_auxz00_1368); } 
{ /* ./Type/tenv.scm 92 */
BgL_typez00_bglt BgL_arg2556z00_554;
{ /* ./Type/tenv.scm 92 */
obj_t BgL_arg2559z00_555;
{ /* ./Type/tenv.scm 92 */
BgL_typez00_bglt BgL_obj1494z00_994;
BgL_obj1494z00_994 = 
(BgL_typez00_bglt)(BgL_fromz00_552); 
BgL_arg2559z00_555 = 
(((BgL_typez00_bglt)CREF(BgL_obj1494z00_994))->BgL_idz00); } 
BgL_arg2556z00_554 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg2559z00_555); } 
{ /* ./Type/tenv.scm 92 */
int BgL_kz00_998;obj_t BgL_oz00_999;
BgL_kz00_998 = 
(int)(((long)0)); 
BgL_oz00_999 = 
(obj_t)(BgL_arg2556z00_554); 
STRUCT_SET(BgL_coercerz00_551, BgL_kz00_998, BgL_oz00_999); } } 
{ /* ./Type/tenv.scm 93 */
BgL_typez00_bglt BgL_arg2563z00_556;
{ /* ./Type/tenv.scm 93 */
obj_t BgL_arg2566z00_557;
{ /* ./Type/tenv.scm 93 */
BgL_typez00_bglt BgL_obj1494z00_1000;
BgL_obj1494z00_1000 = 
(BgL_typez00_bglt)(BgL_toz00_553); 
BgL_arg2566z00_557 = 
(((BgL_typez00_bglt)CREF(BgL_obj1494z00_1000))->BgL_idz00); } 
BgL_arg2563z00_556 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg2566z00_557); } 
{ /* ./Type/tenv.scm 93 */
int BgL_kz00_1004;obj_t BgL_oz00_1005;
BgL_kz00_1004 = 
(int)(((long)1)); 
BgL_oz00_1005 = 
(obj_t)(BgL_arg2563z00_556); 
STRUCT_SET(BgL_coercerz00_551, BgL_kz00_1004, BgL_oz00_1005); } } } } 
{ /* ./Type/tenv.scm 89 */
obj_t BgL_arg2573z00_558;
BgL_arg2573z00_558 = 
CDR(BgL_l2308z00_547); 
{ 
obj_t BgL_l2308z00_1384;
BgL_l2308z00_1384 = BgL_arg2573z00_558; 
BgL_l2308z00_547 = BgL_l2308z00_1384; 
goto BgL_forzd2each2309zd2_548;} } }  else 
{ /* ./Type/tenv.scm 89 */
BgL_auxz00_1326 = ((bool_t)1); } } } } } 
return 
BBOOL(BgL_auxz00_1326);} } } 
}



/* <anonymous:2443> */
obj_t BGl_zc3anonymousza32443ze3z83zztype_envz00(obj_t BgL_envz00_1104)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 181 */
{ /* ./Type/tenv.scm 182 */
obj_t BgL_nz00_1105;
{ /* ./Type/tenv.scm 182 */
int BgL_auxz00_1386;
BgL_auxz00_1386 = 
(int)(((long)0)); 
BgL_nz00_1105 = 
PROCEDURE_REF(BgL_envz00_1104, BgL_auxz00_1386); } 
{ 

{ /* ./Type/tenv.scm 182 */
bool_t BgL_test2444z00_489;
{ /* ./Type/tenv.scm 182 */
BgL_tclassz00_bglt BgL_obj2112z00_940;
BgL_obj2112z00_940 = 
(BgL_tclassz00_bglt)(BgL_nz00_1105); 
{ /* ./Type/tenv.scm 182 */
obj_t BgL_auxz00_1390;
{ 
obj_t BgL_auxz00_1391;
{ /* ./Type/tenv.scm 182 */
BgL_objectz00_bglt BgL_auxz00_1392;
BgL_auxz00_1392 = 
(BgL_objectz00_bglt)(BgL_obj2112z00_940); 
BgL_auxz00_1391 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1392); } 
BgL_auxz00_1390 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1391))->BgL_wideningz00); } 
BgL_test2444z00_489 = 
CBOOL(BgL_auxz00_1390); } } 
if(BgL_test2444z00_489)
{ /* ./Type/tenv.scm 182 */
return 
BGl_heapzd2widezd2classzd2accessorsz12zc0zzobject_widezd2accesszd2(
(BgL_tclassz00_bglt)(BgL_nz00_1105));}  else 
{ /* ./Type/tenv.scm 182 */
return 
BGl_heapzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(
(BgL_tclassz00_bglt)(BgL_nz00_1105));} } } } } 
}



/* <anonymous:2400> */
obj_t BGl_zc3anonymousza32400ze3z83zztype_envz00(obj_t BgL_envz00_1106, obj_t BgL_kz00_1107, obj_t BgL_newz00_1108)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 151 */
{ 
obj_t BgL_kz00_458;obj_t BgL_newz00_459;
BgL_kz00_458 = BgL_kz00_1107; 
BgL_newz00_459 = BgL_newz00_1108; 
{ /* ./Type/tenv.scm 152 */
obj_t BgL_idz00_461;
{ /* ./Type/tenv.scm 152 */
BgL_typez00_bglt BgL_obj1494z00_921;
BgL_obj1494z00_921 = 
(BgL_typez00_bglt)(BgL_newz00_459); 
BgL_idz00_461 = 
(((BgL_typez00_bglt)CREF(BgL_obj1494z00_921))->BgL_idz00); } 
{ /* ./Type/tenv.scm 152 */
obj_t BgL_oldz00_462;
BgL_oldz00_462 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_461); 
{ /* ./Type/tenv.scm 153 */

{ /* ./Type/tenv.scm 154 */
bool_t BgL_test2401z00_463;
BgL_test2401z00_463 = 
BGl_ctypezf3zf3zzforeign_ctypez00(BgL_oldz00_462); 
if(BgL_test2401z00_463)
{ /* ./Type/tenv.scm 155 */
obj_t BgL_lz00_464;
{ /* ./Type/tenv.scm 155 */
BgL_typez00_bglt BgL_obj1528z00_922;
BgL_obj1528z00_922 = 
(BgL_typez00_bglt)(BgL_oldz00_462); 
BgL_lz00_464 = 
(((BgL_typez00_bglt)CREF(BgL_obj1528z00_922))->BgL_locationz00); } 
{ /* ./Type/tenv.scm 157 */
obj_t BgL_arg2403z00_465;
BgL_arg2403z00_465 = 
BGl_makezd2ctypezd2accessesz12z12zzforeign_accessz00(
(BgL_typez00_bglt)(BgL_oldz00_462), 
(BgL_typez00_bglt)(BgL_oldz00_462), BgL_lz00_464); 
return 
BGl_foreignzd2accesseszd2addz12z12zzmodule_foreignz00(BgL_arg2403z00_465);} }  else 
{ /* ./Type/tenv.scm 154 */
return BFALSE;} } } } } } } 
}



/* <anonymous:2379> */
obj_t BGl_zc3anonymousza32379ze3z83zztype_envz00(obj_t BgL_envz00_1109, obj_t BgL_kz00_1111, obj_t BgL_newz00_1112)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 128 */
{ /* ./Type/tenv.scm 129 */
obj_t BgL_rememberzd2listzd2_1110;
{ /* ./Type/tenv.scm 129 */
int BgL_auxz00_1413;
BgL_auxz00_1413 = 
(int)(((long)0)); 
BgL_rememberzd2listzd2_1110 = 
PROCEDURE_REF(BgL_envz00_1109, BgL_auxz00_1413); } 
{ 
obj_t BgL_kz00_447;obj_t BgL_newz00_448;
BgL_kz00_447 = BgL_kz00_1111; 
BgL_newz00_448 = BgL_newz00_1112; 
{ 
obj_t BgL_oldz00_497;obj_t BgL_newz00_498;obj_t BgL_fromz00_515;BgL_typez00_bglt BgL_toz00_516;
{ /* ./Type/tenv.scm 129 */
obj_t BgL_idz00_450;
{ /* ./Type/tenv.scm 129 */
BgL_typez00_bglt BgL_obj1494z00_913;
BgL_obj1494z00_913 = 
(BgL_typez00_bglt)(BgL_newz00_448); 
BgL_idz00_450 = 
(((BgL_typez00_bglt)CREF(BgL_obj1494z00_913))->BgL_idz00); } 
{ /* ./Type/tenv.scm 129 */
obj_t BgL_oldz00_451;
BgL_oldz00_451 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_450); 
{ /* ./Type/tenv.scm 130 */

{ /* ./Type/tenv.scm 132 */
bool_t BgL_test2380z00_452;
BgL_test2380z00_452 = 
BGl_iszd2azf3z21zz__objectz00(BgL_oldz00_451, BGl_typez00zztype_typez00); 
if(BgL_test2380z00_452)
{ /* ./Type/tenv.scm 141 */
bool_t BgL_test2381z00_453;
{ /* ./Type/tenv.scm 141 */
BgL_typez00_bglt BgL_obj1510z00_915;
BgL_obj1510z00_915 = 
(BgL_typez00_bglt)(BgL_oldz00_451); 
BgL_test2381z00_453 = 
(((BgL_typez00_bglt)CREF(BgL_obj1510z00_915))->BgL_initzf3zf3); } 
if(BgL_test2381z00_453)
{ /* ./Type/tenv.scm 141 */
{ /* ./Type/tenv.scm 149 */
bool_t BgL_auxz00_1424;
BgL_oldz00_497 = BgL_oldz00_451; 
BgL_newz00_498 = BgL_newz00_448; 
{ 
obj_t BgL_l2310z00_500;
{ /* ./Type/tenv.scm 115 */
obj_t BgL_arg2462z00_502;
{ /* ./Type/tenv.scm 115 */
BgL_typez00_bglt BgL_obj1504z00_942;
BgL_obj1504z00_942 = 
(BgL_typez00_bglt)(BgL_newz00_498); 
BgL_arg2462z00_502 = 
(((BgL_typez00_bglt)CREF(BgL_obj1504z00_942))->BgL_coercezd2tozd2); } 
BgL_l2310z00_500 = BgL_arg2462z00_502; 
BgL_forzd2each2311zd2_501:
{ /* ./Type/tenv.scm 105 */
bool_t BgL_test2465z00_503;
BgL_test2465z00_503 = 
PAIRP(BgL_l2310z00_500); 
if(BgL_test2465z00_503)
{ /* ./Type/tenv.scm 105 */
{ /* ./Type/tenv.scm 106 */
obj_t BgL_coercerz00_504;
BgL_coercerz00_504 = 
CAR(BgL_l2310z00_500); 
{ /* ./Type/tenv.scm 106 */
obj_t BgL_toz00_506;
{ /* ./Type/tenv.scm 107 */
int BgL_auxz00_1430;
BgL_auxz00_1430 = 
(int)(((long)1)); 
BgL_toz00_506 = 
STRUCT_REF(BgL_coercerz00_504, BgL_auxz00_1430); } 
{ /* ./Type/tenv.scm 107 */
obj_t BgL_tidz00_507;
{ /* ./Type/tenv.scm 108 */
BgL_typez00_bglt BgL_obj1494z00_951;
BgL_obj1494z00_951 = 
(BgL_typez00_bglt)(BgL_toz00_506); 
BgL_tidz00_507 = 
(((BgL_typez00_bglt)CREF(BgL_obj1494z00_951))->BgL_idz00); } 
{ /* ./Type/tenv.scm 108 */
bool_t BgL_tidzd2existszf3z21_508;
BgL_tidzd2existszf3z21_508 = 
BGl_typezd2existszf3z21zztype_envz00(BgL_tidz00_507); 
{ /* ./Type/tenv.scm 109 */

{ /* ./Type/tenv.scm 110 */
bool_t BgL_test2466z00_509;
if(BgL_tidzd2existszf3z21_508)
{ /* ./Type/tenv.scm 111 */
bool_t BgL_test2474z00_512;
{ /* ./Type/tenv.scm 111 */
BgL_typez00_bglt BgL_arg2476z00_513;
BgL_arg2476z00_513 = 
BGl_findzd2typezd2zztype_envz00(BgL_tidz00_507); 
{ /* ./Type/tenv.scm 111 */
obj_t BgL_auxz00_1438;
BgL_fromz00_515 = BgL_oldz00_497; 
BgL_toz00_516 = BgL_arg2476z00_513; 
{ 
obj_t BgL_coercerz00_518;
{ /* ./Type/tenv.scm 96 */
BgL_typez00_bglt BgL_obj1504z00_956;
BgL_obj1504z00_956 = 
(BgL_typez00_bglt)(BgL_fromz00_515); 
BgL_coercerz00_518 = 
(((BgL_typez00_bglt)CREF(BgL_obj1504z00_956))->BgL_coercezd2tozd2); } 
BgL_loopz00_519:
if(
NULLP(BgL_coercerz00_518))
{ /* ./Type/tenv.scm 98 */
BgL_auxz00_1438 = BFALSE; }  else 
{ /* ./Type/tenv.scm 100 */
bool_t BgL_testz00_1441;
{ /* ./Type/tenv.scm 100 */
obj_t BgL_auxz00_1448;obj_t BgL_auxz00_1442;
BgL_auxz00_1448 = 
(obj_t)(BgL_toz00_516); 
{ /* ./Type/tenv.scm 100 */
int BgL_auxz00_1445;obj_t BgL_auxz00_1443;
BgL_auxz00_1445 = 
(int)(((long)1)); 
BgL_auxz00_1443 = 
CAR(BgL_coercerz00_518); 
BgL_auxz00_1442 = 
STRUCT_REF(BgL_auxz00_1443, BgL_auxz00_1445); } 
BgL_testz00_1441 = 
(BgL_auxz00_1442==BgL_auxz00_1448); } 
if(BgL_testz00_1441)
{ /* ./Type/tenv.scm 100 */
BgL_auxz00_1438 = 
CAR(BgL_coercerz00_518); }  else 
{ /* ./Type/tenv.scm 100 */
{ 
obj_t BgL_coercerz00_1452;
BgL_coercerz00_1452 = 
CDR(BgL_coercerz00_518); 
BgL_coercerz00_518 = BgL_coercerz00_1452; 
goto BgL_loopz00_519;} } } } 
BgL_test2474z00_512 = 
CBOOL(BgL_auxz00_1438); } } 
if(BgL_test2474z00_512)
{ /* ./Type/tenv.scm 111 */
BgL_test2466z00_509 = ((bool_t)0); }  else 
{ /* ./Type/tenv.scm 111 */
BgL_test2466z00_509 = ((bool_t)1); } }  else 
{ /* ./Type/tenv.scm 110 */
BgL_test2466z00_509 = ((bool_t)1); } 
if(BgL_test2466z00_509)
{ /* ./Type/tenv.scm 114 */
obj_t BgL_arg2468z00_510;
{ /* ./Type/tenv.scm 114 */
obj_t BgL_arg2471z00_511;
{ /* ./Type/tenv.scm 114 */
BgL_typez00_bglt BgL_obj1504z00_952;
BgL_obj1504z00_952 = 
(BgL_typez00_bglt)(BgL_oldz00_497); 
BgL_arg2471z00_511 = 
(((BgL_typez00_bglt)CREF(BgL_obj1504z00_952))->BgL_coercezd2tozd2); } 
BgL_arg2468z00_510 = 
MAKE_PAIR(BgL_coercerz00_504, BgL_arg2471z00_511); } 
{ /* ./Type/tenv.scm 112 */
BgL_typez00_bglt BgL_obj1506z00_953;obj_t BgL_val1505z00_954;
BgL_obj1506z00_953 = 
(BgL_typez00_bglt)(BgL_oldz00_497); 
BgL_val1505z00_954 = BgL_arg2468z00_510; 
((((BgL_typez00_bglt)CREF(BgL_obj1506z00_953))->BgL_coercezd2tozd2) = ((obj_t)BgL_val1505z00_954), BUNSPEC); } }  else 
{ /* ./Type/tenv.scm 110 */BFALSE; } } } } } } } 
{ /* ./Type/tenv.scm 105 */
obj_t BgL_arg2485z00_514;
BgL_arg2485z00_514 = 
CDR(BgL_l2310z00_500); 
{ 
obj_t BgL_l2310z00_1465;
BgL_l2310z00_1465 = BgL_arg2485z00_514; 
BgL_l2310z00_500 = BgL_l2310z00_1465; 
goto BgL_forzd2each2311zd2_501;} } }  else 
{ /* ./Type/tenv.scm 105 */
BgL_auxz00_1424 = ((bool_t)1); } } } } 
return 
BBOOL(BgL_auxz00_1424);} }  else 
{ /* ./Type/tenv.scm 141 */
FAILURE(BGl_string3323z00zztype_envz00,BGl_string3324z00zztype_envz00,BgL_idz00_450);} }  else 
{ /* ./Type/tenv.scm 132 */
BGl_hashtablezd2putz12zc0zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_450, BgL_newz00_448); 
{ /* ./Type/tenv.scm 134 */
bool_t BgL_test2387z00_454;
BgL_test2387z00_454 = 
BGl_iszd2azf3z21zz__objectz00(BgL_newz00_448, BGl_tclassz00zzobject_classz00); 
if(BgL_test2387z00_454)
{ /* ./Type/tenv.scm 134 */
BGl_heapzd2addzd2classz12z12zzobject_classz00(
(BgL_tclassz00_bglt)(BgL_newz00_448)); 
{ /* ./Type/tenv.scm 137 */
obj_t BgL_auxz00_1113;
{ /* ./Type/tenv.scm 138 */
obj_t BgL_auxz00_1475;
BgL_auxz00_1475 = 
CELL_REF(BgL_rememberzd2listzd2_1110); 
BgL_auxz00_1113 = 
MAKE_PAIR(BgL_newz00_448, BgL_auxz00_1475); } 
CELL_SET(BgL_rememberzd2listzd2_1110, BgL_auxz00_1113); } }  else 
{ /* ./Type/tenv.scm 134 */BFALSE; } } 
{ /* ./Type/tenv.scm 139 */
bool_t BgL_test2391z00_455;
BgL_test2391z00_455 = 
BGl_iszd2azf3z21zz__objectz00(BgL_newz00_448, BGl_jclassz00zzobject_classz00); 
if(BgL_test2391z00_455)
{ /* ./Type/tenv.scm 139 */
return 
BGl_heapzd2addzd2jclassz12z12zzmodule_javaz00(BgL_newz00_448);}  else 
{ /* ./Type/tenv.scm 139 */
return BFALSE;} } } } } } } } } } } 
}



/* get-tenv */
BGL_EXPORTED_DEF obj_t BGl_getzd2tenvzd2zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 199 */
return BGl_za2Tenvza2z00zztype_envz00;} 
}



/* _get-tenv */
obj_t BGl__getzd2tenvzd2zztype_envz00(obj_t BgL_envz00_1114)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 199 */
return BGl_za2Tenvza2z00zztype_envz00;} 
}



/* initialize-Tenv! */
BGL_EXPORTED_DEF obj_t BGl_initializa7ezd2Tenvz12z67zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 205 */
return ( 
BGl_za2Tenvza2z00zztype_envz00 = 
BGl_makezd2hashtablezd2zz__hashz00(BNIL), BUNSPEC) ;} 
}



/* _initialize-Tenv! */
obj_t BGl__initializa7ezd2Tenvz12z67zztype_envz00(obj_t BgL_envz00_1115)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 205 */
return 
BGl_initializa7ezd2Tenvz12z67zztype_envz00();} 
}



/* find-type */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_findzd2typezd2zztype_envz00(obj_t BgL_idz00_21)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 212 */
{ /* ./Type/tenv.scm 213 */
obj_t BgL_typez00_563;
BgL_typez00_563 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_21); 
{ /* ./Type/tenv.scm 214 */
bool_t BgL_test2579z00_564;
BgL_test2579z00_564 = 
BGl_iszd2azf3z21zz__objectz00(BgL_typez00_563, BGl_typez00zztype_typez00); 
if(BgL_test2579z00_564)
{ /* ./Type/tenv.scm 214 */
return 
(BgL_typez00_bglt)(BgL_typez00_563);}  else 
{ /* ./Type/tenv.scm 214 */
FAILURE(BGl_string3325z00zztype_envz00,BGl_string3326z00zztype_envz00,BgL_idz00_21);} } } } 
}



/* _find-type */
obj_t BGl__findzd2typezd2zztype_envz00(obj_t BgL_envz00_1116, obj_t BgL_idz00_1117)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 212 */
{ /* ./Type/tenv.scm 213 */
BgL_typez00_bglt BgL_auxz00_1487;
BgL_auxz00_1487 = 
BGl_findzd2typezd2zztype_envz00(BgL_idz00_1117); 
return 
(obj_t)(BgL_auxz00_1487);} } 
}



/* type-exists? */
BGL_EXPORTED_DEF bool_t BGl_typezd2existszf3z21zztype_envz00(obj_t BgL_idz00_22)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 223 */
{ /* ./Type/tenv.scm 224 */
obj_t BgL_typez00_565;
BgL_typez00_565 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_22); 
{ /* ./Type/tenv.scm 225 */
bool_t BgL_test2583z00_566;
BgL_test2583z00_566 = 
BGl_iszd2azf3z21zz__objectz00(BgL_typez00_565, BGl_typez00zztype_typez00); 
if(BgL_test2583z00_566)
{ /* ./Type/tenv.scm 227 */
BgL_typez00_bglt BgL_obj1510z00_1012;
BgL_obj1510z00_1012 = 
(BgL_typez00_bglt)(BgL_typez00_565); 
return 
(((BgL_typez00_bglt)CREF(BgL_obj1510z00_1012))->BgL_initzf3zf3);}  else 
{ /* ./Type/tenv.scm 225 */
return ((bool_t)0);} } } } 
}



/* _type-exists? */
obj_t BGl__typezd2existszf3z21zztype_envz00(obj_t BgL_envz00_1118, obj_t BgL_idz00_1119)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 223 */
{ /* ./Type/tenv.scm 224 */
bool_t BgL_auxz00_1495;
BgL_auxz00_1495 = 
BGl_typezd2existszf3z21zztype_envz00(BgL_idz00_1119); 
return 
BBOOL(BgL_auxz00_1495);} } 
}



/* bind-type! */
BgL_typez00_bglt BGl_bindzd2typez12zc0zztype_envz00(obj_t BgL_idz00_23, bool_t BgL_initzf3zf3_24, obj_t BgL_locz00_25)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 232 */
{ /* ./Type/tenv.scm 233 */
obj_t BgL_typez00_567;
BgL_typez00_567 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_23); 
{ /* ./Type/tenv.scm 234 */
bool_t BgL_test2587z00_568;
BgL_test2587z00_568 = 
BGl_iszd2azf3z21zz__objectz00(BgL_typez00_567, BGl_typez00zztype_typez00); 
if(BgL_test2587z00_568)
{ /* ./Type/tenv.scm 235 */
bool_t BgL_test2588z00_569;
if(
CBOOL(BGl_za2libzd2modeza2zd2zzengine_paramz00))
{ /* ./Type/tenv.scm 235 */
BgL_test2588z00_569 = ((bool_t)0); }  else 
{ /* ./Type/tenv.scm 235 */
BgL_typez00_bglt BgL_obj1510z00_1014;
BgL_obj1510z00_1014 = 
(BgL_typez00_bglt)(BgL_typez00_567); 
BgL_test2588z00_569 = 
(((BgL_typez00_bglt)CREF(BgL_obj1510z00_1014))->BgL_initzf3zf3); } 
if(BgL_test2588z00_569)
{ /* ./Type/tenv.scm 236 */
obj_t BgL_arg2592z00_572;
BgL_arg2592z00_572 = 
BGl_shapez00zztools_shapez00(BgL_typez00_567); 
{ /* ./Type/tenv.scm 236 */
obj_t BgL_auxz00_1507;
BgL_auxz00_1507 = 
BGl_userzd2errorzd2zztools_errorz00(BGl_string3327z00zztype_envz00, BGl_string3328z00zztype_envz00, BgL_arg2592z00_572, BNIL); 
return 
(BgL_typez00_bglt)(BgL_auxz00_1507);} }  else 
{ /* ./Type/tenv.scm 235 */
if(BgL_initzf3zf3_24)
{ /* ./Type/tenv.scm 240 */
BgL_typez00_bglt BgL_obj1512z00_1015;bool_t BgL_val1511z00_1016;
BgL_obj1512z00_1015 = 
(BgL_typez00_bglt)(BgL_typez00_567); 
BgL_val1511z00_1016 = ((bool_t)1); 
((((BgL_typez00_bglt)CREF(BgL_obj1512z00_1015))->BgL_initzf3zf3) = ((bool_t)BgL_val1511z00_1016), BUNSPEC); }  else 
{ /* ./Type/tenv.scm 240 */BFALSE; } 
return 
(BgL_typez00_bglt)(BgL_typez00_567);} }  else 
{ /* ./Type/tenv.scm 243 */
BgL_typez00_bglt BgL_newz00_574;
{ /* ./Type/tenv.scm 243 */
obj_t BgL_arg2600z00_575;obj_t BgL_arg2601z00_576;bool_t BgL_arg2604z00_579;obj_t BgL_arg2605z00_580;
BgL_arg2600z00_575 = BgL_idz00_23; 
BgL_arg2601z00_576 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg2604z00_579 = BgL_initzf3zf3_24; 
BgL_arg2605z00_580 = BgL_locz00_25; 
BgL_newz00_574 = 
BGl_makezd2typezd2zztype_typez00(BgL_arg2600z00_575, BUNSPEC, BUNSPEC, BgL_arg2601z00_576, BNIL, BNIL, BgL_arg2604z00_579, ((bool_t)0), BTRUE, BFALSE, BFALSE, BUNSPEC, BgL_arg2605z00_580, BFALSE); } 
BGl_hashtablezd2putz12zc0zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_23, 
(obj_t)(BgL_newz00_574)); 
return BgL_newz00_574;} } } } 
}



/* use-type! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_usezd2typez12zc0zztype_envz00(obj_t BgL_idz00_26, obj_t BgL_locz00_27)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 250 */
{ /* ./Type/tenv.scm 252 */
obj_t BgL_typez00_581;
BgL_typez00_581 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_26); 
{ /* ./Type/tenv.scm 254 */
bool_t BgL_test2609z00_582;
BgL_test2609z00_582 = 
BGl_iszd2azf3z21zz__objectz00(BgL_typez00_581, BGl_typez00zztype_typez00); 
if(BgL_test2609z00_582)
{ /* ./Type/tenv.scm 254 */
return 
(BgL_typez00_bglt)(BgL_typez00_581);}  else 
{ /* ./Type/tenv.scm 254 */
if(BGl_za2typeszd2alreadyzd2checkedzf3za2zf3zztype_envz00)
{ /* ./Type/tenv.scm 256 */
{ /* ./Type/tenv.scm 257 */
obj_t BgL_auxz00_1523;
BgL_auxz00_1523 = 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_locz00_27, BGl_string3329z00zztype_envz00, BGl_string3326z00zztype_envz00, BgL_idz00_26, BNIL); 
return 
(BgL_typez00_bglt)(BgL_auxz00_1523);} }  else 
{ /* ./Type/tenv.scm 256 */
return 
BGl_bindzd2typez12zc0zztype_envz00(BgL_idz00_26, ((bool_t)0), BgL_locz00_27);} } } } } 
}



/* _use-type! */
obj_t BGl__usezd2typez12zc0zztype_envz00(obj_t BgL_envz00_1120, obj_t BgL_idz00_1121, obj_t BgL_locz00_1122)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 250 */
{ /* ./Type/tenv.scm 251 */
BgL_typez00_bglt BgL_auxz00_1527;
BgL_auxz00_1527 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_idz00_1121, BgL_locz00_1122); 
return 
(obj_t)(BgL_auxz00_1527);} } 
}



/* use-type/import-loc! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_usezd2typezf2importzd2locz12ze0zztype_envz00(obj_t BgL_idz00_28, obj_t BgL_locz00_29, obj_t BgL_lociz00_30)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 265 */
{ /* ./Type/tenv.scm 267 */
obj_t BgL_typez00_584;
BgL_typez00_584 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_idz00_28); 
{ /* ./Type/tenv.scm 269 */
bool_t BgL_test2615z00_585;
BgL_test2615z00_585 = 
BGl_iszd2azf3z21zz__objectz00(BgL_typez00_584, BGl_typez00zztype_typez00); 
if(BgL_test2615z00_585)
{ /* ./Type/tenv.scm 269 */
return 
(BgL_typez00_bglt)(BgL_typez00_584);}  else 
{ /* ./Type/tenv.scm 269 */
if(BGl_za2typeszd2alreadyzd2checkedzf3za2zf3zztype_envz00)
{ /* ./Type/tenv.scm 271 */
{ /* ./Type/tenv.scm 272 */
obj_t BgL_auxz00_1535;
BgL_auxz00_1535 = 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_locz00_29, BGl_string3329z00zztype_envz00, BGl_string3326z00zztype_envz00, BgL_idz00_28, BNIL); 
return 
(BgL_typez00_bglt)(BgL_auxz00_1535);} }  else 
{ /* ./Type/tenv.scm 271 */
{ /* ./Type/tenv.scm 275 */
BgL_typez00_bglt BgL_typez00_587;
BgL_typez00_587 = 
BGl_bindzd2typez12zc0zztype_envz00(BgL_idz00_28, ((bool_t)0), BgL_locz00_29); 
{ /* ./Type/tenv.scm 276 */
BgL_typez00_bglt BgL_obj1533z00_1019;obj_t BgL_val1532z00_1020;
BgL_obj1533z00_1019 = BgL_typez00_587; 
BgL_val1532z00_1020 = BgL_lociz00_30; 
((((BgL_typez00_bglt)CREF(BgL_obj1533z00_1019))->BgL_importzd2locationzd2) = ((obj_t)BgL_val1532z00_1020), BUNSPEC); } 
return BgL_typez00_587;} } } } } } 
}



/* _use-type/import-loc! */
obj_t BGl__usezd2typezf2importzd2locz12ze0zztype_envz00(obj_t BgL_envz00_1123, obj_t BgL_idz00_1124, obj_t BgL_locz00_1125, obj_t BgL_lociz00_1126)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 265 */
{ /* ./Type/tenv.scm 266 */
BgL_typez00_bglt BgL_auxz00_1540;
BgL_auxz00_1540 = 
BGl_usezd2typezf2importzd2locz12ze0zztype_envz00(BgL_idz00_1124, BgL_locz00_1125, BgL_lociz00_1126); 
return 
(obj_t)(BgL_auxz00_1540);} } 
}



/* use-foreign-type! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_usezd2foreignzd2typez12z12zztype_envz00(obj_t BgL_idz00_31, obj_t BgL_locz00_32)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 288 */
{ /* ./Type/tenv.scm 290 */
obj_t BgL_tidz00_588;
BgL_tidz00_588 = 
BGl_parsezd2idzd2zzast_identz00(BgL_idz00_31, BgL_locz00_32); 
{ /* ./Type/tenv.scm 295 */
bool_t BgL_test2622z00_589;
{ /* ./Type/tenv.scm 295 */
obj_t BgL_arg2629z00_591;BgL_typez00_bglt BgL_arg2630z00_592;
BgL_arg2629z00_591 = 
CDR(BgL_tidz00_588); 
BgL_arg2630z00_592 = 
BGl_getzd2defaultzd2typez00zztype_cachez00(); 
{ /* ./Type/tenv.scm 295 */
obj_t BgL_auxz00_1546;
BgL_auxz00_1546 = 
(obj_t)(BgL_arg2630z00_592); 
BgL_test2622z00_589 = 
(BgL_arg2629z00_591==BgL_auxz00_1546); } } 
if(BgL_test2622z00_589)
{ /* ./Type/tenv.scm 298 */
obj_t BgL_arg2624z00_590;
BgL_arg2624z00_590 = 
CAR(BgL_tidz00_588); 
return 
BGl_usezd2typez12zc0zztype_envz00(BgL_arg2624z00_590, BgL_locz00_32);}  else 
{ /* ./Type/tenv.scm 299 */
obj_t BgL_auxz00_1552;
BgL_auxz00_1552 = 
CDR(BgL_tidz00_588); 
return 
(BgL_typez00_bglt)(BgL_auxz00_1552);} } } } 
}



/* _use-foreign-type! */
obj_t BGl__usezd2foreignzd2typez12z12zztype_envz00(obj_t BgL_envz00_1127, obj_t BgL_idz00_1128, obj_t BgL_locz00_1129)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 288 */
{ /* ./Type/tenv.scm 289 */
BgL_typez00_bglt BgL_auxz00_1555;
BgL_auxz00_1555 = 
BGl_usezd2foreignzd2typez12z12zztype_envz00(BgL_idz00_1128, BgL_locz00_1129); 
return 
(obj_t)(BgL_auxz00_1555);} } 
}



/* use-foreign-type/import-loc! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(obj_t BgL_idz00_33, obj_t BgL_locz00_34, obj_t BgL_lociz00_35)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 310 */
{ /* ./Type/tenv.scm 312 */
obj_t BgL_tidz00_593;
BgL_tidz00_593 = 
BGl_parsezd2idzd2zzast_identz00(BgL_idz00_33, BgL_locz00_34); 
{ /* ./Type/tenv.scm 317 */
bool_t BgL_test2635z00_594;
{ /* ./Type/tenv.scm 317 */
obj_t BgL_arg2642z00_596;BgL_typez00_bglt BgL_arg2643z00_597;
BgL_arg2642z00_596 = 
CDR(BgL_tidz00_593); 
BgL_arg2643z00_597 = 
BGl_getzd2defaultzd2typez00zztype_cachez00(); 
{ /* ./Type/tenv.scm 317 */
obj_t BgL_auxz00_1561;
BgL_auxz00_1561 = 
(obj_t)(BgL_arg2643z00_597); 
BgL_test2635z00_594 = 
(BgL_arg2642z00_596==BgL_auxz00_1561); } } 
if(BgL_test2635z00_594)
{ /* ./Type/tenv.scm 320 */
obj_t BgL_arg2637z00_595;
BgL_arg2637z00_595 = 
CAR(BgL_tidz00_593); 
return 
BGl_usezd2typezf2importzd2locz12ze0zztype_envz00(BgL_arg2637z00_595, BgL_locz00_34, BgL_lociz00_35);}  else 
{ /* ./Type/tenv.scm 321 */
obj_t BgL_auxz00_1567;
BgL_auxz00_1567 = 
CDR(BgL_tidz00_593); 
return 
(BgL_typez00_bglt)(BgL_auxz00_1567);} } } } 
}



/* _use-foreign-type/import-loc! */
obj_t BGl__usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(obj_t BgL_envz00_1130, obj_t BgL_idz00_1131, obj_t BgL_locz00_1132, obj_t BgL_lociz00_1133)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 310 */
{ /* ./Type/tenv.scm 311 */
BgL_typez00_bglt BgL_auxz00_1570;
BgL_auxz00_1570 = 
BGl_usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(BgL_idz00_1131, BgL_locz00_1132, BgL_lociz00_1133); 
return 
(obj_t)(BgL_auxz00_1570);} } 
}



/* declare-type! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_declarezd2typez12zc0zztype_envz00(obj_t BgL_idz00_36, obj_t BgL_namez00_37, obj_t BgL_classz00_38)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 326 */
{ /* ./Type/tenv.scm 328 */
bool_t BgL_test2648z00_598;
{ /* ./Type/tenv.scm 328 */
obj_t BgL_auxz00_1573;
BgL_auxz00_1573 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_classz00_38, 
CNST_TABLE_REF(((long)2))); 
BgL_test2648z00_598 = 
CBOOL(BgL_auxz00_1573); } 
if(BgL_test2648z00_598)
{ /* ./Type/tenv.scm 332 */
BgL_typez00_bglt BgL_typez00_599;
BgL_typez00_599 = 
BGl_bindzd2typez12zc0zztype_envz00(BgL_idz00_36, ((bool_t)1), BUNSPEC); 
{ /* ./Type/tenv.scm 333 */
BgL_typez00_bglt BgL_obj1497z00_1027;obj_t BgL_val1496z00_1028;
BgL_obj1497z00_1027 = BgL_typez00_599; 
BgL_val1496z00_1028 = BgL_namez00_37; 
((((BgL_typez00_bglt)CREF(BgL_obj1497z00_1027))->BgL_namez00) = ((obj_t)BgL_val1496z00_1028), BUNSPEC); } 
{ /* ./Type/tenv.scm 334 */
obj_t BgL_arg2651z00_600;
BgL_arg2651z00_600 = 
BGl_z42zd2inzd2namezf3zb1zztype_toolsz00(BgL_namez00_37); 
{ /* ./Type/tenv.scm 334 */
BgL_typez00_bglt BgL_obj1518z00_1029;obj_t BgL_val1517z00_1030;
BgL_obj1518z00_1029 = BgL_typez00_599; 
BgL_val1517z00_1030 = BgL_arg2651z00_600; 
((((BgL_typez00_bglt)CREF(BgL_obj1518z00_1029))->BgL_z42z42) = ((obj_t)BgL_val1517z00_1030), BUNSPEC); } } 
{ /* ./Type/tenv.scm 335 */
BgL_typez00_bglt BgL_obj1503z00_1031;obj_t BgL_val1502z00_1032;
BgL_obj1503z00_1031 = BgL_typez00_599; 
BgL_val1502z00_1032 = BgL_classz00_38; 
((((BgL_typez00_bglt)CREF(BgL_obj1503z00_1031))->BgL_classz00) = ((obj_t)BgL_val1502z00_1032), BUNSPEC); } 
return BgL_typez00_599;}  else 
{ /* ./Type/tenv.scm 329 */
obj_t BgL_auxz00_1583;
BgL_auxz00_1583 = 
BGl_userzd2errorzd2zztools_errorz00(BGl_string3330z00zztype_envz00, BGl_string3331z00zztype_envz00, BgL_classz00_38, BNIL); 
return 
(BgL_typez00_bglt)(BgL_auxz00_1583);} } } 
}



/* _declare-type! */
obj_t BGl__declarezd2typez12zc0zztype_envz00(obj_t BgL_envz00_1134, obj_t BgL_idz00_1135, obj_t BgL_namez00_1136, obj_t BgL_classz00_1137)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 326 */
{ /* ./Type/tenv.scm 327 */
BgL_typez00_bglt BgL_auxz00_1586;
BgL_auxz00_1586 = 
BGl_declarezd2typez12zc0zztype_envz00(BgL_idz00_1135, BgL_namez00_1136, BgL_classz00_1137); 
return 
(obj_t)(BgL_auxz00_1586);} } 
}



/* declare-subtype! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_declarezd2subtypez12zc0zztype_envz00(obj_t BgL_idz00_39, obj_t BgL_namez00_40, obj_t BgL_parentsz00_41, obj_t BgL_classz00_42)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 343 */
{ /* ./Type/tenv.scm 346 */
BgL_typez00_bglt BgL_typez00_602;obj_t BgL_parentsz00_603;
BgL_typez00_602 = 
BGl_bindzd2typez12zc0zztype_envz00(BgL_idz00_39, ((bool_t)1), BUNSPEC); 
{ /* ./Type/tenv.scm 347 */
bool_t BgL_test2667z00_606;
BgL_test2667z00_606 = 
NULLP(BgL_parentsz00_41); 
if(BgL_test2667z00_606)
{ /* ./Type/tenv.scm 347 */
BgL_parentsz00_603 = BNIL; }  else 
{ /* ./Type/tenv.scm 347 */
obj_t BgL_head2319z00_607;
{ /* ./Type/tenv.scm 347 */
BgL_typez00_bglt BgL_arg2688z00_618;
{ /* ./Type/tenv.scm 347 */
obj_t BgL_arg2692z00_620;
BgL_arg2692z00_620 = 
CAR(BgL_parentsz00_41); 
BgL_arg2688z00_618 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg2692z00_620); } 
{ /* ./Type/tenv.scm 347 */
obj_t BgL_obj1z00_1035;
BgL_obj1z00_1035 = 
(obj_t)(BgL_arg2688z00_618); 
BgL_head2319z00_607 = 
MAKE_PAIR(BgL_obj1z00_1035, BNIL); } } 
{ 
obj_t BgL_l2317z00_608;obj_t BgL_tail2320z00_609;
{ /* ./Type/tenv.scm 347 */
obj_t BgL_arg2669z00_611;
BgL_arg2669z00_611 = 
CDR(BgL_parentsz00_41); 
BgL_l2317z00_608 = BgL_arg2669z00_611; 
BgL_tail2320z00_609 = BgL_head2319z00_607; 
BgL_map2318z00_610:
{ /* ./Type/tenv.scm 347 */
bool_t BgL_test2672z00_612;
BgL_test2672z00_612 = 
NULLP(BgL_l2317z00_608); 
if(BgL_test2672z00_612)
{ /* ./Type/tenv.scm 347 */
BgL_parentsz00_603 = BgL_head2319z00_607; }  else 
{ /* ./Type/tenv.scm 347 */
obj_t BgL_newtail2321z00_613;
{ /* ./Type/tenv.scm 347 */
BgL_typez00_bglt BgL_arg2679z00_615;
{ /* ./Type/tenv.scm 347 */
obj_t BgL_arg2683z00_617;
BgL_arg2683z00_617 = 
CAR(BgL_l2317z00_608); 
BgL_arg2679z00_615 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg2683z00_617); } 
{ /* ./Type/tenv.scm 347 */
obj_t BgL_obj1z00_1040;
BgL_obj1z00_1040 = 
(obj_t)(BgL_arg2679z00_615); 
BgL_newtail2321z00_613 = 
MAKE_PAIR(BgL_obj1z00_1040, BNIL); } } 
SET_CDR(BgL_tail2320z00_609, BgL_newtail2321z00_613); 
{ /* ./Type/tenv.scm 347 */
obj_t BgL_arg2675z00_614;
BgL_arg2675z00_614 = 
CDR(BgL_l2317z00_608); 
{ 
obj_t BgL_tail2320z00_1606;obj_t BgL_l2317z00_1605;
BgL_l2317z00_1605 = BgL_arg2675z00_614; 
BgL_tail2320z00_1606 = BgL_newtail2321z00_613; 
BgL_tail2320z00_609 = BgL_tail2320z00_1606; 
BgL_l2317z00_608 = BgL_l2317z00_1605; 
goto BgL_map2318z00_610;} } } } } } } } 
{ /* ./Type/tenv.scm 348 */
BgL_typez00_bglt BgL_obj1497z00_1045;obj_t BgL_val1496z00_1046;
BgL_obj1497z00_1045 = BgL_typez00_602; 
BgL_val1496z00_1046 = BgL_namez00_40; 
((((BgL_typez00_bglt)CREF(BgL_obj1497z00_1045))->BgL_namez00) = ((obj_t)BgL_val1496z00_1046), BUNSPEC); } 
{ /* ./Type/tenv.scm 349 */
obj_t BgL_arg2661z00_604;
BgL_arg2661z00_604 = 
BGl_z42zd2inzd2namezf3zb1zztype_toolsz00(BgL_namez00_40); 
{ /* ./Type/tenv.scm 349 */
BgL_typez00_bglt BgL_obj1518z00_1047;obj_t BgL_val1517z00_1048;
BgL_obj1518z00_1047 = BgL_typez00_602; 
BgL_val1517z00_1048 = BgL_arg2661z00_604; 
((((BgL_typez00_bglt)CREF(BgL_obj1518z00_1047))->BgL_z42z42) = ((obj_t)BgL_val1517z00_1048), BUNSPEC); } } 
{ /* ./Type/tenv.scm 350 */
BgL_typez00_bglt BgL_obj1503z00_1049;obj_t BgL_val1502z00_1050;
BgL_obj1503z00_1049 = BgL_typez00_602; 
BgL_val1502z00_1050 = BgL_classz00_42; 
((((BgL_typez00_bglt)CREF(BgL_obj1503z00_1049))->BgL_classz00) = ((obj_t)BgL_val1502z00_1050), BUNSPEC); } 
{ /* ./Type/tenv.scm 351 */
BgL_typez00_bglt BgL_obj1509z00_1051;obj_t BgL_val1508z00_1052;
BgL_obj1509z00_1051 = BgL_typez00_602; 
BgL_val1508z00_1052 = BgL_parentsz00_603; 
((((BgL_typez00_bglt)CREF(BgL_obj1509z00_1051))->BgL_parentsz00) = ((obj_t)BgL_val1508z00_1052), BUNSPEC); } 
return BgL_typez00_602;} } 
}



/* _declare-subtype! */
obj_t BGl__declarezd2subtypez12zc0zztype_envz00(obj_t BgL_envz00_1138, obj_t BgL_idz00_1139, obj_t BgL_namez00_1140, obj_t BgL_parentsz00_1141, obj_t BgL_classz00_1142)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 343 */
{ /* ./Type/tenv.scm 344 */
BgL_typez00_bglt BgL_auxz00_1612;
BgL_auxz00_1612 = 
BGl_declarezd2subtypez12zc0zztype_envz00(BgL_idz00_1139, BgL_namez00_1140, BgL_parentsz00_1141, BgL_classz00_1142); 
return 
(obj_t)(BgL_auxz00_1612);} } 
}



/* declare-aliastype! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_declarezd2aliastypez12zc0zztype_envz00(obj_t BgL_idz00_43, obj_t BgL_namez00_44, obj_t BgL_classz00_45, BgL_typez00_bglt BgL_aliasz00_46)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 357 */
{ /* ./Type/tenv.scm 359 */
BgL_typez00_bglt BgL_typez00_1053;
BgL_typez00_1053 = 
BGl_declarezd2typez12zc0zztype_envz00(BgL_idz00_43, BgL_namez00_44, BgL_classz00_45); 
{ /* ./Type/tenv.scm 359 */
BgL_typez00_bglt BgL_obj1521z00_1054;obj_t BgL_val1520z00_1055;
BgL_obj1521z00_1054 = BgL_typez00_1053; 
BgL_val1520z00_1055 = 
(obj_t)(BgL_aliasz00_46); 
((((BgL_typez00_bglt)CREF(BgL_obj1521z00_1054))->BgL_aliasz00) = ((obj_t)BgL_val1520z00_1055), BUNSPEC); } 
return BgL_typez00_1053;} } 
}



/* _declare-aliastype! */
obj_t BGl__declarezd2aliastypez12zc0zztype_envz00(obj_t BgL_envz00_1143, obj_t BgL_idz00_1144, obj_t BgL_namez00_1145, obj_t BgL_classz00_1146, obj_t BgL_aliasz00_1147)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 357 */
{ /* ./Type/tenv.scm 358 */
BgL_typez00_bglt BgL_auxz00_1618;
BgL_auxz00_1618 = 
BGl_declarezd2aliastypez12zc0zztype_envz00(BgL_idz00_1144, BgL_namez00_1145, BgL_classz00_1146, 
(BgL_typez00_bglt)(BgL_aliasz00_1147)); 
return 
(obj_t)(BgL_auxz00_1618);} } 
}



/* for-each-type! */
BGL_EXPORTED_DEF obj_t BGl_forzd2eachzd2typez12z12zztype_envz00(obj_t BgL_procz00_47)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 366 */
{ /* ./Type/tenv.scm 367 */
obj_t BgL_zc3anonymousza32701ze3z83_1148;
{ 
int BgL_auxz00_1624;int BgL_auxz00_1622;
BgL_auxz00_1624 = 
(int)(((long)1)); 
BgL_auxz00_1622 = 
(int)(((long)2)); 
BgL_zc3anonymousza32701ze3z83_1148 = 
make_fx_procedure(BGl_zc3anonymousza32701ze3z83zztype_envz00, BgL_auxz00_1622, BgL_auxz00_1624); } 
{ /* ./Type/tenv.scm 367 */
int BgL_auxz00_1627;
BgL_auxz00_1627 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32701ze3z83_1148, BgL_auxz00_1627, BgL_procz00_47); } 
return 
BGl_hashtablezd2forzd2eachz00zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_zc3anonymousza32701ze3z83_1148);} } 
}



/* _for-each-type! */
obj_t BGl__forzd2eachzd2typez12z12zztype_envz00(obj_t BgL_envz00_1149, obj_t BgL_procz00_1150)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 366 */
return 
BGl_forzd2eachzd2typez12z12zztype_envz00(BgL_procz00_1150);} 
}



/* <anonymous:2701> */
obj_t BGl_zc3anonymousza32701ze3z83zztype_envz00(obj_t BgL_envz00_1151, obj_t BgL_kz00_1153, obj_t BgL_xz00_1154)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 367 */
{ /* ./Type/tenv.scm 367 */
obj_t BgL_procz00_1152;
{ /* ./Type/tenv.scm 367 */
int BgL_auxz00_1632;
BgL_auxz00_1632 = 
(int)(((long)0)); 
BgL_procz00_1152 = 
PROCEDURE_REF(BgL_envz00_1151, BgL_auxz00_1632); } 
{ 
obj_t BgL_kz00_1057;obj_t BgL_xz00_1058;
BgL_kz00_1057 = BgL_kz00_1153; 
BgL_xz00_1058 = BgL_xz00_1154; 
return 
PROCEDURE_ENTRY(BgL_procz00_1152)(BgL_procz00_1152, BgL_xz00_1058, BEOA);} } } 
}



/* uninitialized-types */
obj_t BGl_uninitializa7edzd2typesz75zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 374 */
{ /* ./Type/tenv.scm 375 */
obj_t BgL_uninitz00_627;
BgL_uninitz00_627 = 
MAKE_CELL(BNIL); 
{ /* ./Type/tenv.scm 376 */
obj_t BgL_zc3anonymousza32701ze3z83_1155;
{ 
int BgL_auxz00_1639;int BgL_auxz00_1637;
BgL_auxz00_1639 = 
(int)(((long)1)); 
BgL_auxz00_1637 = 
(int)(((long)2)); 
BgL_zc3anonymousza32701ze3z83_1155 = 
make_fx_procedure(BGl_zc3anonymousza32701ze3_3082z83zztype_envz00, BgL_auxz00_1637, BgL_auxz00_1639); } 
{ /* ./Type/tenv.scm 376 */
int BgL_auxz00_1642;
BgL_auxz00_1642 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32701ze3z83_1155, BgL_auxz00_1642, BgL_uninitz00_627); } 
BGl_hashtablezd2forzd2eachz00zz__hashz00(BGl_za2Tenvza2z00zztype_envz00, BgL_zc3anonymousza32701ze3z83_1155); } 
return 
CELL_REF(BgL_uninitz00_627);} } 
}



/* <anonymous:2701>_3082 */
obj_t BGl_zc3anonymousza32701ze3_3082z83zztype_envz00(obj_t BgL_envz00_1156, obj_t BgL_kz00_1158, obj_t BgL_xz00_1159)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 367 */
{ /* ./Type/tenv.scm 376 */
obj_t BgL_uninitz00_1157;
{ /* ./Type/tenv.scm 376 */
int BgL_auxz00_1646;
BgL_auxz00_1646 = 
(int)(((long)0)); 
BgL_uninitz00_1157 = 
PROCEDURE_REF(BgL_envz00_1156, BgL_auxz00_1646); } 
{ 
obj_t BgL_kz00_1060;obj_t BgL_xz00_1061;
BgL_kz00_1060 = BgL_kz00_1158; 
BgL_xz00_1061 = BgL_xz00_1159; 
{ 
obj_t BgL_tz00_629;
BgL_tz00_629 = BgL_xz00_1061; 
{ /* ./Type/tenv.scm 377 */
bool_t BgL_test2707z00_631;
{ /* ./Type/tenv.scm 377 */
BgL_typez00_bglt BgL_obj1510z00_1062;
BgL_obj1510z00_1062 = 
(BgL_typez00_bglt)(BgL_tz00_629); 
BgL_test2707z00_631 = 
(((BgL_typez00_bglt)CREF(BgL_obj1510z00_1062))->BgL_initzf3zf3); } 
if(BgL_test2707z00_631)
{ /* ./Type/tenv.scm 377 */
return BFALSE;}  else 
{ /* ./Type/tenv.scm 378 */
obj_t BgL_auxz00_1160;
{ /* ./Type/tenv.scm 378 */
obj_t BgL_auxz00_1652;
BgL_auxz00_1652 = 
CELL_REF(BgL_uninitz00_1157); 
BgL_auxz00_1160 = 
MAKE_PAIR(BgL_tz00_629, BgL_auxz00_1652); } 
return 
CELL_SET(BgL_uninitz00_1157, BgL_auxz00_1160);} } } } } } 
}



/* check-types */
BGL_EXPORTED_DEF obj_t BGl_checkzd2typeszd2zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 395 */
{ /* ./Type/tenv.scm 396 */
obj_t BgL_utz00_633;
BgL_utz00_633 = 
BGl_uninitializa7edzd2typesz75zztype_envz00(); 
{ /* ./Type/tenv.scm 397 */
bool_t BgL_test2710z00_634;
BgL_test2710z00_634 = 
PAIRP(BgL_utz00_633); 
if(BgL_test2710z00_634)
{ /* ./Type/tenv.scm 397 */
{ /* ./Type/tenv.scm 399 */
obj_t BgL_arg2712z00_635;
BgL_arg2712z00_635 = 
BGL_CURRENT_ERROR_PORT(); 
WRITE_CHAR(((unsigned char)'\n'), BgL_arg2712z00_635); } 
{ /* ./Type/tenv.scm 400 */
obj_t BgL_port2322z00_636;
BgL_port2322z00_636 = 
BGL_CURRENT_ERROR_PORT(); 
{ /* ./Type/tenv.scm 401 */
long BgL_arg2716z00_637;
BgL_arg2716z00_637 = 
bgl_list_length(BgL_utz00_633); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
BINT(BgL_arg2716z00_637), BgL_port2322z00_636); } 
display_string(BGl_string3332z00zztype_envz00, BgL_port2322z00_636); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2322z00_636); } 
{ 
obj_t BgL_utz00_638;
BgL_utz00_638 = BgL_utz00_633; 
BgL_loopz00_639:
{ /* ./Type/tenv.scm 405 */
bool_t BgL_test2723z00_640;
BgL_test2723z00_640 = 
NULLP(BgL_utz00_638); 
if(BgL_test2723z00_640)
{ /* ./Type/tenv.scm 405 */
{ /* ./Type/tenv.scm 406 */
obj_t BgL_port2323z00_641;
BgL_port2323z00_641 = 
BGL_CURRENT_ERROR_PORT(); 
display_string(BGl_string3333z00zztype_envz00, BgL_port2323z00_641); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2323z00_641); } 
BGl_exitzd2bigloozd2zzinit_mainz00(
BINT(((long)56))); }  else 
{ /* ./Type/tenv.scm 408 */
bool_t BgL_test2728z00_642;
{ /* ./Type/tenv.scm 408 */
obj_t BgL_arg2821z00_722;
BgL_arg2821z00_722 = 
CAR(BgL_utz00_638); 
BgL_test2728z00_642 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg2821z00_722, BGl_typez00zztype_typez00); } 
if(BgL_test2728z00_642)
{ /* ./Type/tenv.scm 408 */
{ /* ./Type/tenv.scm 409 */
obj_t BgL_armed2327z00_643;
BgL_armed2327z00_643 = 
MAKE_CELL(BUNSPEC); 
{ /* ./Type/tenv.scm 419 */
obj_t BgL_zc3anonymousza32749ze3z83_1162;obj_t BgL_zc3anonymousza32746ze3z83_1164;
{ 
int BgL_auxz00_1677;int BgL_auxz00_1675;
BgL_auxz00_1677 = 
(int)(((long)1)); 
BgL_auxz00_1675 = 
(int)(((long)0)); 
BgL_zc3anonymousza32749ze3z83_1162 = 
make_fx_procedure(BGl_zc3anonymousza32749ze3z83zztype_envz00, BgL_auxz00_1675, BgL_auxz00_1677); } 
{ 
int BgL_auxz00_1682;int BgL_auxz00_1680;
BgL_auxz00_1682 = 
(int)(((long)1)); 
BgL_auxz00_1680 = 
(int)(((long)4)); 
BgL_zc3anonymousza32746ze3z83_1164 = 
make_fx_procedure(BGl_zc3anonymousza32746ze3z83zztype_envz00, BgL_auxz00_1680, BgL_auxz00_1682); } 
{ /* ./Type/tenv.scm 419 */
int BgL_auxz00_1685;
BgL_auxz00_1685 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32749ze3z83_1162, BgL_auxz00_1685, BgL_utz00_638); } 
{ /* ./Type/tenv.scm 419 */
int BgL_auxz00_1688;
BgL_auxz00_1688 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32746ze3z83_1164, BgL_auxz00_1688, BgL_armed2327z00_643); } 
CELL_SET(BgL_armed2327z00_643, BTRUE); 
BGl_zc3exitza32729ze3z83zztype_envz00(BgL_zc3anonymousza32749ze3z83_1162, BgL_zc3anonymousza32746ze3z83_1164, BgL_armed2327z00_643); } } 
{ /* ./Type/tenv.scm 421 */
obj_t BgL_arg2784z00_687;
BgL_arg2784z00_687 = 
CDR(BgL_utz00_638); 
{ 
obj_t BgL_utz00_1693;
BgL_utz00_1693 = BgL_arg2784z00_687; 
BgL_utz00_638 = BgL_utz00_1693; 
goto BgL_loopz00_639;} } }  else 
{ /* ./Type/tenv.scm 408 */
{ /* ./Type/tenv.scm 423 */
obj_t BgL_armed2335z00_688;
BgL_armed2335z00_688 = 
MAKE_CELL(BUNSPEC); 
{ /* ./Type/tenv.scm 427 */
obj_t BgL_zc3anonymousza32807ze3z83_1167;obj_t BgL_zc3anonymousza32804ze3z83_1169;
{ 
int BgL_auxz00_1696;int BgL_auxz00_1694;
BgL_auxz00_1696 = 
(int)(((long)1)); 
BgL_auxz00_1694 = 
(int)(((long)0)); 
BgL_zc3anonymousza32807ze3z83_1167 = 
make_fx_procedure(BGl_zc3anonymousza32807ze3z83zztype_envz00, BgL_auxz00_1694, BgL_auxz00_1696); } 
{ 
int BgL_auxz00_1701;int BgL_auxz00_1699;
BgL_auxz00_1701 = 
(int)(((long)1)); 
BgL_auxz00_1699 = 
(int)(((long)4)); 
BgL_zc3anonymousza32804ze3z83_1169 = 
make_fx_procedure(BGl_zc3anonymousza32804ze3z83zztype_envz00, BgL_auxz00_1699, BgL_auxz00_1701); } 
{ /* ./Type/tenv.scm 427 */
int BgL_auxz00_1704;
BgL_auxz00_1704 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32807ze3z83_1167, BgL_auxz00_1704, BgL_utz00_638); } 
{ /* ./Type/tenv.scm 427 */
int BgL_auxz00_1707;
BgL_auxz00_1707 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32804ze3z83_1169, BgL_auxz00_1707, BgL_armed2335z00_688); } 
CELL_SET(BgL_armed2335z00_688, BTRUE); 
BGl_zc3exitza32787ze3z83zztype_envz00(BgL_zc3anonymousza32807ze3z83_1167, BgL_zc3anonymousza32804ze3z83_1169, BgL_armed2335z00_688); } } 
{ /* ./Type/tenv.scm 429 */
obj_t BgL_arg2817z00_721;
BgL_arg2817z00_721 = 
CDR(BgL_utz00_638); 
{ 
obj_t BgL_utz00_1712;
BgL_utz00_1712 = BgL_arg2817z00_721; 
BgL_utz00_638 = BgL_utz00_1712; 
goto BgL_loopz00_639;} } } } } } }  else 
{ /* ./Type/tenv.scm 397 */BFALSE; } } 
return ( 
BGl_za2typeszd2alreadyzd2checkedzf3za2zf3zztype_envz00 = ((bool_t)1), BUNSPEC) ;} } 
}



/* <exit:2787> */
obj_t BGl_zc3exitza32787ze3z83zztype_envz00(obj_t BgL_zc3anonymousza32807ze3z83_1219, obj_t BgL_zc3anonymousza32804ze3z83_1218, obj_t BgL_armed2335z00_1217)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 423 */
jmp_buf jmpbuf; 
obj_t BgL_an_exit2336z00_693;
if( SET_EXIT(BgL_an_exit2336z00_693) ) { 
return 
_exit_value_;
} else {
BgL_an_exit2336z00_693 = 
(obj_t)jmpbuf; 
{ /* ./Type/tenv.scm 423 */

PUSH_EXIT(BgL_an_exit2336z00_693, ((bool_t)1)); 
{ /* ./Type/tenv.scm 423 */
obj_t BgL_an_exitd2337z00_694;
BgL_an_exitd2337z00_694 = 
BGL_EXITD_TOP(); 
{ /* ./Type/tenv.scm 423 */
obj_t BgL_escapez00_1168;
{ 
int BgL_auxz00_1719;int BgL_auxz00_1717;
BgL_auxz00_1719 = 
(int)(((long)1)); 
BgL_auxz00_1717 = 
(int)(((long)1)); 
BgL_escapez00_1168 = 
make_fx_procedure(BGl_escape_3099z00zztype_envz00, BgL_auxz00_1717, BgL_auxz00_1719); } 
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1722;
BgL_auxz00_1722 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_escapez00_1168, BgL_auxz00_1722, BgL_an_exitd2337z00_694); } 
{ /* ./Type/tenv.scm 423 */
obj_t BgL_res2339z00_697;
{ /* ./Type/tenv.scm 423 */
obj_t BgL_zc3anonymousza32797ze3z83_1166;obj_t BgL_zc3anonymousza32795ze3z83_1170;
{ 
int BgL_auxz00_1727;int BgL_auxz00_1725;
BgL_auxz00_1727 = 
(int)(((long)1)); 
BgL_auxz00_1725 = 
(int)(((long)0)); 
BgL_zc3anonymousza32797ze3z83_1166 = 
make_fx_procedure(BGl_zc3anonymousza32797ze3z83zztype_envz00, BgL_auxz00_1725, BgL_auxz00_1727); } 
{ 
int BgL_auxz00_1732;int BgL_auxz00_1730;
BgL_auxz00_1732 = 
(int)(((long)4)); 
BgL_auxz00_1730 = 
(int)(((long)0)); 
BgL_zc3anonymousza32795ze3z83_1170 = 
make_fx_procedure(BGl_zc3anonymousza32795ze3z83zztype_envz00, BgL_auxz00_1730, BgL_auxz00_1732); } 
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1735;
BgL_auxz00_1735 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32797ze3z83_1166, BgL_auxz00_1735, BgL_armed2335z00_1217); } 
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1738;
BgL_auxz00_1738 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32795ze3z83_1170, BgL_auxz00_1738, BgL_an_exitd2337z00_694); } 
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1741;
BgL_auxz00_1741 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32795ze3z83_1170, BgL_auxz00_1741, BgL_armed2335z00_1217); } 
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1744;
BgL_auxz00_1744 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza32795ze3z83_1170, BgL_auxz00_1744, BgL_zc3anonymousza32804ze3z83_1218); } 
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1747;
BgL_auxz00_1747 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza32795ze3z83_1170, BgL_auxz00_1747, BgL_escapez00_1168); } 
BgL_res2339z00_697 = 
BGl_dynamiczd2windzd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza32795ze3z83_1170, BgL_zc3anonymousza32807ze3z83_1219, BgL_zc3anonymousza32797ze3z83_1166); } 
POP_EXIT(); 
return BgL_res2339z00_697;} } } } 
} } 
}



/* <exit:2729> */
obj_t BGl_zc3exitza32729ze3z83zztype_envz00(obj_t BgL_zc3anonymousza32749ze3z83_1222, obj_t BgL_zc3anonymousza32746ze3z83_1221, obj_t BgL_armed2327z00_1220)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 409 */
jmp_buf jmpbuf; 
obj_t BgL_an_exit2328z00_648;
if( SET_EXIT(BgL_an_exit2328z00_648) ) { 
return 
_exit_value_;
} else {
BgL_an_exit2328z00_648 = 
(obj_t)jmpbuf; 
{ /* ./Type/tenv.scm 409 */

PUSH_EXIT(BgL_an_exit2328z00_648, ((bool_t)1)); 
{ /* ./Type/tenv.scm 409 */
obj_t BgL_an_exitd2329z00_649;
BgL_an_exitd2329z00_649 = 
BGL_EXITD_TOP(); 
{ /* ./Type/tenv.scm 409 */
obj_t BgL_escapez00_1163;
{ 
int BgL_auxz00_1758;int BgL_auxz00_1756;
BgL_auxz00_1758 = 
(int)(((long)1)); 
BgL_auxz00_1756 = 
(int)(((long)1)); 
BgL_escapez00_1163 = 
make_fx_procedure(BGl_escapez00zztype_envz00, BgL_auxz00_1756, BgL_auxz00_1758); } 
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1761;
BgL_auxz00_1761 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_escapez00_1163, BgL_auxz00_1761, BgL_an_exitd2329z00_649); } 
{ /* ./Type/tenv.scm 409 */
obj_t BgL_res2331z00_652;
{ /* ./Type/tenv.scm 409 */
obj_t BgL_zc3anonymousza32739ze3z83_1161;obj_t BgL_zc3anonymousza32737ze3z83_1165;
{ 
int BgL_auxz00_1766;int BgL_auxz00_1764;
BgL_auxz00_1766 = 
(int)(((long)1)); 
BgL_auxz00_1764 = 
(int)(((long)0)); 
BgL_zc3anonymousza32739ze3z83_1161 = 
make_fx_procedure(BGl_zc3anonymousza32739ze3z83zztype_envz00, BgL_auxz00_1764, BgL_auxz00_1766); } 
{ 
int BgL_auxz00_1771;int BgL_auxz00_1769;
BgL_auxz00_1771 = 
(int)(((long)4)); 
BgL_auxz00_1769 = 
(int)(((long)0)); 
BgL_zc3anonymousza32737ze3z83_1165 = 
make_fx_procedure(BGl_zc3anonymousza32737ze3z83zztype_envz00, BgL_auxz00_1769, BgL_auxz00_1771); } 
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1774;
BgL_auxz00_1774 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32739ze3z83_1161, BgL_auxz00_1774, BgL_armed2327z00_1220); } 
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1777;
BgL_auxz00_1777 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32737ze3z83_1165, BgL_auxz00_1777, BgL_an_exitd2329z00_649); } 
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1780;
BgL_auxz00_1780 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32737ze3z83_1165, BgL_auxz00_1780, BgL_armed2327z00_1220); } 
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1783;
BgL_auxz00_1783 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza32737ze3z83_1165, BgL_auxz00_1783, BgL_zc3anonymousza32746ze3z83_1221); } 
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1786;
BgL_auxz00_1786 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza32737ze3z83_1165, BgL_auxz00_1786, BgL_escapez00_1163); } 
BgL_res2331z00_652 = 
BGl_dynamiczd2windzd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza32737ze3z83_1165, BgL_zc3anonymousza32749ze3z83_1222, BgL_zc3anonymousza32739ze3z83_1161); } 
POP_EXIT(); 
return BgL_res2331z00_652;} } } } 
} } 
}



/* _check-types */
obj_t BGl__checkzd2typeszd2zztype_envz00(obj_t BgL_envz00_1171)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 395 */
return 
BGl_checkzd2typeszd2zztype_envz00();} 
}



/* <anonymous:2739> */
obj_t BGl_zc3anonymousza32739ze3z83zztype_envz00(obj_t BgL_envz00_1172)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 409 */
{ /* ./Type/tenv.scm 409 */
obj_t BgL_armed2327z00_1173;
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1792;
BgL_auxz00_1792 = 
(int)(((long)0)); 
BgL_armed2327z00_1173 = 
PROCEDURE_REF(BgL_envz00_1172, BgL_auxz00_1792); } 
{ 

{ /* ./Type/tenv.scm 409 */
bool_t BgL_testz00_1795;
{ /* ./Type/tenv.scm 409 */
obj_t BgL_auxz00_1796;
BgL_auxz00_1796 = 
CELL_REF(BgL_armed2327z00_1173); 
BgL_testz00_1795 = 
CBOOL(BgL_auxz00_1796); } 
if(BgL_testz00_1795)
{ /* ./Type/tenv.scm 409 */
CELL_SET(BgL_armed2327z00_1173, BFALSE); 
return 
BGl_removezd2errorzd2handlerz12z12zz__errorz00();}  else 
{ /* ./Type/tenv.scm 409 */
return BFALSE;} } } } } 
}



/* <anonymous:2749> */
obj_t BGl_zc3anonymousza32749ze3z83zztype_envz00(obj_t BgL_envz00_1175)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 409 */
{ /* ./Type/tenv.scm 409 */
obj_t BgL_utz00_1176;
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1799;
BgL_auxz00_1799 = 
(int)(((long)0)); 
BgL_utz00_1176 = 
PROCEDURE_REF(BgL_envz00_1175, BgL_auxz00_1799); } 
{ 

{ /* ./Type/tenv.scm 409 */
bool_t BgL_test2750z00_670;
{ /* ./Type/tenv.scm 409 */
BgL_typez00_bglt BgL_obj1531z00_1075;
{ /* ./Type/tenv.scm 409 */
obj_t BgL_auxz00_1802;
BgL_auxz00_1802 = 
CAR(BgL_utz00_1176); 
BgL_obj1531z00_1075 = 
(BgL_typez00_bglt)(BgL_auxz00_1802); } 
{ /* ./Type/tenv.scm 409 */
obj_t BgL_auxz00_1805;
BgL_auxz00_1805 = 
(((BgL_typez00_bglt)CREF(BgL_obj1531z00_1075))->BgL_importzd2locationzd2); 
BgL_test2750z00_670 = 
CBOOL(BgL_auxz00_1805); } } 
if(BgL_test2750z00_670)
{ /* ./Type/tenv.scm 410 */
obj_t BgL_arg2752z00_671;obj_t BgL_arg2754z00_673;
{ /* ./Type/tenv.scm 410 */
BgL_typez00_bglt BgL_obj1531z00_1077;
{ /* ./Type/tenv.scm 410 */
obj_t BgL_auxz00_1809;
BgL_auxz00_1809 = 
CAR(BgL_utz00_1176); 
BgL_obj1531z00_1077 = 
(BgL_typez00_bglt)(BgL_auxz00_1809); } 
BgL_arg2752z00_671 = 
(((BgL_typez00_bglt)CREF(BgL_obj1531z00_1077))->BgL_importzd2locationzd2); } 
{ /* ./Type/tenv.scm 413 */
obj_t BgL_arg2762z00_676;
BgL_arg2762z00_676 = 
CAR(BgL_utz00_1176); 
BgL_arg2754z00_673 = 
BGl_shapez00zztools_shapez00(BgL_arg2762z00_676); } 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2752z00_671, BGl_za2moduleza2z00zzmodule_modulez00, BGl_string3334z00zztype_envz00, BgL_arg2754z00_673, BNIL);}  else 
{ /* ./Type/tenv.scm 414 */
obj_t BgL_arg2766z00_677;obj_t BgL_arg2768z00_679;
{ /* ./Type/tenv.scm 414 */
BgL_typez00_bglt BgL_obj1528z00_1080;
{ /* ./Type/tenv.scm 414 */
obj_t BgL_auxz00_1816;
BgL_auxz00_1816 = 
CAR(BgL_utz00_1176); 
BgL_obj1528z00_1080 = 
(BgL_typez00_bglt)(BgL_auxz00_1816); } 
BgL_arg2766z00_677 = 
(((BgL_typez00_bglt)CREF(BgL_obj1528z00_1080))->BgL_locationz00); } 
{ /* ./Type/tenv.scm 417 */
obj_t BgL_arg2776z00_682;
BgL_arg2776z00_682 = 
CAR(BgL_utz00_1176); 
BgL_arg2768z00_679 = 
BGl_shapez00zztools_shapez00(BgL_arg2776z00_682); } 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2766z00_677, BGl_za2moduleza2z00zzmodule_modulez00, BGl_string3335z00zztype_envz00, BgL_arg2768z00_679, BNIL);} } } } } 
}



/* <anonymous:2737> */
obj_t BGl_zc3anonymousza32737ze3z83zztype_envz00(obj_t BgL_envz00_1177)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 409 */
{ /* ./Type/tenv.scm 409 */
obj_t BgL_zc3anonymousza32746ze3z83_1180;obj_t BgL_escapez00_1181;
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1823;
BgL_auxz00_1823 = 
(int)(((long)2)); 
BgL_zc3anonymousza32746ze3z83_1180 = 
PROCEDURE_REF(BgL_envz00_1177, BgL_auxz00_1823); } 
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1826;
BgL_auxz00_1826 = 
(int)(((long)3)); 
BgL_escapez00_1181 = 
PROCEDURE_REF(BgL_envz00_1177, BgL_auxz00_1826); } 
{ 

return 
BGl_addzd2errorzd2handlerz12z12zz__errorz00(BgL_zc3anonymousza32746ze3z83_1180, BgL_escapez00_1181);} } } 
}



/* escape */
obj_t BGl_escapez00zztype_envz00(obj_t BgL_envz00_1182, obj_t BgL_val2330z00_1184)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 409 */
{ /* ./Type/tenv.scm 409 */
obj_t BgL_an_exitd2329z00_1183;
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1830;
BgL_auxz00_1830 = 
(int)(((long)0)); 
BgL_an_exitd2329z00_1183 = 
PROCEDURE_REF(BgL_envz00_1182, BgL_auxz00_1830); } 
{ 
obj_t BgL_val2330z00_650;
BgL_val2330z00_650 = BgL_val2330z00_1184; 
return 
BGl_unwindzd2untilz12zc0zz__bexitz00(BgL_an_exitd2329z00_1183, BgL_val2330z00_650);} } } 
}



/* <anonymous:2746> */
obj_t BGl_zc3anonymousza32746ze3z83zztype_envz00(obj_t BgL_envz00_1185, obj_t BgL_escz00_1187, obj_t BgL_objz00_1188, obj_t BgL_procz00_1189, obj_t BgL_msgz00_1190)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 409 */
{ /* ./Type/tenv.scm 409 */
obj_t BgL_armed2327z00_1186;
{ /* ./Type/tenv.scm 409 */
int BgL_auxz00_1834;
BgL_auxz00_1834 = 
(int)(((long)0)); 
BgL_armed2327z00_1186 = 
PROCEDURE_REF(BgL_envz00_1185, BgL_auxz00_1834); } 
{ 
obj_t BgL_escz00_664;obj_t BgL_objz00_665;obj_t BgL_procz00_666;obj_t BgL_msgz00_667;
BgL_escz00_664 = BgL_escz00_1187; 
BgL_objz00_665 = BgL_objz00_1188; 
BgL_procz00_666 = BgL_procz00_1189; 
BgL_msgz00_667 = BgL_msgz00_1190; 
CELL_SET(BgL_armed2327z00_1186, BFALSE); 
BGl_removezd2errorzd2handlerz12z12zz__errorz00(); 
BGl_notifyzd2errorzd2zz__errorz00(BgL_objz00_665, BgL_procz00_666, BgL_msgz00_667); 
return 
PROCEDURE_ENTRY(BgL_escz00_664)(BgL_escz00_664, BFALSE, BEOA);} } } 
}



/* <anonymous:2797> */
obj_t BGl_zc3anonymousza32797ze3z83zztype_envz00(obj_t BgL_envz00_1192)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 423 */
{ /* ./Type/tenv.scm 423 */
obj_t BgL_armed2335z00_1193;
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1841;
BgL_auxz00_1841 = 
(int)(((long)0)); 
BgL_armed2335z00_1193 = 
PROCEDURE_REF(BgL_envz00_1192, BgL_auxz00_1841); } 
{ 

{ /* ./Type/tenv.scm 423 */
bool_t BgL_testz00_1844;
{ /* ./Type/tenv.scm 423 */
obj_t BgL_auxz00_1845;
BgL_auxz00_1845 = 
CELL_REF(BgL_armed2335z00_1193); 
BgL_testz00_1844 = 
CBOOL(BgL_auxz00_1845); } 
if(BgL_testz00_1844)
{ /* ./Type/tenv.scm 423 */
CELL_SET(BgL_armed2335z00_1193, BFALSE); 
return 
BGl_removezd2errorzd2handlerz12z12zz__errorz00();}  else 
{ /* ./Type/tenv.scm 423 */
return BFALSE;} } } } } 
}



/* <anonymous:2807> */
obj_t BGl_zc3anonymousza32807ze3z83zztype_envz00(obj_t BgL_envz00_1195)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 423 */
{ /* ./Type/tenv.scm 423 */
obj_t BgL_utz00_1196;
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1848;
BgL_auxz00_1848 = 
(int)(((long)0)); 
BgL_utz00_1196 = 
PROCEDURE_REF(BgL_envz00_1195, BgL_auxz00_1848); } 
{ 

{ /* ./Type/tenv.scm 423 */
obj_t BgL_arg2810z00_716;
{ /* ./Type/tenv.scm 425 */
obj_t BgL_arg2813z00_717;
BgL_arg2813z00_717 = 
CAR(BgL_utz00_1196); 
BgL_arg2810z00_716 = 
BGl_shapez00zztools_shapez00(BgL_arg2813z00_717); } 
{ /* ./Type/tenv.scm 423 */
obj_t BgL_procz00_1088;
BgL_procz00_1088 = BGl_za2moduleza2z00zzmodule_modulez00; 
FAILURE(BgL_procz00_1088,BGl_string3336z00zztype_envz00,BgL_arg2810z00_716);} } } } } 
}



/* <anonymous:2795> */
obj_t BGl_zc3anonymousza32795ze3z83zztype_envz00(obj_t BgL_envz00_1197)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 423 */
{ /* ./Type/tenv.scm 423 */
obj_t BgL_zc3anonymousza32804ze3z83_1200;obj_t BgL_escapez00_1201;
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1854;
BgL_auxz00_1854 = 
(int)(((long)2)); 
BgL_zc3anonymousza32804ze3z83_1200 = 
PROCEDURE_REF(BgL_envz00_1197, BgL_auxz00_1854); } 
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1857;
BgL_auxz00_1857 = 
(int)(((long)3)); 
BgL_escapez00_1201 = 
PROCEDURE_REF(BgL_envz00_1197, BgL_auxz00_1857); } 
{ 

return 
BGl_addzd2errorzd2handlerz12z12zz__errorz00(BgL_zc3anonymousza32804ze3z83_1200, BgL_escapez00_1201);} } } 
}



/* escape_3099 */
obj_t BGl_escape_3099z00zztype_envz00(obj_t BgL_envz00_1202, obj_t BgL_val2338z00_1204)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 423 */
{ /* ./Type/tenv.scm 423 */
obj_t BgL_an_exitd2337z00_1203;
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1861;
BgL_auxz00_1861 = 
(int)(((long)0)); 
BgL_an_exitd2337z00_1203 = 
PROCEDURE_REF(BgL_envz00_1202, BgL_auxz00_1861); } 
{ 
obj_t BgL_val2338z00_695;
BgL_val2338z00_695 = BgL_val2338z00_1204; 
return 
BGl_unwindzd2untilz12zc0zz__bexitz00(BgL_an_exitd2337z00_1203, BgL_val2338z00_695);} } } 
}



/* <anonymous:2804> */
obj_t BGl_zc3anonymousza32804ze3z83zztype_envz00(obj_t BgL_envz00_1205, obj_t BgL_escz00_1207, obj_t BgL_objz00_1208, obj_t BgL_procz00_1209, obj_t BgL_msgz00_1210)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 423 */
{ /* ./Type/tenv.scm 423 */
obj_t BgL_armed2335z00_1206;
{ /* ./Type/tenv.scm 423 */
int BgL_auxz00_1865;
BgL_auxz00_1865 = 
(int)(((long)0)); 
BgL_armed2335z00_1206 = 
PROCEDURE_REF(BgL_envz00_1205, BgL_auxz00_1865); } 
{ 
obj_t BgL_escz00_709;obj_t BgL_objz00_710;obj_t BgL_procz00_711;obj_t BgL_msgz00_712;
BgL_escz00_709 = BgL_escz00_1207; 
BgL_objz00_710 = BgL_objz00_1208; 
BgL_procz00_711 = BgL_procz00_1209; 
BgL_msgz00_712 = BgL_msgz00_1210; 
CELL_SET(BgL_armed2335z00_1206, BFALSE); 
BGl_removezd2errorzd2handlerz12z12zz__errorz00(); 
BGl_notifyzd2errorzd2zz__errorz00(BgL_objz00_710, BgL_procz00_711, BgL_msgz00_712); 
return 
PROCEDURE_ENTRY(BgL_escz00_709)(BgL_escz00_709, BFALSE, BEOA);} } } 
}



/* sub-type? */
BGL_EXPORTED_DEF bool_t BGl_subzd2typezf3z21zztype_envz00(BgL_typez00_bglt BgL_minorz00_48, BgL_typez00_bglt BgL_majorz00_49)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 437 */
{ /* ./Type/tenv.scm 439 */
bool_t BgL_testz00_1872;
{ /* ./Type/tenv.scm 439 */
obj_t BgL_auxz00_1875;obj_t BgL_auxz00_1873;
BgL_auxz00_1875 = 
(obj_t)(BgL_majorz00_49); 
BgL_auxz00_1873 = 
(obj_t)(BgL_minorz00_48); 
BgL_testz00_1872 = 
(BgL_auxz00_1873==BgL_auxz00_1875); } 
if(BgL_testz00_1872)
{ /* ./Type/tenv.scm 439 */
return ((bool_t)1);}  else 
{ /* ./Type/tenv.scm 441 */
bool_t BgL_testz00_1878;
{ /* ./Type/tenv.scm 441 */
obj_t BgL_auxz00_1879;
BgL_auxz00_1879 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(
(obj_t)(BgL_majorz00_49), 
(((BgL_typez00_bglt)CREF(BgL_minorz00_48))->BgL_parentsz00)); 
BgL_testz00_1878 = 
CBOOL(BgL_auxz00_1879); } 
if(BgL_testz00_1878)
{ /* ./Type/tenv.scm 441 */
return ((bool_t)1);}  else 
{ /* ./Type/tenv.scm 441 */
return ((bool_t)0);} } } } 
}



/* _sub-type? */
obj_t BGl__subzd2typezf3z21zztype_envz00(obj_t BgL_envz00_1214, obj_t BgL_minorz00_1215, obj_t BgL_majorz00_1216)
{ AN_OBJECT;
{ /* ./Type/tenv.scm 437 */
{ /* ./Type/tenv.scm 439 */
bool_t BgL_auxz00_1884;
BgL_auxz00_1884 = 
BGl_subzd2typezf3z21zztype_envz00(
(BgL_typez00_bglt)(BgL_minorz00_1215), 
(BgL_typez00_bglt)(BgL_majorz00_1216)); 
return 
BBOOL(BgL_auxz00_1884);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zztype_envz00()
{ AN_OBJECT;
{ /* ./Type/tenv.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "type_env"); 
BGl_modulezd2initializa7ationz75zzinit_mainz00(((long)6610), "type_env"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "type_env"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "type_env"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "type_env"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "type_env"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "type_env"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "type_env"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "type_env"); 
BGl_modulezd2initializa7ationz75zzmodule_classz00(((long)34127), "type_env"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "type_env"); 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "type_env"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "type_env"); 
BGl_modulezd2initializa7ationz75zzforeign_ctypez00(((long)51394), "type_env"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "type_env"); 
BGl_modulezd2initializa7ationz75zzobject_widezd2accesszd2(((long)47051), "type_env"); 
BGl_modulezd2initializa7ationz75zzobject_plainzd2accesszd2(((long)39347), "type_env"); 
BGl_modulezd2initializa7ationz75zzobject_predicatez00(((long)48253), "type_env"); 
BGl_modulezd2initializa7ationz75zzobject_creatorz00(((long)1891), "type_env"); 
BGl_modulezd2initializa7ationz75zzforeign_accessz00(((long)13730), "type_env"); 
BGl_modulezd2initializa7ationz75zzmodule_foreignz00(((long)23376), "type_env"); 
return 
BGl_modulezd2initializa7ationz75zzmodule_javaz00(((long)4304), "type_env");} 
}

