/*===========================================================================*/
/*   (Module/type.scm)                                                       */
/*   Bigloo (4.5b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Fri Dec 22 05:17:06 PM CET 2023     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/bigloo/bin/bigloo -ldopt -L/home/serrano/prgm/project/bigloo/bigloo/libbacktrace/home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b  -q -afile .afile -fsharing -fno-reflection -cc gcc -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -unsafev -gno-error-localization -no-hello -O2 -rm -unsafe -s -stdc -indent Module/type.scm) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C"
{
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL_MODULE_TYPE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_TYPE_DEFINITIONS

/* object type definitions */
	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;
		int BgL_occurrencez00;
	}              *BgL_typez00_bglt;

	typedef struct BgL_tvecz00_bgl
	{
		struct BgL_typez00_bgl *BgL_itemzd2typezd2;
	}              *BgL_tvecz00_bglt;


#endif													// BGL_MODULE_TYPE_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	BGL_EXPORTED_DECL obj_t BGl_delayzd2tvectorz12zc0zzmodule_typez00(obj_t,
		obj_t, bool_t);
	static obj_t BGl_requirezd2initializa7ationz75zzmodule_typez00 = BUNSPEC;
	static obj_t BGl_z62tvectorzd2finaliza7erz17zzmodule_typez00(obj_t);
	static obj_t BGl_z62typezd2producerzf2consumerz42zzmodule_typez00(obj_t,
		obj_t, obj_t);
	BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
	extern BgL_typez00_bglt BGl_declarezd2subtypez12zc0zztype_envz00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_toplevelzd2initzd2zzmodule_typez00(void);
	static obj_t BGl_genericzd2initzd2zzmodule_typez00(void);
	extern BgL_typez00_bglt BGl_declarezd2typez12zc0zztype_envz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_objectzd2initzd2zzmodule_typez00(void);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	BGL_IMPORT obj_t bgl_reverse_bang(obj_t);
	extern obj_t BGl_typez00zztype_typez00;
	static obj_t BGl_z62typezd2finaliza7erz17zzmodule_typez00(obj_t);
	static obj_t BGl_zc3z04anonymousza32246ze3ze70z60zzmodule_typez00(obj_t);
	BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zzmodule_typez00(void);
	static obj_t BGl_za2tvectorsza2z00zzmodule_typez00 = BUNSPEC;
	static obj_t BGl_z62makezd2typezd2compilerz62zzmodule_typez00(obj_t);
	extern obj_t BGl_addzd2coercionz12zc0zztype_coercionz00(BgL_typez00_bglt,
		BgL_typez00_bglt, obj_t, obj_t);
	BGL_IMPORT obj_t bgl_append2(obj_t, obj_t);
	extern obj_t BGl_ccompz00zzmodule_modulez00;
	static obj_t BGl_typezd2parserzd2zzmodule_typez00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmodule_typez00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztvector_accessz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztvector_tvectorz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_coercionz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__structurez00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
	extern BgL_typez00_bglt
		BGl_declarezd2tvectorzd2typez12z12zztvector_tvectorz00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31098ze3ze5zzmodule_typez00(obj_t,
		obj_t);
	BGL_IMPORT obj_t create_struct(obj_t, int);
	BGL_EXPORTED_DECL obj_t BGl_tvectorzd2finaliza7erz75zzmodule_typez00(void);
	static obj_t BGl_cnstzd2initzd2zzmodule_typez00(void);
	static obj_t BGl_libraryzd2moduleszd2initz00zzmodule_typez00(void);
	extern obj_t
		BGl_makezd2tvectorzd2accessesz00zztvector_accessz00(BgL_typez00_bglt, obj_t,
		bool_t);
	static obj_t BGl_importedzd2moduleszd2initz00zzmodule_typez00(void);
	static obj_t BGl_gczd2rootszd2initz00zzmodule_typez00(void);
	static obj_t BGl_typezd2producerzf2consumerz20zzmodule_typez00(obj_t, obj_t);
	static obj_t BGl_delayzd2tvectorzd2typez12z12zzmodule_typez00(obj_t, obj_t,
		obj_t, obj_t);
	extern BgL_typez00_bglt BGl_findzd2typezd2zztype_envz00(obj_t);
	BGL_IMPORT obj_t BGl_gensymz00zz__r4_symbols_6_4z00(obj_t);
	static obj_t BGl_za2tvectorzd2typesza2zd2zzmodule_typez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_modulezd2tvectorzd2clausez00zzmodule_typez00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62delayzd2tvectorz12za2zzmodule_typez00(obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_makezd2typezd2compilerz00zzmodule_typez00(void);
	extern BgL_typez00_bglt BGl_usezd2typez12zc0zztype_envz00(obj_t, obj_t);
	extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_z62modulezd2tvectorzd2clausez62zzmodule_typez00(obj_t, obj_t,
		obj_t, obj_t, obj_t);
	static obj_t __cnst[10];


	   
		 
		DEFINE_STRING(BGl_string2273z00zzmodule_typez00,
		BgL_bgl_string2273za700za7za7m2287za7, "Parse error", 11);
	      DEFINE_STRING(BGl_string2274z00zzmodule_typez00,
		BgL_bgl_string2274za700za7za7m2288za7, "Illegal `type' clause", 21);
	      DEFINE_STRING(BGl_string2275z00zzmodule_typez00,
		BgL_bgl_string2275za700za7za7m2289za7, "Subtype", 7);
	      DEFINE_STRING(BGl_string2276z00zzmodule_typez00,
		BgL_bgl_string2276za700za7za7m2290za7, "Parents are of different classes",
		32);
	      DEFINE_STRING(BGl_string2277z00zzmodule_typez00,
		BgL_bgl_string2277za700za7za7m2291za7, "Unknow parent type", 18);
	      DEFINE_STRING(BGl_string2278z00zzmodule_typez00,
		BgL_bgl_string2278za700za7za7m2292za7, "Illegal type declaration", 24);
	      DEFINE_STRING(BGl_string2279z00zzmodule_typez00,
		BgL_bgl_string2279za700za7za7m2293za7, "Coercion", 8);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2272z00zzmodule_typez00,
		BgL_bgl_za762za7c3za704anonymo2294za7,
		BGl_z62zc3z04anonymousza31098ze3ze5zzmodule_typez00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string2280z00zzmodule_typez00,
		BgL_bgl_string2280za700za7za7m2295za7, "Illegal coerce clause", 21);
	      DEFINE_STRING(BGl_string2281z00zzmodule_typez00,
		BgL_bgl_string2281za700za7za7m2296za7, "Illegal clause", 14);
	      DEFINE_STRING(BGl_string2282z00zzmodule_typez00,
		BgL_bgl_string2282za700za7za7m2297za7, "type coercion", 13);
	      DEFINE_STRING(BGl_string2283z00zzmodule_typez00,
		BgL_bgl_string2283za700za7za7m2298za7, "Unknow type", 11);
	      DEFINE_STRING(BGl_string2284z00zzmodule_typez00,
		BgL_bgl_string2284za700za7za7m2299za7, "module_type", 11);
	      DEFINE_STRING(BGl_string2285z00zzmodule_typez00,
		BgL_bgl_string2285za700za7za7m2300za7,
		"void unit tvector coerce subtype magic bigloo @ lambda type ", 60);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_modulezd2tvectorzd2clausezd2envzd2zzmodule_typez00,
		BgL_bgl_za762moduleza7d2tvec2301z00,
		BGl_z62modulezd2tvectorzd2clausez62zzmodule_typez00, 0L, BUNSPEC, 4);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_makezd2typezd2compilerzd2envzd2zzmodule_typez00,
		BgL_bgl_za762makeza7d2typeza7d2302za7,
		BGl_z62makezd2typezd2compilerz62zzmodule_typez00, 0L, BUNSPEC, 0);
	     
		DEFINE_STATIC_BGL_PROCEDURE
		(BGl_typezd2producerzf2consumerzd2envzf2zzmodule_typez00,
		BgL_bgl_za762typeza7d2produc2303z00,
		BGl_z62typezd2producerzf2consumerz42zzmodule_typez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_delayzd2tvectorz12zd2envz12zzmodule_typez00,
		BgL_bgl_za762delayza7d2tvect2304z00,
		BGl_z62delayzd2tvectorz12za2zzmodule_typez00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_tvectorzd2finaliza7erzd2envza7zzmodule_typez00,
		BgL_bgl_za762tvectorza7d2fin2305z00,
		BGl_z62tvectorzd2finaliza7erz17zzmodule_typez00, 0L, BUNSPEC, 0);
	     
		DEFINE_STATIC_BGL_PROCEDURE(BGl_typezd2finaliza7erzd2envza7zzmodule_typez00,
		BgL_bgl_za762typeza7d2finali2306z00,
		BGl_z62typezd2finaliza7erz17zzmodule_typez00, 0L, BUNSPEC, 0);

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;
		   
			 ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zzmodule_typez00));
		     ADD_ROOT((void *) (&BGl_za2tvectorsza2z00zzmodule_typez00));
		     ADD_ROOT((void *) (&BGl_za2tvectorzd2typesza2zd2zzmodule_typez00));
#undef ADD_ROOT
		if   (roots_max > 0)
			     GC_add_roots(roots_min, ((void **) roots_max) + 1);
#endif
		     return BUNSPEC;
	}



/* module-initialization */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmodule_typez00(long
		BgL_checksumz00_2133, char *BgL_fromz00_2134)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zzmodule_typez00))
				{
					BGl_requirezd2initializa7ationz75zzmodule_typez00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zzmodule_typez00();
					BGl_libraryzd2moduleszd2initz00zzmodule_typez00();
					BGl_cnstzd2initzd2zzmodule_typez00();
					BGl_importedzd2moduleszd2initz00zzmodule_typez00();
					return BGl_toplevelzd2initzd2zzmodule_typez00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* library-modules-init */
	obj_t BGl_libraryzd2moduleszd2initz00zzmodule_typez00(void)
	{
		{	/* Module/type.scm 15 */
			BGl_modulezd2initializa7ationz75zz__objectz00(0L, "module_type");
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(0L,
				"module_type");
			BGl_modulezd2initializa7ationz75zz__readerz00(0L, "module_type");
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(0L, "module_type");
			BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(0L, "module_type");
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(0L, "module_type");
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(0L,
				"module_type");
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(0L, "module_type");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(0L,
				"module_type");
			BGl_modulezd2initializa7ationz75zz__structurez00(0L, "module_type");
			BGl_modulezd2initializa7ationz75zz__biglooz00(0L, "module_type");
			return BUNSPEC;
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zzmodule_typez00(void)
	{
		{	/* Module/type.scm 15 */
			{	/* Module/type.scm 15 */
				obj_t BgL_cportz00_2120;

				{	/* Module/type.scm 15 */
					obj_t BgL_stringz00_2127;

					BgL_stringz00_2127 = BGl_string2285z00zzmodule_typez00;
					{	/* Module/type.scm 15 */
						obj_t BgL_startz00_2128;

						BgL_startz00_2128 = BINT(0L);
						{	/* Module/type.scm 15 */
							obj_t BgL_endz00_2129;

							BgL_endz00_2129 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_2127)));
							{	/* Module/type.scm 15 */

								BgL_cportz00_2120 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_2127, BgL_startz00_2128, BgL_endz00_2129);
				}}}}
				{
					long BgL_iz00_2121;

					BgL_iz00_2121 = 9L;
				BgL_loopz00_2122:
					if ((BgL_iz00_2121 == -1L))
						{	/* Module/type.scm 15 */
							return BUNSPEC;
						}
					else
						{	/* Module/type.scm 15 */
							{	/* Module/type.scm 15 */
								obj_t BgL_arg2286z00_2123;

								{	/* Module/type.scm 15 */

									{	/* Module/type.scm 15 */
										obj_t BgL_locationz00_2125;

										BgL_locationz00_2125 = BBOOL(((bool_t) 0));
										{	/* Module/type.scm 15 */

											BgL_arg2286z00_2123 =
												BGl_readz00zz__readerz00(BgL_cportz00_2120,
												BgL_locationz00_2125);
										}
									}
								}
								{	/* Module/type.scm 15 */
									int BgL_tmpz00_2163;

									BgL_tmpz00_2163 = (int) (BgL_iz00_2121);
									CNST_TABLE_SET(BgL_tmpz00_2163, BgL_arg2286z00_2123);
							}}
							{	/* Module/type.scm 15 */
								int BgL_auxz00_2126;

								BgL_auxz00_2126 = (int) ((BgL_iz00_2121 - 1L));
								{
									long BgL_iz00_2168;

									BgL_iz00_2168 = (long) (BgL_auxz00_2126);
									BgL_iz00_2121 = BgL_iz00_2168;
									goto BgL_loopz00_2122;
								}
							}
						}
				}
			}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zzmodule_typez00(void)
	{
		{	/* Module/type.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zzmodule_typez00(void)
	{
		{	/* Module/type.scm 15 */
			BGl_za2tvectorzd2typesza2zd2zzmodule_typez00 = BNIL;
			return (BGl_za2tvectorsza2z00zzmodule_typez00 = BNIL, BUNSPEC);
		}

	}



/* make-type-compiler */
	BGL_EXPORTED_DEF obj_t BGl_makezd2typezd2compilerz00zzmodule_typez00(void)
	{
		{	/* Module/type.scm 35 */
			{	/* Module/type.scm 36 */
				BgL_ccompz00_bglt BgL_new1055z00_192;

				{	/* Module/type.scm 37 */
					BgL_ccompz00_bglt BgL_new1054z00_195;

					BgL_new1054z00_195 =
						((BgL_ccompz00_bglt) BOBJECT(GC_MALLOC(sizeof(struct
									BgL_ccompz00_bgl))));
					{	/* Module/type.scm 37 */
						long BgL_arg1110z00_196;

						BgL_arg1110z00_196 = BGL_CLASS_NUM(BGl_ccompz00zzmodule_modulez00);
						BGL_OBJECT_CLASS_NUM_SET(
							((BgL_objectz00_bglt) BgL_new1054z00_195), BgL_arg1110z00_196);
					}
					BgL_new1055z00_192 = BgL_new1054z00_195;
				}
				((((BgL_ccompz00_bglt) COBJECT(BgL_new1055z00_192))->BgL_idz00) =
					((obj_t) CNST_TABLE_REF(0L)), BUNSPEC);
				((((BgL_ccompz00_bglt) COBJECT(BgL_new1055z00_192))->BgL_producerz00) =
					((obj_t) BGl_proc2272z00zzmodule_typez00), BUNSPEC);
				((((BgL_ccompz00_bglt) COBJECT(BgL_new1055z00_192))->BgL_consumerz00) =
					((obj_t) BGl_typezd2producerzf2consumerzd2envzf2zzmodule_typez00),
					BUNSPEC);
				((((BgL_ccompz00_bglt) COBJECT(BgL_new1055z00_192))->
						BgL_finaliza7erza7) =
					((obj_t) BGl_typezd2finaliza7erzd2envza7zzmodule_typez00), BUNSPEC);
				return ((obj_t) BgL_new1055z00_192);
			}
		}

	}



/* &make-type-compiler */
	obj_t BGl_z62makezd2typezd2compilerz62zzmodule_typez00(obj_t BgL_envz00_2102)
	{
		{	/* Module/type.scm 35 */
			return BGl_makezd2typezd2compilerz00zzmodule_typez00();
		}

	}



/* &<@anonymous:1098> */
	obj_t BGl_z62zc3z04anonymousza31098ze3ze5zzmodule_typez00(obj_t
		BgL_envz00_2103, obj_t BgL_cz00_2104)
	{
		{	/* Module/type.scm 38 */
			return
				BGl_typezd2producerzf2consumerz20zzmodule_typez00(BFALSE,
				BgL_cz00_2104);
		}

	}



/* type-producer/consumer */
	obj_t BGl_typezd2producerzf2consumerz20zzmodule_typez00(obj_t
		BgL_importz00_25, obj_t BgL_clausez00_26)
	{
		{	/* Module/type.scm 45 */
			{
				obj_t BgL_protosz00_197;

				if (PAIRP(BgL_clausez00_26))
					{	/* Module/type.scm 46 */
						obj_t BgL_arg1121z00_202;

						BgL_arg1121z00_202 = CDR(((obj_t) BgL_clausez00_26));
						BgL_protosz00_197 = BgL_arg1121z00_202;
						{
							obj_t BgL_l1065z00_204;

							BgL_l1065z00_204 = BgL_protosz00_197;
						BgL_zc3z04anonymousza31122ze3z87_205:
							if (PAIRP(BgL_l1065z00_204))
								{	/* Module/type.scm 48 */
									BGl_typezd2parserzd2zzmodule_typez00(BgL_importz00_25,
										CAR(BgL_l1065z00_204), BgL_clausez00_26);
									{
										obj_t BgL_l1065z00_2191;

										BgL_l1065z00_2191 = CDR(BgL_l1065z00_204);
										BgL_l1065z00_204 = BgL_l1065z00_2191;
										goto BgL_zc3z04anonymousza31122ze3z87_205;
									}
								}
							else
								{	/* Module/type.scm 48 */
									((bool_t) 1);
								}
						}
						return BNIL;
					}
				else
					{	/* Module/type.scm 46 */
						{	/* Module/type.scm 51 */
							obj_t BgL_list1125z00_210;

							BgL_list1125z00_210 = MAKE_YOUNG_PAIR(BNIL, BNIL);
							return
								BGl_userzd2errorzd2zztools_errorz00
								(BGl_string2273z00zzmodule_typez00,
								BGl_string2274z00zzmodule_typez00, BgL_clausez00_26,
								BgL_list1125z00_210);
						}
					}
			}
		}

	}



/* &type-producer/consumer */
	obj_t BGl_z62typezd2producerzf2consumerz42zzmodule_typez00(obj_t
		BgL_envz00_2105, obj_t BgL_importz00_2106, obj_t BgL_clausez00_2107)
	{
		{	/* Module/type.scm 45 */
			return
				BGl_typezd2producerzf2consumerz20zzmodule_typez00(BgL_importz00_2106,
				BgL_clausez00_2107);
		}

	}



/* type-parser */
	obj_t BGl_typezd2parserzd2zzmodule_typez00(obj_t BgL_importz00_27,
		obj_t BgL_clausez00_28, obj_t BgL_clausesz00_29)
	{
		{	/* Module/type.scm 56 */
			{
				obj_t BgL_fromz00_229;
				obj_t BgL_toz00_230;
				obj_t BgL_checkz00_231;
				obj_t BgL_coercez00_232;
				obj_t BgL_childz00_222;
				obj_t BgL_namez00_223;
				obj_t BgL_parentz00_224;

				if (PAIRP(BgL_clausez00_28))
					{	/* Module/type.scm 58 */
						obj_t BgL_carzd2387zd2_237;
						obj_t BgL_cdrzd2388zd2_238;

						BgL_carzd2387zd2_237 = CAR(((obj_t) BgL_clausez00_28));
						BgL_cdrzd2388zd2_238 = CDR(((obj_t) BgL_clausez00_28));
						if (SYMBOLP(BgL_carzd2387zd2_237))
							{	/* Module/type.scm 58 */
								if (PAIRP(BgL_cdrzd2388zd2_238))
									{	/* Module/type.scm 58 */
										obj_t BgL_carzd2392zd2_241;

										BgL_carzd2392zd2_241 = CAR(BgL_cdrzd2388zd2_238);
										if (STRINGP(BgL_carzd2392zd2_241))
											{	/* Module/type.scm 58 */
												if (NULLP(CDR(BgL_cdrzd2388zd2_238)))
													{	/* Module/type.scm 58 */
														return
															((obj_t)
															BGl_declarezd2typez12zc0zztype_envz00
															(BgL_carzd2387zd2_237, BgL_carzd2392zd2_241,
																CNST_TABLE_REF(3L)));
													}
												else
													{	/* Module/type.scm 58 */
														obj_t BgL_carzd2420zd2_248;
														obj_t BgL_cdrzd2421zd2_249;

														BgL_carzd2420zd2_248 =
															CAR(((obj_t) BgL_cdrzd2388zd2_238));
														BgL_cdrzd2421zd2_249 =
															CDR(((obj_t) BgL_cdrzd2388zd2_238));
														if (STRINGP(BgL_carzd2420zd2_248))
															{	/* Module/type.scm 58 */
																if (PAIRP(BgL_cdrzd2421zd2_249))
																	{	/* Module/type.scm 58 */
																		obj_t BgL_carzd2427zd2_252;

																		BgL_carzd2427zd2_252 =
																			CAR(BgL_cdrzd2421zd2_249);
																		if (SYMBOLP(BgL_carzd2427zd2_252))
																			{	/* Module/type.scm 58 */
																				if (NULLP(CDR(BgL_cdrzd2421zd2_249)))
																					{	/* Module/type.scm 58 */
																						return
																							((obj_t)
																							BGl_declarezd2typez12zc0zztype_envz00
																							(BgL_carzd2387zd2_237,
																								BgL_carzd2420zd2_248,
																								BgL_carzd2427zd2_252));
																					}
																				else
																					{	/* Module/type.scm 58 */
																						if (
																							(CAR(
																									((obj_t) BgL_clausez00_28)) ==
																								CNST_TABLE_REF(4L)))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd2453zd2_259;
																								obj_t BgL_cdrzd2454zd2_260;

																								BgL_carzd2453zd2_259 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd2388zd2_238));
																								BgL_cdrzd2454zd2_260 =
																									CDR(((obj_t)
																										BgL_cdrzd2388zd2_238));
																								if (SYMBOLP
																									(BgL_carzd2453zd2_259))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd2462zd2_262;
																										obj_t BgL_cdrzd2463zd2_263;

																										BgL_carzd2462zd2_262 =
																											CAR(
																											((obj_t)
																												BgL_cdrzd2454zd2_260));
																										BgL_cdrzd2463zd2_263 =
																											CDR(((obj_t)
																												BgL_cdrzd2454zd2_260));
																										if (STRINGP
																											(BgL_carzd2462zd2_262))
																											{	/* Module/type.scm 58 */
																												if (PAIRP
																													(BgL_cdrzd2463zd2_263))
																													{	/* Module/type.scm 58 */
																														obj_t
																															BgL_carzd2469zd2_266;
																														BgL_carzd2469zd2_266
																															=
																															CAR
																															(BgL_cdrzd2463zd2_263);
																														if (SYMBOLP
																															(BgL_carzd2469zd2_266))
																															{	/* Module/type.scm 58 */
																																if (NULLP(CDR
																																		(BgL_cdrzd2463zd2_263)))
																																	{	/* Module/type.scm 69 */
																																		BgL_typez00_bglt
																																			BgL_typez00_1607;
																																		BgL_typez00_1607
																																			=
																																			BGl_declarezd2typez12zc0zztype_envz00
																																			(BgL_carzd2453zd2_259,
																																			BgL_carzd2462zd2_262,
																																			BgL_carzd2469zd2_266);
																																		((((BgL_typez00_bglt) COBJECT(BgL_typez00_1607))->BgL_magiczf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
																																		return
																																			((obj_t)
																																			BgL_typez00_1607);
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																	BgL_tagzd2373zd2_234:
																																		{	/* Module/type.scm 143 */
																																			obj_t
																																				BgL_list2222z00_1365;
																																			BgL_list2222z00_1365
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BNIL,
																																				BNIL);
																																			return
																																				BGl_userzd2errorzd2zztools_errorz00
																																				(BGl_string2273z00zzmodule_typez00,
																																				BGl_string2278z00zzmodule_typez00,
																																				BgL_clausez00_28,
																																				BgL_list2222z00_1365);
																																		}
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								if (
																									(CAR(
																											((obj_t)
																												BgL_clausez00_28)) ==
																										CNST_TABLE_REF(5L)))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd2634zd2_274;
																										obj_t BgL_cdrzd2635zd2_275;

																										BgL_carzd2634zd2_274 =
																											CAR(
																											((obj_t)
																												BgL_cdrzd2388zd2_238));
																										BgL_cdrzd2635zd2_275 =
																											CDR(((obj_t)
																												BgL_cdrzd2388zd2_238));
																										if (SYMBOLP
																											(BgL_carzd2634zd2_274))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd2644zd2_277;
																												obj_t
																													BgL_cdrzd2645zd2_278;
																												BgL_carzd2644zd2_277 =
																													CAR(((obj_t)
																														BgL_cdrzd2635zd2_275));
																												BgL_cdrzd2645zd2_278 =
																													CDR(((obj_t)
																														BgL_cdrzd2635zd2_275));
																												if (STRINGP
																													(BgL_carzd2644zd2_277))
																													{	/* Module/type.scm 58 */
																														if (PAIRP
																															(BgL_cdrzd2645zd2_278))
																															{	/* Module/type.scm 58 */
																																obj_t
																																	BgL_carzd2651zd2_281;
																																BgL_carzd2651zd2_281
																																	=
																																	CAR
																																	(BgL_cdrzd2645zd2_278);
																																if (PAIRP
																																	(BgL_carzd2651zd2_281))
																																	{	/* Module/type.scm 58 */
																																		if (NULLP
																																			(CDR
																																				(BgL_cdrzd2645zd2_278)))
																																			{	/* Module/type.scm 58 */
																																				BgL_childz00_222
																																					=
																																					BgL_carzd2634zd2_274;
																																				BgL_namez00_223
																																					=
																																					BgL_carzd2644zd2_277;
																																				BgL_parentz00_224
																																					=
																																					BgL_carzd2651zd2_281;
																																			BgL_tagzd2370zd2_225:
																																				{
																																					obj_t
																																						BgL_walkz00_1066;
																																					obj_t
																																						BgL_classz00_1067;
																																					BgL_walkz00_1066
																																						=
																																						BgL_parentz00_224;
																																					BgL_classz00_1067
																																						=
																																						BUNSPEC;
																																				BgL_zc3z04anonymousza32073ze3z87_1068:
																																					if (NULLP(BgL_walkz00_1066))
																																						{	/* Module/type.scm 77 */
																																							return
																																								(
																																								(obj_t)
																																								BGl_declarezd2subtypez12zc0zztype_envz00
																																								(BgL_childz00_222,
																																									BgL_namez00_223,
																																									BgL_parentz00_224,
																																									BgL_classz00_1067));
																																						}
																																					else
																																						{	/* Module/type.scm 79 */
																																							bool_t
																																								BgL_test2333z00_2290;
																																							{	/* Module/type.scm 79 */
																																								obj_t
																																									BgL_tmpz00_2291;
																																								BgL_tmpz00_2291
																																									=
																																									CAR
																																									(
																																									((obj_t) BgL_walkz00_1066));
																																								BgL_test2333z00_2290
																																									=
																																									SYMBOLP
																																									(BgL_tmpz00_2291);
																																							}
																																							if (BgL_test2333z00_2290)
																																								{	/* Module/type.scm 82 */
																																									BgL_typez00_bglt
																																										BgL_tparentz00_1072;
																																									{	/* Module/type.scm 82 */
																																										obj_t
																																											BgL_arg2089z00_1086;
																																										BgL_arg2089z00_1086
																																											=
																																											CAR
																																											(
																																											((obj_t) BgL_walkz00_1066));
																																										BgL_tparentz00_1072
																																											=
																																											BGl_findzd2typezd2zztype_envz00
																																											(BgL_arg2089z00_1086);
																																									}
																																									{	/* Module/type.scm 84 */
																																										bool_t
																																											BgL_test2334z00_2298;
																																										{	/* Module/type.scm 84 */
																																											obj_t
																																												BgL_classz00_1448;
																																											BgL_classz00_1448
																																												=
																																												BGl_typez00zztype_typez00;
																																											{	/* Module/type.scm 84 */
																																												BgL_objectz00_bglt
																																													BgL_arg1801z00_1450;
																																												{	/* Module/type.scm 84 */
																																													obj_t
																																														BgL_tmpz00_2299;
																																													BgL_tmpz00_2299
																																														=
																																														(
																																														(obj_t)
																																														((BgL_objectz00_bglt) BgL_tparentz00_1072));
																																													BgL_arg1801z00_1450
																																														=
																																														(BgL_objectz00_bglt)
																																														(BgL_tmpz00_2299);
																																												}
																																												if (BGL_CONDEXPAND_ISA_ARCH64())
																																													{	/* Module/type.scm 84 */
																																														long
																																															BgL_idxz00_1456;
																																														BgL_idxz00_1456
																																															=
																																															BGL_OBJECT_INHERITANCE_NUM
																																															(BgL_arg1801z00_1450);
																																														BgL_test2334z00_2298
																																															=
																																															(VECTOR_REF
																																															(BGl_za2inheritancesza2z00zz__objectz00,
																																																(BgL_idxz00_1456
																																																	+
																																																	1L))
																																															==
																																															BgL_classz00_1448);
																																													}
																																												else
																																													{	/* Module/type.scm 84 */
																																														bool_t
																																															BgL_res2261z00_1478;
																																														{	/* Module/type.scm 84 */
																																															obj_t
																																																BgL_oclassz00_1464;
																																															{	/* Module/type.scm 84 */
																																																long
																																																	BgL_arg1808z00_1470;
																																																{	/* Module/type.scm 84 */
																																																	long
																																																		BgL_arg1809z00_1471;
																																																	BgL_arg1809z00_1471
																																																		=
																																																		BGL_OBJECT_CLASS_NUM
																																																		(BgL_arg1801z00_1450);
																																																	BgL_arg1808z00_1470
																																																		=
																																																		(BgL_arg1809z00_1471
																																																		-
																																																		OBJECT_TYPE);
																																																}
																																																BgL_oclassz00_1464
																																																	=
																																																	VECTOR_REF
																																																	(BGl_za2classesza2z00zz__objectz00,
																																																	BgL_arg1808z00_1470);
																																															}
																																															{	/* Module/type.scm 84 */
																																																bool_t
																																																	BgL__ortest_1115z00_1465;
																																																BgL__ortest_1115z00_1465
																																																	=
																																																	(BgL_classz00_1448
																																																	==
																																																	BgL_oclassz00_1464);
																																																if (BgL__ortest_1115z00_1465)
																																																	{	/* Module/type.scm 84 */
																																																		BgL_res2261z00_1478
																																																			=
																																																			BgL__ortest_1115z00_1465;
																																																	}
																																																else
																																																	{	/* Module/type.scm 84 */
																																																		long
																																																			BgL_odepthz00_1466;
																																																		BgL_odepthz00_1466
																																																			=
																																																			BGL_CLASS_DEPTH
																																																			(BgL_oclassz00_1464);
																																																		if ((1L < BgL_odepthz00_1466))
																																																			{	/* Module/type.scm 84 */
																																																				obj_t
																																																					BgL_arg1797z00_1468;
																																																				BgL_arg1797z00_1468
																																																					=
																																																					BGL_CLASS_ANCESTORS_REF
																																																					(BgL_oclassz00_1464,
																																																					1L);
																																																				BgL_res2261z00_1478
																																																					=
																																																					(BgL_arg1797z00_1468
																																																					==
																																																					BgL_classz00_1448);
																																																			}
																																																		else
																																																			{	/* Module/type.scm 84 */
																																																				BgL_res2261z00_1478
																																																					=
																																																					(
																																																					(bool_t)
																																																					0);
																																																			}
																																																	}
																																															}
																																														}
																																														BgL_test2334z00_2298
																																															=
																																															BgL_res2261z00_1478;
																																													}
																																											}
																																										}
																																										if (BgL_test2334z00_2298)
																																											{	/* Module/type.scm 86 */
																																												bool_t
																																													BgL_test2338z00_2319;
																																												if (SYMBOLP(BgL_classz00_1067))
																																													{	/* Module/type.scm 86 */
																																														if ((BgL_classz00_1067 == (((BgL_typez00_bglt) COBJECT(BgL_tparentz00_1072))->BgL_classz00)))
																																															{	/* Module/type.scm 87 */
																																																BgL_test2338z00_2319
																																																	=
																																																	(
																																																	(bool_t)
																																																	0);
																																															}
																																														else
																																															{	/* Module/type.scm 87 */
																																																BgL_test2338z00_2319
																																																	=
																																																	(
																																																	(bool_t)
																																																	1);
																																															}
																																													}
																																												else
																																													{	/* Module/type.scm 86 */
																																														BgL_test2338z00_2319
																																															=
																																															(
																																															(bool_t)
																																															0);
																																													}
																																												if (BgL_test2338z00_2319)
																																													{	/* Module/type.scm 86 */
																																														return
																																															BGl_userzd2errorzd2zztools_errorz00
																																															(BGl_string2275z00zzmodule_typez00,
																																															BGl_string2276z00zzmodule_typez00,
																																															BgL_clausez00_28,
																																															BNIL);
																																													}
																																												else
																																													{	/* Module/type.scm 92 */
																																														obj_t
																																															BgL_arg2085z00_1080;
																																														obj_t
																																															BgL_arg2086z00_1081;
																																														BgL_arg2085z00_1080
																																															=
																																															CDR
																																															(
																																															((obj_t) BgL_walkz00_1066));
																																														BgL_arg2086z00_1081
																																															=
																																															(
																																															((BgL_typez00_bglt) COBJECT(BgL_tparentz00_1072))->BgL_classz00);
																																														{
																																															obj_t
																																																BgL_classz00_2330;
																																															obj_t
																																																BgL_walkz00_2329;
																																															BgL_walkz00_2329
																																																=
																																																BgL_arg2085z00_1080;
																																															BgL_classz00_2330
																																																=
																																																BgL_arg2086z00_1081;
																																															BgL_classz00_1067
																																																=
																																																BgL_classz00_2330;
																																															BgL_walkz00_1066
																																																=
																																																BgL_walkz00_2329;
																																															goto
																																																BgL_zc3z04anonymousza32073ze3z87_1068;
																																														}
																																													}
																																											}
																																										else
																																											{	/* Module/type.scm 84 */
																																												return
																																													BGl_userzd2errorzd2zztools_errorz00
																																													(BGl_string2275z00zzmodule_typez00,
																																													BGl_string2277z00zzmodule_typez00,
																																													BgL_clausez00_28,
																																													BNIL);
																																											}
																																									}
																																								}
																																							else
																																								{	/* Module/type.scm 79 */
																																									return
																																										BGl_userzd2errorzd2zztools_errorz00
																																										(BGl_string2273z00zzmodule_typez00,
																																										BGl_string2278z00zzmodule_typez00,
																																										BgL_clausez00_28,
																																										BNIL);
																																								}
																																						}
																																				}
																																			}
																																		else
																																			{	/* Module/type.scm 58 */
																																				goto
																																					BgL_tagzd2373zd2_234;
																																			}
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										obj_t BgL_cdrzd2755zd2_286;

																										BgL_cdrzd2755zd2_286 =
																											CDR(
																											((obj_t)
																												BgL_clausez00_28));
																										if ((CAR(((obj_t)
																														BgL_clausez00_28))
																												== CNST_TABLE_REF(6L)))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd2762zd2_289;
																												obj_t
																													BgL_cdrzd2763zd2_290;
																												BgL_carzd2762zd2_289 =
																													CAR(((obj_t)
																														BgL_cdrzd2755zd2_286));
																												BgL_cdrzd2763zd2_290 =
																													CDR(((obj_t)
																														BgL_cdrzd2755zd2_286));
																												if (SYMBOLP
																													(BgL_carzd2762zd2_289))
																													{	/* Module/type.scm 58 */
																														obj_t
																															BgL_carzd2773zd2_292;
																														obj_t
																															BgL_cdrzd2774zd2_293;
																														BgL_carzd2773zd2_292
																															=
																															CAR(((obj_t)
																																BgL_cdrzd2763zd2_290));
																														BgL_cdrzd2774zd2_293
																															=
																															CDR(((obj_t)
																																BgL_cdrzd2763zd2_290));
																														if (SYMBOLP
																															(BgL_carzd2773zd2_292))
																															{	/* Module/type.scm 58 */
																																if (PAIRP
																																	(BgL_cdrzd2774zd2_293))
																																	{	/* Module/type.scm 58 */
																																		obj_t
																																			BgL_cdrzd2783zd2_296;
																																		BgL_cdrzd2783zd2_296
																																			=
																																			CDR
																																			(BgL_cdrzd2774zd2_293);
																																		if (PAIRP
																																			(BgL_cdrzd2783zd2_296))
																																			{	/* Module/type.scm 58 */
																																				if (NULLP(CDR(BgL_cdrzd2783zd2_296)))
																																					{	/* Module/type.scm 58 */
																																						BgL_fromz00_229
																																							=
																																							BgL_carzd2762zd2_289;
																																						BgL_toz00_230
																																							=
																																							BgL_carzd2773zd2_292;
																																						BgL_checkz00_231
																																							=
																																							CAR
																																							(BgL_cdrzd2774zd2_293);
																																						BgL_coercez00_232
																																							=
																																							CAR
																																							(BgL_cdrzd2783zd2_296);
																																					BgL_tagzd2372zd2_233:
																																						{	/* Module/type.scm 97 */
																																							bool_t
																																								BgL_test2347z00_2360;
																																							{	/* Module/type.scm 97 */
																																								bool_t
																																									BgL_test2348z00_2361;
																																								{
																																									obj_t
																																										BgL_checkz00_1326;
																																									{	/* Module/type.scm 97 */
																																										obj_t
																																											BgL_tmpz00_2362;
																																										BgL_checkz00_1326
																																											=
																																											BgL_checkz00_231;
																																									BgL_zc3z04anonymousza32209ze3z87_1327:
																																										if (NULLP(BgL_checkz00_1326))
																																											{	/* Module/type.scm 99 */
																																												BgL_tmpz00_2362
																																													=
																																													BTRUE;
																																											}
																																										else
																																											{	/* Module/type.scm 101 */
																																												bool_t
																																													BgL_test2350z00_2365;
																																												{	/* Module/type.scm 101 */
																																													obj_t
																																														BgL_tmpz00_2366;
																																													BgL_tmpz00_2366
																																														=
																																														CAR
																																														(
																																														((obj_t) BgL_checkz00_1326));
																																													BgL_test2350z00_2365
																																														=
																																														SYMBOLP
																																														(BgL_tmpz00_2366);
																																												}
																																												if (BgL_test2350z00_2365)
																																													{	/* Module/type.scm 112 */
																																														obj_t
																																															BgL_arg2210z00_1330;
																																														BgL_arg2210z00_1330
																																															=
																																															CDR
																																															(
																																															((obj_t) BgL_checkz00_1326));
																																														{
																																															obj_t
																																																BgL_checkz00_2372;
																																															BgL_checkz00_2372
																																																=
																																																BgL_arg2210z00_1330;
																																															BgL_checkz00_1326
																																																=
																																																BgL_checkz00_2372;
																																															goto
																																																BgL_zc3z04anonymousza32209ze3z87_1327;
																																														}
																																													}
																																												else
																																													{

																																														{	/* Module/type.scm 102 */
																																															obj_t
																																																BgL_ezd25888zd2_1334;
																																															BgL_ezd25888zd2_1334
																																																=
																																																CAR
																																																(
																																																((obj_t) BgL_checkz00_1326));
																																															if (PAIRP(BgL_ezd25888zd2_1334))
																																																{	/* Module/type.scm 102 */
																																																	obj_t
																																																		BgL_cdrzd25890zd2_1336;
																																																	BgL_cdrzd25890zd2_1336
																																																		=
																																																		CDR
																																																		(BgL_ezd25888zd2_1334);
																																																	if ((CAR(BgL_ezd25888zd2_1334) == CNST_TABLE_REF(1L)))
																																																		{	/* Module/type.scm 102 */
																																																			if (PAIRP(BgL_cdrzd25890zd2_1336))
																																																				{	/* Module/type.scm 102 */
																																																					obj_t
																																																						BgL_carzd25891zd2_1339;
																																																					obj_t
																																																						BgL_cdrzd25892zd2_1340;
																																																					BgL_carzd25891zd2_1339
																																																						=
																																																						CAR
																																																						(BgL_cdrzd25890zd2_1336);
																																																					BgL_cdrzd25892zd2_1340
																																																						=
																																																						CDR
																																																						(BgL_cdrzd25890zd2_1336);
																																																					if (PAIRP(BgL_carzd25891zd2_1339))
																																																						{	/* Module/type.scm 102 */
																																																							if (NULLP(CDR(BgL_carzd25891zd2_1339)))
																																																								{	/* Module/type.scm 102 */
																																																									if (PAIRP(BgL_cdrzd25892zd2_1340))
																																																										{	/* Module/type.scm 102 */
																																																											if (NULLP(CDR(BgL_cdrzd25892zd2_1340)))
																																																												{	/* Module/type.scm 102 */
																																																													{	/* Module/type.scm 104 */
																																																														obj_t
																																																															BgL_arg2218z00_1360;
																																																														BgL_arg2218z00_1360
																																																															=
																																																															CDR
																																																															(
																																																															((obj_t) BgL_checkz00_1326));
																																																														{
																																																															obj_t
																																																																BgL_checkz00_2398;
																																																															BgL_checkz00_2398
																																																																=
																																																																BgL_arg2218z00_1360;
																																																															BgL_checkz00_1326
																																																																=
																																																																BgL_checkz00_2398;
																																																															goto
																																																																BgL_zc3z04anonymousza32209ze3z87_1327;
																																																														}
																																																													}
																																																												}
																																																											else
																																																												{	/* Module/type.scm 102 */
																																																												BgL_tagzd25887zd2_1333:
																																																													{	/* Module/type.scm 108 */
																																																														obj_t
																																																															BgL_list2220z00_1362;
																																																														BgL_list2220z00_1362
																																																															=
																																																															MAKE_YOUNG_PAIR
																																																															(BFALSE,
																																																															BNIL);
																																																														BgL_tmpz00_2362
																																																															=
																																																															BGl_userzd2errorzd2zztools_errorz00
																																																															(BGl_string2279z00zzmodule_typez00,
																																																															BGl_string2280z00zzmodule_typez00,
																																																															BgL_clausez00_28,
																																																															BgL_list2220z00_1362);
																																																													}
																																																												}
																																																										}
																																																									else
																																																										{	/* Module/type.scm 102 */
																																																											goto
																																																												BgL_tagzd25887zd2_1333;
																																																										}
																																																								}
																																																							else
																																																								{	/* Module/type.scm 102 */
																																																									goto
																																																										BgL_tagzd25887zd2_1333;
																																																								}
																																																						}
																																																					else
																																																						{	/* Module/type.scm 102 */
																																																							goto
																																																								BgL_tagzd25887zd2_1333;
																																																						}
																																																				}
																																																			else
																																																				{	/* Module/type.scm 102 */
																																																					goto
																																																						BgL_tagzd25887zd2_1333;
																																																				}
																																																		}
																																																	else
																																																		{	/* Module/type.scm 102 */
																																																			if ((CAR(BgL_ezd25888zd2_1334) == CNST_TABLE_REF(2L)))
																																																				{	/* Module/type.scm 102 */
																																																					if (PAIRP(BgL_cdrzd25890zd2_1336))
																																																						{	/* Module/type.scm 102 */
																																																							obj_t
																																																								BgL_cdrzd25900zd2_1350;
																																																							BgL_cdrzd25900zd2_1350
																																																								=
																																																								CDR
																																																								(BgL_cdrzd25890zd2_1336);
																																																							{	/* Module/type.scm 102 */
																																																								bool_t
																																																									BgL_test2360z00_2408;
																																																								{	/* Module/type.scm 102 */
																																																									obj_t
																																																										BgL_tmpz00_2409;
																																																									BgL_tmpz00_2409
																																																										=
																																																										CAR
																																																										(BgL_cdrzd25890zd2_1336);
																																																									BgL_test2360z00_2408
																																																										=
																																																										SYMBOLP
																																																										(BgL_tmpz00_2409);
																																																								}
																																																								if (BgL_test2360z00_2408)
																																																									{	/* Module/type.scm 102 */
																																																										if (PAIRP(BgL_cdrzd25900zd2_1350))
																																																											{	/* Module/type.scm 102 */
																																																												bool_t
																																																													BgL_test2362z00_2414;
																																																												{	/* Module/type.scm 102 */
																																																													obj_t
																																																														BgL_tmpz00_2415;
																																																													BgL_tmpz00_2415
																																																														=
																																																														CAR
																																																														(BgL_cdrzd25900zd2_1350);
																																																													BgL_test2362z00_2414
																																																														=
																																																														SYMBOLP
																																																														(BgL_tmpz00_2415);
																																																												}
																																																												if (BgL_test2362z00_2414)
																																																													{	/* Module/type.scm 102 */
																																																														if (NULLP(CDR(BgL_cdrzd25900zd2_1350)))
																																																															{	/* Module/type.scm 102 */
																																																																{	/* Module/type.scm 106 */
																																																																	obj_t
																																																																		BgL_arg2219z00_1361;
																																																																	BgL_arg2219z00_1361
																																																																		=
																																																																		CDR
																																																																		(
																																																																		((obj_t) BgL_checkz00_1326));
																																																																	{
																																																																		obj_t
																																																																			BgL_checkz00_2423;
																																																																		BgL_checkz00_2423
																																																																			=
																																																																			BgL_arg2219z00_1361;
																																																																		BgL_checkz00_1326
																																																																			=
																																																																			BgL_checkz00_2423;
																																																																		goto
																																																																			BgL_zc3z04anonymousza32209ze3z87_1327;
																																																																	}
																																																																}
																																																															}
																																																														else
																																																															{	/* Module/type.scm 102 */
																																																																goto
																																																																	BgL_tagzd25887zd2_1333;
																																																															}
																																																													}
																																																												else
																																																													{	/* Module/type.scm 102 */
																																																														goto
																																																															BgL_tagzd25887zd2_1333;
																																																													}
																																																											}
																																																										else
																																																											{	/* Module/type.scm 102 */
																																																												goto
																																																													BgL_tagzd25887zd2_1333;
																																																											}
																																																									}
																																																								else
																																																									{	/* Module/type.scm 102 */
																																																										goto
																																																											BgL_tagzd25887zd2_1333;
																																																									}
																																																							}
																																																						}
																																																					else
																																																						{	/* Module/type.scm 102 */
																																																							goto
																																																								BgL_tagzd25887zd2_1333;
																																																						}
																																																				}
																																																			else
																																																				{	/* Module/type.scm 102 */
																																																					goto
																																																						BgL_tagzd25887zd2_1333;
																																																				}
																																																		}
																																																}
																																															else
																																																{	/* Module/type.scm 102 */
																																																	goto
																																																		BgL_tagzd25887zd2_1333;
																																																}
																																														}
																																													}
																																											}
																																										BgL_test2348z00_2361
																																											=
																																											CBOOL
																																											(BgL_tmpz00_2362);
																																									}
																																								}
																																								if (BgL_test2348z00_2361)
																																									{
																																										obj_t
																																											BgL_coercez00_1291;
																																										{	/* Module/type.scm 113 */
																																											obj_t
																																												BgL_tmpz00_2425;
																																											BgL_coercez00_1291
																																												=
																																												BgL_coercez00_232;
																																										BgL_zc3z04anonymousza32200ze3z87_1292:
																																											if (NULLP(BgL_coercez00_1291))
																																												{	/* Module/type.scm 115 */
																																													BgL_tmpz00_2425
																																														=
																																														BTRUE;
																																												}
																																											else
																																												{	/* Module/type.scm 117 */
																																													bool_t
																																														BgL_test2365z00_2428;
																																													{	/* Module/type.scm 117 */
																																														obj_t
																																															BgL_ezd25907zd2_1301;
																																														BgL_ezd25907zd2_1301
																																															=
																																															CAR
																																															(
																																															((obj_t) BgL_coercez00_1291));
																																														if (SYMBOLP(BgL_ezd25907zd2_1301))
																																															{	/* Module/type.scm 117 */
																																																BgL_test2365z00_2428
																																																	=
																																																	(
																																																	(bool_t)
																																																	0);
																																															}
																																														else
																																															{	/* Module/type.scm 117 */
																																																if (PAIRP(BgL_ezd25907zd2_1301))
																																																	{	/* Module/type.scm 117 */
																																																		obj_t
																																																			BgL_cdrzd25909zd2_1304;
																																																		BgL_cdrzd25909zd2_1304
																																																			=
																																																			CDR
																																																			(BgL_ezd25907zd2_1301);
																																																		if ((CAR(BgL_ezd25907zd2_1301) == CNST_TABLE_REF(2L)))
																																																			{	/* Module/type.scm 117 */
																																																				if (PAIRP(BgL_cdrzd25909zd2_1304))
																																																					{	/* Module/type.scm 117 */
																																																						obj_t
																																																							BgL_cdrzd25911zd2_1307;
																																																						BgL_cdrzd25911zd2_1307
																																																							=
																																																							CDR
																																																							(BgL_cdrzd25909zd2_1304);
																																																						{	/* Module/type.scm 117 */
																																																							bool_t
																																																								BgL_test2370z00_2443;
																																																							{	/* Module/type.scm 117 */
																																																								obj_t
																																																									BgL_tmpz00_2444;
																																																								BgL_tmpz00_2444
																																																									=
																																																									CAR
																																																									(BgL_cdrzd25909zd2_1304);
																																																								BgL_test2370z00_2443
																																																									=
																																																									SYMBOLP
																																																									(BgL_tmpz00_2444);
																																																							}
																																																							if (BgL_test2370z00_2443)
																																																								{	/* Module/type.scm 117 */
																																																									if (PAIRP(BgL_cdrzd25911zd2_1307))
																																																										{	/* Module/type.scm 117 */
																																																											bool_t
																																																												BgL_test2372z00_2449;
																																																											{	/* Module/type.scm 117 */
																																																												obj_t
																																																													BgL_tmpz00_2450;
																																																												BgL_tmpz00_2450
																																																													=
																																																													CAR
																																																													(BgL_cdrzd25911zd2_1307);
																																																												BgL_test2372z00_2449
																																																													=
																																																													SYMBOLP
																																																													(BgL_tmpz00_2450);
																																																											}
																																																											if (BgL_test2372z00_2449)
																																																												{	/* Module/type.scm 117 */
																																																													if (NULLP(CDR(BgL_cdrzd25911zd2_1307)))
																																																														{	/* Module/type.scm 117 */
																																																															BgL_test2365z00_2428
																																																																=
																																																																(
																																																																(bool_t)
																																																																0);
																																																														}
																																																													else
																																																														{	/* Module/type.scm 117 */
																																																															BgL_test2365z00_2428
																																																																=
																																																																(
																																																																(bool_t)
																																																																1);
																																																														}
																																																												}
																																																											else
																																																												{	/* Module/type.scm 117 */
																																																													BgL_test2365z00_2428
																																																														=
																																																														(
																																																														(bool_t)
																																																														1);
																																																												}
																																																										}
																																																									else
																																																										{	/* Module/type.scm 117 */
																																																											BgL_test2365z00_2428
																																																												=
																																																												(
																																																												(bool_t)
																																																												1);
																																																										}
																																																								}
																																																							else
																																																								{	/* Module/type.scm 117 */
																																																									BgL_test2365z00_2428
																																																										=
																																																										(
																																																										(bool_t)
																																																										1);
																																																								}
																																																						}
																																																					}
																																																				else
																																																					{	/* Module/type.scm 117 */
																																																						BgL_test2365z00_2428
																																																							=
																																																							(
																																																							(bool_t)
																																																							1);
																																																					}
																																																			}
																																																		else
																																																			{	/* Module/type.scm 117 */
																																																				if ((CAR(BgL_ezd25907zd2_1301) == CNST_TABLE_REF(1L)))
																																																					{	/* Module/type.scm 117 */
																																																						if (PAIRP(BgL_cdrzd25909zd2_1304))
																																																							{	/* Module/type.scm 117 */
																																																								obj_t
																																																									BgL_carzd25916zd2_1318;
																																																								BgL_carzd25916zd2_1318
																																																									=
																																																									CAR
																																																									(BgL_cdrzd25909zd2_1304);
																																																								if (PAIRP(BgL_carzd25916zd2_1318))
																																																									{	/* Module/type.scm 117 */
																																																										if (NULLP(CDR(BgL_carzd25916zd2_1318)))
																																																											{	/* Module/type.scm 117 */
																																																												BgL_test2365z00_2428
																																																													=
																																																													(
																																																													(bool_t)
																																																													0);
																																																											}
																																																										else
																																																											{	/* Module/type.scm 117 */
																																																												BgL_test2365z00_2428
																																																													=
																																																													(
																																																													(bool_t)
																																																													1);
																																																											}
																																																									}
																																																								else
																																																									{	/* Module/type.scm 117 */
																																																										BgL_test2365z00_2428
																																																											=
																																																											(
																																																											(bool_t)
																																																											1);
																																																									}
																																																							}
																																																						else
																																																							{	/* Module/type.scm 117 */
																																																								BgL_test2365z00_2428
																																																									=
																																																									(
																																																									(bool_t)
																																																									1);
																																																							}
																																																					}
																																																				else
																																																					{	/* Module/type.scm 117 */
																																																						BgL_test2365z00_2428
																																																							=
																																																							(
																																																							(bool_t)
																																																							1);
																																																					}
																																																			}
																																																	}
																																																else
																																																	{	/* Module/type.scm 117 */
																																																		BgL_test2365z00_2428
																																																			=
																																																			(
																																																			(bool_t)
																																																			1);
																																																	}
																																															}
																																													}
																																													if (BgL_test2365z00_2428)
																																														{	/* Module/type.scm 122 */
																																															obj_t
																																																BgL_list2201z00_1295;
																																															BgL_list2201z00_1295
																																																=
																																																MAKE_YOUNG_PAIR
																																																(BFALSE,
																																																BNIL);
																																															BgL_tmpz00_2425
																																																=
																																																BGl_userzd2errorzd2zztools_errorz00
																																																(BGl_string2279z00zzmodule_typez00,
																																																BGl_string2281z00zzmodule_typez00,
																																																BgL_clausez00_28,
																																																BgL_list2201z00_1295);
																																														}
																																													else
																																														{	/* Module/type.scm 124 */
																																															obj_t
																																																BgL_arg2202z00_1296;
																																															BgL_arg2202z00_1296
																																																=
																																																CDR
																																																(
																																																((obj_t) BgL_coercez00_1291));
																																															{
																																																obj_t
																																																	BgL_coercez00_2472;
																																																BgL_coercez00_2472
																																																	=
																																																	BgL_arg2202z00_1296;
																																																BgL_coercez00_1291
																																																	=
																																																	BgL_coercez00_2472;
																																																goto
																																																	BgL_zc3z04anonymousza32200ze3z87_1292;
																																															}
																																														}
																																												}
																																											BgL_test2347z00_2360
																																												=
																																												CBOOL
																																												(BgL_tmpz00_2425);
																																										}
																																									}
																																								else
																																									{	/* Module/type.scm 97 */
																																										BgL_test2347z00_2360
																																											=
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																							if (BgL_test2347z00_2360)
																																								{	/* Module/type.scm 125 */
																																									obj_t
																																										BgL_locz00_1248;
																																									BgL_locz00_1248
																																										=
																																										BGl_findzd2locationzd2zztools_locationz00
																																										(BgL_clausez00_28);
																																									{	/* Module/type.scm 125 */
																																										BgL_typez00_bglt
																																											BgL_tfromz00_1249;
																																										BgL_tfromz00_1249
																																											=
																																											BGl_usezd2typez12zc0zztype_envz00
																																											(BgL_fromz00_229,
																																											BgL_locz00_1248);
																																										{	/* Module/type.scm 126 */
																																											BgL_typez00_bglt
																																												BgL_ttoz00_1250;
																																											BgL_ttoz00_1250
																																												=
																																												BGl_usezd2typez12zc0zztype_envz00
																																												(BgL_toz00_230,
																																												BgL_locz00_1248);
																																											{	/* Module/type.scm 127 */
																																												obj_t
																																													BgL_checksz00_1251;
																																												if (NULLP(BgL_checkz00_231))
																																													{	/* Module/type.scm 129 */
																																														obj_t
																																															BgL_arg2193z00_1274;
																																														BgL_arg2193z00_1274
																																															=
																																															MAKE_YOUNG_PAIR
																																															(BTRUE,
																																															((obj_t) BgL_tfromz00_1249));
																																														{	/* Module/type.scm 129 */
																																															obj_t
																																																BgL_list2194z00_1275;
																																															BgL_list2194z00_1275
																																																=
																																																MAKE_YOUNG_PAIR
																																																(BgL_arg2193z00_1274,
																																																BNIL);
																																															BgL_checksz00_1251
																																																=
																																																BgL_list2194z00_1275;
																																														}
																																													}
																																												else
																																													{	/* Module/type.scm 130 */
																																														obj_t
																																															BgL_head1069z00_1278;
																																														BgL_head1069z00_1278
																																															=
																																															MAKE_YOUNG_PAIR
																																															(BNIL,
																																															BNIL);
																																														{
																																															obj_t
																																																BgL_l1067z00_1280;
																																															obj_t
																																																BgL_tail1070z00_1281;
																																															BgL_l1067z00_1280
																																																=
																																																BgL_checkz00_231;
																																															BgL_tail1070z00_1281
																																																=
																																																BgL_head1069z00_1278;
																																														BgL_zc3z04anonymousza32196ze3z87_1282:
																																															if (NULLP(BgL_l1067z00_1280))
																																																{	/* Module/type.scm 130 */
																																																	BgL_checksz00_1251
																																																		=
																																																		CDR
																																																		(BgL_head1069z00_1278);
																																																}
																																															else
																																																{	/* Module/type.scm 130 */
																																																	obj_t
																																																		BgL_newtail1071z00_1284;
																																																	{	/* Module/type.scm 130 */
																																																		obj_t
																																																			BgL_arg2199z00_1286;
																																																		{	/* Module/type.scm 130 */
																																																			obj_t
																																																				BgL_cz00_1287;
																																																			BgL_cz00_1287
																																																				=
																																																				CAR
																																																				(
																																																				((obj_t) BgL_l1067z00_1280));
																																																			BgL_arg2199z00_1286
																																																				=
																																																				MAKE_YOUNG_PAIR
																																																				(BgL_cz00_1287,
																																																				((obj_t) BgL_tfromz00_1249));
																																																		}
																																																		BgL_newtail1071z00_1284
																																																			=
																																																			MAKE_YOUNG_PAIR
																																																			(BgL_arg2199z00_1286,
																																																			BNIL);
																																																	}
																																																	SET_CDR
																																																		(BgL_tail1070z00_1281,
																																																		BgL_newtail1071z00_1284);
																																																	{	/* Module/type.scm 130 */
																																																		obj_t
																																																			BgL_arg2198z00_1285;
																																																		BgL_arg2198z00_1285
																																																			=
																																																			CDR
																																																			(
																																																			((obj_t) BgL_l1067z00_1280));
																																																		{
																																																			obj_t
																																																				BgL_tail1070z00_2495;
																																																			obj_t
																																																				BgL_l1067z00_2494;
																																																			BgL_l1067z00_2494
																																																				=
																																																				BgL_arg2198z00_1285;
																																																			BgL_tail1070z00_2495
																																																				=
																																																				BgL_newtail1071z00_1284;
																																																			BgL_tail1070z00_1281
																																																				=
																																																				BgL_tail1070z00_2495;
																																																			BgL_l1067z00_1280
																																																				=
																																																				BgL_l1067z00_2494;
																																																			goto
																																																				BgL_zc3z04anonymousza32196ze3z87_1282;
																																																		}
																																																	}
																																																}
																																														}
																																													}
																																												{	/* Module/type.scm 128 */
																																													obj_t
																																														BgL_coercesz00_1252;
																																													if (NULLP(BgL_coercez00_232))
																																														{	/* Module/type.scm 132 */
																																															obj_t
																																																BgL_arg2185z00_1258;
																																															BgL_arg2185z00_1258
																																																=
																																																MAKE_YOUNG_PAIR
																																																(BTRUE,
																																																((obj_t) BgL_ttoz00_1250));
																																															{	/* Module/type.scm 132 */
																																																obj_t
																																																	BgL_list2186z00_1259;
																																																BgL_list2186z00_1259
																																																	=
																																																	MAKE_YOUNG_PAIR
																																																	(BgL_arg2185z00_1258,
																																																	BNIL);
																																																BgL_coercesz00_1252
																																																	=
																																																	BgL_list2186z00_1259;
																																															}
																																														}
																																													else
																																														{	/* Module/type.scm 133 */
																																															obj_t
																																																BgL_head1074z00_1262;
																																															BgL_head1074z00_1262
																																																=
																																																MAKE_YOUNG_PAIR
																																																(BNIL,
																																																BNIL);
																																															{
																																																obj_t
																																																	BgL_l1072z00_1264;
																																																obj_t
																																																	BgL_tail1075z00_1265;
																																																BgL_l1072z00_1264
																																																	=
																																																	BgL_coercez00_232;
																																																BgL_tail1075z00_1265
																																																	=
																																																	BgL_head1074z00_1262;
																																															BgL_zc3z04anonymousza32188ze3z87_1266:
																																																if (NULLP(BgL_l1072z00_1264))
																																																	{	/* Module/type.scm 133 */
																																																		BgL_coercesz00_1252
																																																			=
																																																			CDR
																																																			(BgL_head1074z00_1262);
																																																	}
																																																else
																																																	{	/* Module/type.scm 133 */
																																																		obj_t
																																																			BgL_newtail1076z00_1268;
																																																		{	/* Module/type.scm 133 */
																																																			obj_t
																																																				BgL_arg2191z00_1270;
																																																			{	/* Module/type.scm 133 */
																																																				obj_t
																																																					BgL_cz00_1271;
																																																				BgL_cz00_1271
																																																					=
																																																					CAR
																																																					(
																																																					((obj_t) BgL_l1072z00_1264));
																																																				BgL_arg2191z00_1270
																																																					=
																																																					MAKE_YOUNG_PAIR
																																																					(BgL_cz00_1271,
																																																					((obj_t) BgL_ttoz00_1250));
																																																			}
																																																			BgL_newtail1076z00_1268
																																																				=
																																																				MAKE_YOUNG_PAIR
																																																				(BgL_arg2191z00_1270,
																																																				BNIL);
																																																		}
																																																		SET_CDR
																																																			(BgL_tail1075z00_1265,
																																																			BgL_newtail1076z00_1268);
																																																		{	/* Module/type.scm 133 */
																																																			obj_t
																																																				BgL_arg2190z00_1269;
																																																			BgL_arg2190z00_1269
																																																				=
																																																				CDR
																																																				(
																																																				((obj_t) BgL_l1072z00_1264));
																																																			{
																																																				obj_t
																																																					BgL_tail1075z00_2514;
																																																				obj_t
																																																					BgL_l1072z00_2513;
																																																				BgL_l1072z00_2513
																																																					=
																																																					BgL_arg2190z00_1269;
																																																				BgL_tail1075z00_2514
																																																					=
																																																					BgL_newtail1076z00_1268;
																																																				BgL_tail1075z00_1265
																																																					=
																																																					BgL_tail1075z00_2514;
																																																				BgL_l1072z00_1264
																																																					=
																																																					BgL_l1072z00_2513;
																																																				goto
																																																					BgL_zc3z04anonymousza32188ze3z87_1266;
																																																			}
																																																		}
																																																	}
																																															}
																																														}
																																													{	/* Module/type.scm 131 */

																																														{	/* Module/type.scm 135 */
																																															bool_t
																																																BgL_test2382z00_2515;
																																															{	/* Module/type.scm 135 */
																																																obj_t
																																																	BgL_classz00_1527;
																																																BgL_classz00_1527
																																																	=
																																																	BGl_typez00zztype_typez00;
																																																{	/* Module/type.scm 135 */
																																																	BgL_objectz00_bglt
																																																		BgL_arg1801z00_1529;
																																																	{	/* Module/type.scm 135 */
																																																		obj_t
																																																			BgL_tmpz00_2516;
																																																		BgL_tmpz00_2516
																																																			=
																																																			(
																																																			(obj_t)
																																																			((BgL_objectz00_bglt) BgL_tfromz00_1249));
																																																		BgL_arg1801z00_1529
																																																			=
																																																			(BgL_objectz00_bglt)
																																																			(BgL_tmpz00_2516);
																																																	}
																																																	if (BGL_CONDEXPAND_ISA_ARCH64())
																																																		{	/* Module/type.scm 135 */
																																																			long
																																																				BgL_idxz00_1535;
																																																			BgL_idxz00_1535
																																																				=
																																																				BGL_OBJECT_INHERITANCE_NUM
																																																				(BgL_arg1801z00_1529);
																																																			BgL_test2382z00_2515
																																																				=
																																																				(VECTOR_REF
																																																				(BGl_za2inheritancesza2z00zz__objectz00,
																																																					(BgL_idxz00_1535
																																																						+
																																																						1L))
																																																				==
																																																				BgL_classz00_1527);
																																																		}
																																																	else
																																																		{	/* Module/type.scm 135 */
																																																			bool_t
																																																				BgL_res2265z00_1557;
																																																			{	/* Module/type.scm 135 */
																																																				obj_t
																																																					BgL_oclassz00_1543;
																																																				{	/* Module/type.scm 135 */
																																																					long
																																																						BgL_arg1808z00_1549;
																																																					{	/* Module/type.scm 135 */
																																																						long
																																																							BgL_arg1809z00_1550;
																																																						BgL_arg1809z00_1550
																																																							=
																																																							BGL_OBJECT_CLASS_NUM
																																																							(BgL_arg1801z00_1529);
																																																						BgL_arg1808z00_1549
																																																							=
																																																							(BgL_arg1809z00_1550
																																																							-
																																																							OBJECT_TYPE);
																																																					}
																																																					BgL_oclassz00_1543
																																																						=
																																																						VECTOR_REF
																																																						(BGl_za2classesza2z00zz__objectz00,
																																																						BgL_arg1808z00_1549);
																																																				}
																																																				{	/* Module/type.scm 135 */
																																																					bool_t
																																																						BgL__ortest_1115z00_1544;
																																																					BgL__ortest_1115z00_1544
																																																						=
																																																						(BgL_classz00_1527
																																																						==
																																																						BgL_oclassz00_1543);
																																																					if (BgL__ortest_1115z00_1544)
																																																						{	/* Module/type.scm 135 */
																																																							BgL_res2265z00_1557
																																																								=
																																																								BgL__ortest_1115z00_1544;
																																																						}
																																																					else
																																																						{	/* Module/type.scm 135 */
																																																							long
																																																								BgL_odepthz00_1545;
																																																							BgL_odepthz00_1545
																																																								=
																																																								BGL_CLASS_DEPTH
																																																								(BgL_oclassz00_1543);
																																																							if ((1L < BgL_odepthz00_1545))
																																																								{	/* Module/type.scm 135 */
																																																									obj_t
																																																										BgL_arg1797z00_1547;
																																																									BgL_arg1797z00_1547
																																																										=
																																																										BGL_CLASS_ANCESTORS_REF
																																																										(BgL_oclassz00_1543,
																																																										1L);
																																																									BgL_res2265z00_1557
																																																										=
																																																										(BgL_arg1797z00_1547
																																																										==
																																																										BgL_classz00_1527);
																																																								}
																																																							else
																																																								{	/* Module/type.scm 135 */
																																																									BgL_res2265z00_1557
																																																										=
																																																										(
																																																										(bool_t)
																																																										0);
																																																								}
																																																						}
																																																				}
																																																			}
																																																			BgL_test2382z00_2515
																																																				=
																																																				BgL_res2265z00_1557;
																																																		}
																																																}
																																															}
																																															if (BgL_test2382z00_2515)
																																																{	/* Module/type.scm 137 */
																																																	bool_t
																																																		BgL_test2386z00_2536;
																																																	{	/* Module/type.scm 137 */
																																																		obj_t
																																																			BgL_classz00_1558;
																																																		BgL_classz00_1558
																																																			=
																																																			BGl_typez00zztype_typez00;
																																																		{	/* Module/type.scm 137 */
																																																			BgL_objectz00_bglt
																																																				BgL_arg1801z00_1560;
																																																			{	/* Module/type.scm 137 */
																																																				obj_t
																																																					BgL_tmpz00_2537;
																																																				BgL_tmpz00_2537
																																																					=
																																																					(
																																																					(obj_t)
																																																					((BgL_objectz00_bglt) BgL_ttoz00_1250));
																																																				BgL_arg1801z00_1560
																																																					=
																																																					(BgL_objectz00_bglt)
																																																					(BgL_tmpz00_2537);
																																																			}
																																																			if (BGL_CONDEXPAND_ISA_ARCH64())
																																																				{	/* Module/type.scm 137 */
																																																					long
																																																						BgL_idxz00_1566;
																																																					BgL_idxz00_1566
																																																						=
																																																						BGL_OBJECT_INHERITANCE_NUM
																																																						(BgL_arg1801z00_1560);
																																																					BgL_test2386z00_2536
																																																						=
																																																						(VECTOR_REF
																																																						(BGl_za2inheritancesza2z00zz__objectz00,
																																																							(BgL_idxz00_1566
																																																								+
																																																								1L))
																																																						==
																																																						BgL_classz00_1558);
																																																				}
																																																			else
																																																				{	/* Module/type.scm 137 */
																																																					bool_t
																																																						BgL_res2266z00_1588;
																																																					{	/* Module/type.scm 137 */
																																																						obj_t
																																																							BgL_oclassz00_1574;
																																																						{	/* Module/type.scm 137 */
																																																							long
																																																								BgL_arg1808z00_1580;
																																																							{	/* Module/type.scm 137 */
																																																								long
																																																									BgL_arg1809z00_1581;
																																																								BgL_arg1809z00_1581
																																																									=
																																																									BGL_OBJECT_CLASS_NUM
																																																									(BgL_arg1801z00_1560);
																																																								BgL_arg1808z00_1580
																																																									=
																																																									(BgL_arg1809z00_1581
																																																									-
																																																									OBJECT_TYPE);
																																																							}
																																																							BgL_oclassz00_1574
																																																								=
																																																								VECTOR_REF
																																																								(BGl_za2classesza2z00zz__objectz00,
																																																								BgL_arg1808z00_1580);
																																																						}
																																																						{	/* Module/type.scm 137 */
																																																							bool_t
																																																								BgL__ortest_1115z00_1575;
																																																							BgL__ortest_1115z00_1575
																																																								=
																																																								(BgL_classz00_1558
																																																								==
																																																								BgL_oclassz00_1574);
																																																							if (BgL__ortest_1115z00_1575)
																																																								{	/* Module/type.scm 137 */
																																																									BgL_res2266z00_1588
																																																										=
																																																										BgL__ortest_1115z00_1575;
																																																								}
																																																							else
																																																								{	/* Module/type.scm 137 */
																																																									long
																																																										BgL_odepthz00_1576;
																																																									BgL_odepthz00_1576
																																																										=
																																																										BGL_CLASS_DEPTH
																																																										(BgL_oclassz00_1574);
																																																									if ((1L < BgL_odepthz00_1576))
																																																										{	/* Module/type.scm 137 */
																																																											obj_t
																																																												BgL_arg1797z00_1578;
																																																											BgL_arg1797z00_1578
																																																												=
																																																												BGL_CLASS_ANCESTORS_REF
																																																												(BgL_oclassz00_1574,
																																																												1L);
																																																											BgL_res2266z00_1588
																																																												=
																																																												(BgL_arg1797z00_1578
																																																												==
																																																												BgL_classz00_1558);
																																																										}
																																																									else
																																																										{	/* Module/type.scm 137 */
																																																											BgL_res2266z00_1588
																																																												=
																																																												(
																																																												(bool_t)
																																																												0);
																																																										}
																																																								}
																																																						}
																																																					}
																																																					BgL_test2386z00_2536
																																																						=
																																																						BgL_res2266z00_1588;
																																																				}
																																																		}
																																																	}
																																																	if (BgL_test2386z00_2536)
																																																		{	/* Module/type.scm 137 */
																																																			return
																																																				BGl_addzd2coercionz12zc0zztype_coercionz00
																																																				(BgL_tfromz00_1249,
																																																				BgL_ttoz00_1250,
																																																				BgL_checksz00_1251,
																																																				BgL_coercesz00_1252);
																																																		}
																																																	else
																																																		{	/* Module/type.scm 138 */
																																																			obj_t
																																																				BgL_list2182z00_1255;
																																																			BgL_list2182z00_1255
																																																				=
																																																				MAKE_YOUNG_PAIR
																																																				(BNIL,
																																																				BNIL);
																																																			return
																																																				BGl_userzd2errorzd2zztools_errorz00
																																																				(BGl_string2282z00zzmodule_typez00,
																																																				BGl_string2283z00zzmodule_typez00,
																																																				BgL_toz00_230,
																																																				BgL_list2182z00_1255);
																																																		}
																																																}
																																															else
																																																{	/* Module/type.scm 136 */
																																																	obj_t
																																																		BgL_list2183z00_1256;
																																																	BgL_list2183z00_1256
																																																		=
																																																		MAKE_YOUNG_PAIR
																																																		(BNIL,
																																																		BNIL);
																																																	return
																																																		BGl_userzd2errorzd2zztools_errorz00
																																																		(BGl_string2282z00zzmodule_typez00,
																																																		BGl_string2283z00zzmodule_typez00,
																																																		BgL_fromz00_229,
																																																		BgL_list2183z00_1256);
																																																}
																																														}
																																													}
																																												}
																																											}
																																										}
																																									}
																																								}
																																							else
																																								{	/* Module/type.scm 97 */
																																									return
																																										BNIL;
																																								}
																																						}
																																					}
																																				else
																																					{	/* Module/type.scm 58 */
																																						goto
																																							BgL_tagzd2373zd2_234;
																																					}
																																			}
																																		else
																																			{	/* Module/type.scm 58 */
																																				goto
																																					BgL_tagzd2373zd2_234;
																																			}
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																							}
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				if (
																					(CAR(
																							((obj_t) BgL_clausez00_28)) ==
																						CNST_TABLE_REF(4L)))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd2811zd2_310;
																						obj_t BgL_cdrzd2812zd2_311;

																						BgL_carzd2811zd2_310 =
																							CAR(
																							((obj_t) BgL_cdrzd2388zd2_238));
																						BgL_cdrzd2812zd2_311 =
																							CDR(
																							((obj_t) BgL_cdrzd2388zd2_238));
																						if (SYMBOLP(BgL_carzd2811zd2_310))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd2820zd2_313;
																								obj_t BgL_cdrzd2821zd2_314;

																								BgL_carzd2820zd2_313 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd2812zd2_311));
																								BgL_cdrzd2821zd2_314 =
																									CDR(((obj_t)
																										BgL_cdrzd2812zd2_311));
																								if (STRINGP
																									(BgL_carzd2820zd2_313))
																									{	/* Module/type.scm 58 */
																										if (PAIRP
																											(BgL_cdrzd2821zd2_314))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd2827zd2_317;
																												BgL_carzd2827zd2_317 =
																													CAR
																													(BgL_cdrzd2821zd2_314);
																												if (SYMBOLP
																													(BgL_carzd2827zd2_317))
																													{	/* Module/type.scm 58 */
																														if (NULLP(CDR
																																(BgL_cdrzd2821zd2_314)))
																															{	/* Module/type.scm 69 */
																																BgL_typez00_bglt
																																	BgL_typez00_1636;
																																BgL_typez00_1636
																																	=
																																	BGl_declarezd2typez12zc0zztype_envz00
																																	(BgL_carzd2811zd2_310,
																																	BgL_carzd2820zd2_313,
																																	BgL_carzd2827zd2_317);
																																((((BgL_typez00_bglt) COBJECT(BgL_typez00_1636))->BgL_magiczf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
																																return
																																	((obj_t)
																																	BgL_typez00_1636);
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						if (
																							(CAR(
																									((obj_t) BgL_clausez00_28)) ==
																								CNST_TABLE_REF(5L)))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd2992zd2_325;
																								obj_t BgL_cdrzd2993zd2_326;

																								BgL_carzd2992zd2_325 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd2388zd2_238));
																								BgL_cdrzd2993zd2_326 =
																									CDR(((obj_t)
																										BgL_cdrzd2388zd2_238));
																								if (SYMBOLP
																									(BgL_carzd2992zd2_325))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd21002zd2_328;
																										obj_t BgL_cdrzd21003zd2_329;

																										BgL_carzd21002zd2_328 =
																											CAR(
																											((obj_t)
																												BgL_cdrzd2993zd2_326));
																										BgL_cdrzd21003zd2_329 =
																											CDR(((obj_t)
																												BgL_cdrzd2993zd2_326));
																										if (STRINGP
																											(BgL_carzd21002zd2_328))
																											{	/* Module/type.scm 58 */
																												if (PAIRP
																													(BgL_cdrzd21003zd2_329))
																													{	/* Module/type.scm 58 */
																														obj_t
																															BgL_carzd21009zd2_332;
																														BgL_carzd21009zd2_332
																															=
																															CAR
																															(BgL_cdrzd21003zd2_329);
																														if (PAIRP
																															(BgL_carzd21009zd2_332))
																															{	/* Module/type.scm 58 */
																																if (NULLP(CDR
																																		(BgL_cdrzd21003zd2_329)))
																																	{
																																		obj_t
																																			BgL_parentz00_2619;
																																		obj_t
																																			BgL_namez00_2618;
																																		obj_t
																																			BgL_childz00_2617;
																																		BgL_childz00_2617
																																			=
																																			BgL_carzd2992zd2_325;
																																		BgL_namez00_2618
																																			=
																																			BgL_carzd21002zd2_328;
																																		BgL_parentz00_2619
																																			=
																																			BgL_carzd21009zd2_332;
																																		BgL_parentz00_224
																																			=
																																			BgL_parentz00_2619;
																																		BgL_namez00_223
																																			=
																																			BgL_namez00_2618;
																																		BgL_childz00_222
																																			=
																																			BgL_childz00_2617;
																																		goto
																																			BgL_tagzd2370zd2_225;
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								obj_t BgL_cdrzd21103zd2_337;

																								BgL_cdrzd21103zd2_337 =
																									CDR(
																									((obj_t) BgL_clausez00_28));
																								if (
																									(CAR(
																											((obj_t)
																												BgL_clausez00_28)) ==
																										CNST_TABLE_REF(7L)))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd21107zd2_340;
																										obj_t BgL_cdrzd21108zd2_341;

																										BgL_carzd21107zd2_340 =
																											CAR(
																											((obj_t)
																												BgL_cdrzd21103zd2_337));
																										BgL_cdrzd21108zd2_341 =
																											CDR(((obj_t)
																												BgL_cdrzd21103zd2_337));
																										if (SYMBOLP
																											(BgL_carzd21107zd2_340))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd21115zd2_343;
																												BgL_carzd21115zd2_343 =
																													CAR(((obj_t)
																														BgL_cdrzd21108zd2_341));
																												if (PAIRP
																													(BgL_carzd21115zd2_343))
																													{	/* Module/type.scm 58 */
																														obj_t
																															BgL_carzd21118zd2_345;
																														BgL_carzd21118zd2_345
																															=
																															CAR
																															(BgL_carzd21115zd2_343);
																														if (SYMBOLP
																															(BgL_carzd21118zd2_345))
																															{	/* Module/type.scm 58 */
																																if (NULLP(CDR
																																		(BgL_carzd21115zd2_343)))
																																	{	/* Module/type.scm 58 */
																																		if (NULLP
																																			(CDR(((obj_t) BgL_cdrzd21108zd2_341))))
																																			{	/* Module/type.scm 58 */
																																				return
																																					BGl_delayzd2tvectorzd2typez12z12zzmodule_typez00
																																					(BgL_carzd21107zd2_340,
																																					BgL_carzd21118zd2_345,
																																					BgL_clausez00_28,
																																					BgL_importz00_27);
																																			}
																																		else
																																			{	/* Module/type.scm 58 */
																																				goto
																																					BgL_tagzd2373zd2_234;
																																			}
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										if (
																											(CAR(
																													((obj_t)
																														BgL_clausez00_28))
																												== CNST_TABLE_REF(6L)))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd21181zd2_356;
																												obj_t
																													BgL_cdrzd21182zd2_357;
																												BgL_carzd21181zd2_356 =
																													CAR(((obj_t)
																														BgL_cdrzd21103zd2_337));
																												BgL_cdrzd21182zd2_357 =
																													CDR(((obj_t)
																														BgL_cdrzd21103zd2_337));
																												if (SYMBOLP
																													(BgL_carzd21181zd2_356))
																													{	/* Module/type.scm 58 */
																														obj_t
																															BgL_carzd21192zd2_359;
																														obj_t
																															BgL_cdrzd21193zd2_360;
																														BgL_carzd21192zd2_359
																															=
																															CAR(((obj_t)
																																BgL_cdrzd21182zd2_357));
																														BgL_cdrzd21193zd2_360
																															=
																															CDR(((obj_t)
																																BgL_cdrzd21182zd2_357));
																														if (SYMBOLP
																															(BgL_carzd21192zd2_359))
																															{	/* Module/type.scm 58 */
																																if (PAIRP
																																	(BgL_cdrzd21193zd2_360))
																																	{	/* Module/type.scm 58 */
																																		obj_t
																																			BgL_cdrzd21202zd2_363;
																																		BgL_cdrzd21202zd2_363
																																			=
																																			CDR
																																			(BgL_cdrzd21193zd2_360);
																																		if (PAIRP
																																			(BgL_cdrzd21202zd2_363))
																																			{	/* Module/type.scm 58 */
																																				if (NULLP(CDR(BgL_cdrzd21202zd2_363)))
																																					{
																																						obj_t
																																							BgL_coercez00_2677;
																																						obj_t
																																							BgL_checkz00_2675;
																																						obj_t
																																							BgL_toz00_2674;
																																						obj_t
																																							BgL_fromz00_2673;
																																						BgL_fromz00_2673
																																							=
																																							BgL_carzd21181zd2_356;
																																						BgL_toz00_2674
																																							=
																																							BgL_carzd21192zd2_359;
																																						BgL_checkz00_2675
																																							=
																																							CAR
																																							(BgL_cdrzd21193zd2_360);
																																						BgL_coercez00_2677
																																							=
																																							CAR
																																							(BgL_cdrzd21202zd2_363);
																																						BgL_coercez00_232
																																							=
																																							BgL_coercez00_2677;
																																						BgL_checkz00_231
																																							=
																																							BgL_checkz00_2675;
																																						BgL_toz00_230
																																							=
																																							BgL_toz00_2674;
																																						BgL_fromz00_229
																																							=
																																							BgL_fromz00_2673;
																																						goto
																																							BgL_tagzd2372zd2_233;
																																					}
																																				else
																																					{	/* Module/type.scm 58 */
																																						goto
																																							BgL_tagzd2373zd2_234;
																																					}
																																			}
																																		else
																																			{	/* Module/type.scm 58 */
																																				goto
																																					BgL_tagzd2373zd2_234;
																																			}
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																							}
																					}
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		goto BgL_tagzd2373zd2_234;
																	}
															}
														else
															{	/* Module/type.scm 58 */
																if (
																	(CAR(
																			((obj_t) BgL_clausez00_28)) ==
																		CNST_TABLE_REF(4L)))
																	{	/* Module/type.scm 58 */
																		obj_t BgL_carzd21273zd2_377;
																		obj_t BgL_cdrzd21274zd2_378;

																		BgL_carzd21273zd2_377 =
																			CAR(((obj_t) BgL_cdrzd2388zd2_238));
																		BgL_cdrzd21274zd2_378 =
																			CDR(((obj_t) BgL_cdrzd2388zd2_238));
																		if (SYMBOLP(BgL_carzd21273zd2_377))
																			{	/* Module/type.scm 58 */
																				if (PAIRP(BgL_cdrzd21274zd2_378))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd21281zd2_381;
																						obj_t BgL_cdrzd21282zd2_382;

																						BgL_carzd21281zd2_381 =
																							CAR(BgL_cdrzd21274zd2_378);
																						BgL_cdrzd21282zd2_382 =
																							CDR(BgL_cdrzd21274zd2_378);
																						if (STRINGP(BgL_carzd21281zd2_381))
																							{	/* Module/type.scm 58 */
																								if (PAIRP
																									(BgL_cdrzd21282zd2_382))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd21286zd2_385;

																										BgL_carzd21286zd2_385 =
																											CAR
																											(BgL_cdrzd21282zd2_382);
																										if (SYMBOLP
																											(BgL_carzd21286zd2_385))
																											{	/* Module/type.scm 58 */
																												if (NULLP(CDR
																														(BgL_cdrzd21282zd2_382)))
																													{	/* Module/type.scm 69 */
																														BgL_typez00_bglt
																															BgL_typez00_1673;
																														BgL_typez00_1673 =
																															BGl_declarezd2typez12zc0zztype_envz00
																															(BgL_carzd21273zd2_377,
																															BgL_carzd21281zd2_381,
																															BgL_carzd21286zd2_385);
																														((((BgL_typez00_bglt) COBJECT(BgL_typez00_1673))->BgL_magiczf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
																														return
																															((obj_t)
																															BgL_typez00_1673);
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				goto BgL_tagzd2373zd2_234;
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		if (
																			(CAR(
																					((obj_t) BgL_clausez00_28)) ==
																				CNST_TABLE_REF(5L)))
																			{	/* Module/type.scm 58 */
																				obj_t BgL_carzd21477zd2_393;
																				obj_t BgL_cdrzd21478zd2_394;

																				BgL_carzd21477zd2_393 =
																					CAR(((obj_t) BgL_cdrzd2388zd2_238));
																				BgL_cdrzd21478zd2_394 =
																					CDR(((obj_t) BgL_cdrzd2388zd2_238));
																				if (SYMBOLP(BgL_carzd21477zd2_393))
																					{	/* Module/type.scm 58 */
																						if (PAIRP(BgL_cdrzd21478zd2_394))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd21486zd2_397;
																								obj_t BgL_cdrzd21487zd2_398;

																								BgL_carzd21486zd2_397 =
																									CAR(BgL_cdrzd21478zd2_394);
																								BgL_cdrzd21487zd2_398 =
																									CDR(BgL_cdrzd21478zd2_394);
																								if (STRINGP
																									(BgL_carzd21486zd2_397))
																									{	/* Module/type.scm 58 */
																										if (PAIRP
																											(BgL_cdrzd21487zd2_398))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd21491zd2_401;
																												BgL_carzd21491zd2_401 =
																													CAR
																													(BgL_cdrzd21487zd2_398);
																												if (PAIRP
																													(BgL_carzd21491zd2_401))
																													{	/* Module/type.scm 58 */
																														if (NULLP(CDR
																																(BgL_cdrzd21487zd2_398)))
																															{
																																obj_t
																																	BgL_parentz00_2734;
																																obj_t
																																	BgL_namez00_2733;
																																obj_t
																																	BgL_childz00_2732;
																																BgL_childz00_2732
																																	=
																																	BgL_carzd21477zd2_393;
																																BgL_namez00_2733
																																	=
																																	BgL_carzd21486zd2_397;
																																BgL_parentz00_2734
																																	=
																																	BgL_carzd21491zd2_401;
																																BgL_parentz00_224
																																	=
																																	BgL_parentz00_2734;
																																BgL_namez00_223
																																	=
																																	BgL_namez00_2733;
																																BgL_childz00_222
																																	=
																																	BgL_childz00_2732;
																																goto
																																	BgL_tagzd2370zd2_225;
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				obj_t BgL_cdrzd21601zd2_406;

																				BgL_cdrzd21601zd2_406 =
																					CDR(((obj_t) BgL_clausez00_28));
																				if (
																					(CAR(
																							((obj_t) BgL_clausez00_28)) ==
																						CNST_TABLE_REF(7L)))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd21605zd2_409;
																						obj_t BgL_cdrzd21606zd2_410;

																						BgL_carzd21605zd2_409 =
																							CAR(
																							((obj_t) BgL_cdrzd21601zd2_406));
																						BgL_cdrzd21606zd2_410 =
																							CDR(
																							((obj_t) BgL_cdrzd21601zd2_406));
																						if (SYMBOLP(BgL_carzd21605zd2_409))
																							{	/* Module/type.scm 58 */
																								if (PAIRP
																									(BgL_cdrzd21606zd2_410))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd21613zd2_413;

																										BgL_carzd21613zd2_413 =
																											CAR
																											(BgL_cdrzd21606zd2_410);
																										if (PAIRP
																											(BgL_carzd21613zd2_413))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd21616zd2_415;
																												BgL_carzd21616zd2_415 =
																													CAR
																													(BgL_carzd21613zd2_413);
																												if (SYMBOLP
																													(BgL_carzd21616zd2_415))
																													{	/* Module/type.scm 58 */
																														if (NULLP(CDR
																																(BgL_carzd21613zd2_413)))
																															{	/* Module/type.scm 58 */
																																if (NULLP(CDR
																																		(BgL_cdrzd21606zd2_410)))
																																	{	/* Module/type.scm 58 */
																																		return
																																			BGl_delayzd2tvectorzd2typez12z12zzmodule_typez00
																																			(BgL_carzd21605zd2_409,
																																			BgL_carzd21616zd2_415,
																																			BgL_clausez00_28,
																																			BgL_importz00_27);
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						if (
																							(CAR(
																									((obj_t) BgL_clausez00_28)) ==
																								CNST_TABLE_REF(6L)))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd21685zd2_426;
																								obj_t BgL_cdrzd21686zd2_427;

																								BgL_carzd21685zd2_426 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd21601zd2_406));
																								BgL_cdrzd21686zd2_427 =
																									CDR(((obj_t)
																										BgL_cdrzd21601zd2_406));
																								if (SYMBOLP
																									(BgL_carzd21685zd2_426))
																									{	/* Module/type.scm 58 */
																										if (PAIRP
																											(BgL_cdrzd21686zd2_427))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd21695zd2_430;
																												obj_t
																													BgL_cdrzd21696zd2_431;
																												BgL_carzd21695zd2_430 =
																													CAR
																													(BgL_cdrzd21686zd2_427);
																												BgL_cdrzd21696zd2_431 =
																													CDR
																													(BgL_cdrzd21686zd2_427);
																												if (SYMBOLP
																													(BgL_carzd21695zd2_430))
																													{	/* Module/type.scm 58 */
																														if (PAIRP
																															(BgL_cdrzd21696zd2_431))
																															{	/* Module/type.scm 58 */
																																obj_t
																																	BgL_cdrzd21703zd2_434;
																																BgL_cdrzd21703zd2_434
																																	=
																																	CDR
																																	(BgL_cdrzd21696zd2_431);
																																if (PAIRP
																																	(BgL_cdrzd21703zd2_434))
																																	{	/* Module/type.scm 58 */
																																		if (NULLP
																																			(CDR
																																				(BgL_cdrzd21703zd2_434)))
																																			{
																																				obj_t
																																					BgL_coercez00_2792;
																																				obj_t
																																					BgL_checkz00_2790;
																																				obj_t
																																					BgL_toz00_2789;
																																				obj_t
																																					BgL_fromz00_2788;
																																				BgL_fromz00_2788
																																					=
																																					BgL_carzd21685zd2_426;
																																				BgL_toz00_2789
																																					=
																																					BgL_carzd21695zd2_430;
																																				BgL_checkz00_2790
																																					=
																																					CAR
																																					(BgL_cdrzd21696zd2_431);
																																				BgL_coercez00_2792
																																					=
																																					CAR
																																					(BgL_cdrzd21703zd2_434);
																																				BgL_coercez00_232
																																					=
																																					BgL_coercez00_2792;
																																				BgL_checkz00_231
																																					=
																																					BgL_checkz00_2790;
																																				BgL_toz00_230
																																					=
																																					BgL_toz00_2789;
																																				BgL_fromz00_229
																																					=
																																					BgL_fromz00_2788;
																																				goto
																																					BgL_tagzd2372zd2_233;
																																			}
																																		else
																																			{	/* Module/type.scm 58 */
																																				goto
																																					BgL_tagzd2373zd2_234;
																																			}
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																			}
																	}
															}
													}
											}
										else
											{	/* Module/type.scm 58 */
												obj_t BgL_carzd22189zd2_520;
												obj_t BgL_cdrzd22190zd2_521;

												BgL_carzd22189zd2_520 =
													CAR(((obj_t) BgL_cdrzd2388zd2_238));
												BgL_cdrzd22190zd2_521 =
													CDR(((obj_t) BgL_cdrzd2388zd2_238));
												if (STRINGP(BgL_carzd22189zd2_520))
													{	/* Module/type.scm 58 */
														if (PAIRP(BgL_cdrzd22190zd2_521))
															{	/* Module/type.scm 58 */
																obj_t BgL_carzd22196zd2_524;

																BgL_carzd22196zd2_524 =
																	CAR(BgL_cdrzd22190zd2_521);
																if (SYMBOLP(BgL_carzd22196zd2_524))
																	{	/* Module/type.scm 58 */
																		if (NULLP(CDR(BgL_cdrzd22190zd2_521)))
																			{	/* Module/type.scm 58 */
																				return
																					((obj_t)
																					BGl_declarezd2typez12zc0zztype_envz00
																					(BgL_carzd2387zd2_237,
																						BgL_carzd22189zd2_520,
																						BgL_carzd22196zd2_524));
																			}
																		else
																			{	/* Module/type.scm 58 */
																				if (
																					(CAR(
																							((obj_t) BgL_clausez00_28)) ==
																						CNST_TABLE_REF(4L)))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd22222zd2_531;
																						obj_t BgL_cdrzd22223zd2_532;

																						BgL_carzd22222zd2_531 =
																							CAR(
																							((obj_t) BgL_cdrzd2388zd2_238));
																						BgL_cdrzd22223zd2_532 =
																							CDR(
																							((obj_t) BgL_cdrzd2388zd2_238));
																						if (SYMBOLP(BgL_carzd22222zd2_531))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd22231zd2_534;
																								obj_t BgL_cdrzd22232zd2_535;

																								BgL_carzd22231zd2_534 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd22223zd2_532));
																								BgL_cdrzd22232zd2_535 =
																									CDR(((obj_t)
																										BgL_cdrzd22223zd2_532));
																								if (STRINGP
																									(BgL_carzd22231zd2_534))
																									{	/* Module/type.scm 58 */
																										if (PAIRP
																											(BgL_cdrzd22232zd2_535))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd22238zd2_538;
																												BgL_carzd22238zd2_538 =
																													CAR
																													(BgL_cdrzd22232zd2_535);
																												if (SYMBOLP
																													(BgL_carzd22238zd2_538))
																													{	/* Module/type.scm 58 */
																														if (NULLP(CDR
																																(BgL_cdrzd22232zd2_535)))
																															{	/* Module/type.scm 69 */
																																BgL_typez00_bglt
																																	BgL_typez00_1753;
																																BgL_typez00_1753
																																	=
																																	BGl_declarezd2typez12zc0zztype_envz00
																																	(BgL_carzd22222zd2_531,
																																	BgL_carzd22231zd2_534,
																																	BgL_carzd22238zd2_538);
																																((((BgL_typez00_bglt) COBJECT(BgL_typez00_1753))->BgL_magiczf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
																																return
																																	((obj_t)
																																	BgL_typez00_1753);
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						if (
																							(CAR(
																									((obj_t) BgL_clausez00_28)) ==
																								CNST_TABLE_REF(5L)))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd22403zd2_546;
																								obj_t BgL_cdrzd22404zd2_547;

																								BgL_carzd22403zd2_546 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd2388zd2_238));
																								BgL_cdrzd22404zd2_547 =
																									CDR(((obj_t)
																										BgL_cdrzd2388zd2_238));
																								if (SYMBOLP
																									(BgL_carzd22403zd2_546))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd22413zd2_549;
																										obj_t BgL_cdrzd22414zd2_550;

																										BgL_carzd22413zd2_549 =
																											CAR(
																											((obj_t)
																												BgL_cdrzd22404zd2_547));
																										BgL_cdrzd22414zd2_550 =
																											CDR(((obj_t)
																												BgL_cdrzd22404zd2_547));
																										if (STRINGP
																											(BgL_carzd22413zd2_549))
																											{	/* Module/type.scm 58 */
																												if (PAIRP
																													(BgL_cdrzd22414zd2_550))
																													{	/* Module/type.scm 58 */
																														obj_t
																															BgL_carzd22420zd2_553;
																														BgL_carzd22420zd2_553
																															=
																															CAR
																															(BgL_cdrzd22414zd2_550);
																														if (PAIRP
																															(BgL_carzd22420zd2_553))
																															{	/* Module/type.scm 58 */
																																if (NULLP(CDR
																																		(BgL_cdrzd22414zd2_550)))
																																	{
																																		obj_t
																																			BgL_parentz00_2865;
																																		obj_t
																																			BgL_namez00_2864;
																																		obj_t
																																			BgL_childz00_2863;
																																		BgL_childz00_2863
																																			=
																																			BgL_carzd22403zd2_546;
																																		BgL_namez00_2864
																																			=
																																			BgL_carzd22413zd2_549;
																																		BgL_parentz00_2865
																																			=
																																			BgL_carzd22420zd2_553;
																																		BgL_parentz00_224
																																			=
																																			BgL_parentz00_2865;
																																		BgL_namez00_223
																																			=
																																			BgL_namez00_2864;
																																		BgL_childz00_222
																																			=
																																			BgL_childz00_2863;
																																		goto
																																			BgL_tagzd2370zd2_225;
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								obj_t BgL_cdrzd22524zd2_558;

																								BgL_cdrzd22524zd2_558 =
																									CDR(
																									((obj_t) BgL_clausez00_28));
																								if (
																									(CAR(
																											((obj_t)
																												BgL_clausez00_28)) ==
																										CNST_TABLE_REF(6L)))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd22531zd2_561;
																										obj_t BgL_cdrzd22532zd2_562;

																										BgL_carzd22531zd2_561 =
																											CAR(
																											((obj_t)
																												BgL_cdrzd22524zd2_558));
																										BgL_cdrzd22532zd2_562 =
																											CDR(((obj_t)
																												BgL_cdrzd22524zd2_558));
																										if (SYMBOLP
																											(BgL_carzd22531zd2_561))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd22542zd2_564;
																												obj_t
																													BgL_cdrzd22543zd2_565;
																												BgL_carzd22542zd2_564 =
																													CAR(((obj_t)
																														BgL_cdrzd22532zd2_562));
																												BgL_cdrzd22543zd2_565 =
																													CDR(((obj_t)
																														BgL_cdrzd22532zd2_562));
																												if (SYMBOLP
																													(BgL_carzd22542zd2_564))
																													{	/* Module/type.scm 58 */
																														if (PAIRP
																															(BgL_cdrzd22543zd2_565))
																															{	/* Module/type.scm 58 */
																																obj_t
																																	BgL_cdrzd22552zd2_568;
																																BgL_cdrzd22552zd2_568
																																	=
																																	CDR
																																	(BgL_cdrzd22543zd2_565);
																																if (PAIRP
																																	(BgL_cdrzd22552zd2_568))
																																	{	/* Module/type.scm 58 */
																																		if (NULLP
																																			(CDR
																																				(BgL_cdrzd22552zd2_568)))
																																			{
																																				obj_t
																																					BgL_coercez00_2897;
																																				obj_t
																																					BgL_checkz00_2895;
																																				obj_t
																																					BgL_toz00_2894;
																																				obj_t
																																					BgL_fromz00_2893;
																																				BgL_fromz00_2893
																																					=
																																					BgL_carzd22531zd2_561;
																																				BgL_toz00_2894
																																					=
																																					BgL_carzd22542zd2_564;
																																				BgL_checkz00_2895
																																					=
																																					CAR
																																					(BgL_cdrzd22543zd2_565);
																																				BgL_coercez00_2897
																																					=
																																					CAR
																																					(BgL_cdrzd22552zd2_568);
																																				BgL_coercez00_232
																																					=
																																					BgL_coercez00_2897;
																																				BgL_checkz00_231
																																					=
																																					BgL_checkz00_2895;
																																				BgL_toz00_230
																																					=
																																					BgL_toz00_2894;
																																				BgL_fromz00_229
																																					=
																																					BgL_fromz00_2893;
																																				goto
																																					BgL_tagzd2372zd2_233;
																																			}
																																		else
																																			{	/* Module/type.scm 58 */
																																				goto
																																					BgL_tagzd2373zd2_234;
																																			}
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																					}
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		if (
																			(CAR(
																					((obj_t) BgL_clausez00_28)) ==
																				CNST_TABLE_REF(4L)))
																			{	/* Module/type.scm 58 */
																				obj_t BgL_carzd22580zd2_582;
																				obj_t BgL_cdrzd22581zd2_583;

																				BgL_carzd22580zd2_582 =
																					CAR(((obj_t) BgL_cdrzd2388zd2_238));
																				BgL_cdrzd22581zd2_583 =
																					CDR(((obj_t) BgL_cdrzd2388zd2_238));
																				if (SYMBOLP(BgL_carzd22580zd2_582))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd22589zd2_585;
																						obj_t BgL_cdrzd22590zd2_586;

																						BgL_carzd22589zd2_585 =
																							CAR(
																							((obj_t) BgL_cdrzd22581zd2_583));
																						BgL_cdrzd22590zd2_586 =
																							CDR(
																							((obj_t) BgL_cdrzd22581zd2_583));
																						if (STRINGP(BgL_carzd22589zd2_585))
																							{	/* Module/type.scm 58 */
																								if (PAIRP
																									(BgL_cdrzd22590zd2_586))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd22596zd2_589;

																										BgL_carzd22596zd2_589 =
																											CAR
																											(BgL_cdrzd22590zd2_586);
																										if (SYMBOLP
																											(BgL_carzd22596zd2_589))
																											{	/* Module/type.scm 58 */
																												if (NULLP(CDR
																														(BgL_cdrzd22590zd2_586)))
																													{	/* Module/type.scm 69 */
																														BgL_typez00_bglt
																															BgL_typez00_1782;
																														BgL_typez00_1782 =
																															BGl_declarezd2typez12zc0zztype_envz00
																															(BgL_carzd22580zd2_582,
																															BgL_carzd22589zd2_585,
																															BgL_carzd22596zd2_589);
																														((((BgL_typez00_bglt) COBJECT(BgL_typez00_1782))->BgL_magiczf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
																														return
																															((obj_t)
																															BgL_typez00_1782);
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				if (
																					(CAR(
																							((obj_t) BgL_clausez00_28)) ==
																						CNST_TABLE_REF(5L)))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd22761zd2_597;
																						obj_t BgL_cdrzd22762zd2_598;

																						BgL_carzd22761zd2_597 =
																							CAR(
																							((obj_t) BgL_cdrzd2388zd2_238));
																						BgL_cdrzd22762zd2_598 =
																							CDR(
																							((obj_t) BgL_cdrzd2388zd2_238));
																						if (SYMBOLP(BgL_carzd22761zd2_597))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd22771zd2_600;
																								obj_t BgL_cdrzd22772zd2_601;

																								BgL_carzd22771zd2_600 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd22762zd2_598));
																								BgL_cdrzd22772zd2_601 =
																									CDR(((obj_t)
																										BgL_cdrzd22762zd2_598));
																								if (STRINGP
																									(BgL_carzd22771zd2_600))
																									{	/* Module/type.scm 58 */
																										if (PAIRP
																											(BgL_cdrzd22772zd2_601))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd22778zd2_604;
																												BgL_carzd22778zd2_604 =
																													CAR
																													(BgL_cdrzd22772zd2_601);
																												if (PAIRP
																													(BgL_carzd22778zd2_604))
																													{	/* Module/type.scm 58 */
																														if (NULLP(CDR
																																(BgL_cdrzd22772zd2_601)))
																															{
																																obj_t
																																	BgL_parentz00_2954;
																																obj_t
																																	BgL_namez00_2953;
																																obj_t
																																	BgL_childz00_2952;
																																BgL_childz00_2952
																																	=
																																	BgL_carzd22761zd2_597;
																																BgL_namez00_2953
																																	=
																																	BgL_carzd22771zd2_600;
																																BgL_parentz00_2954
																																	=
																																	BgL_carzd22778zd2_604;
																																BgL_parentz00_224
																																	=
																																	BgL_parentz00_2954;
																																BgL_namez00_223
																																	=
																																	BgL_namez00_2953;
																																BgL_childz00_222
																																	=
																																	BgL_childz00_2952;
																																goto
																																	BgL_tagzd2370zd2_225;
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						obj_t BgL_cdrzd22872zd2_609;

																						BgL_cdrzd22872zd2_609 =
																							CDR(((obj_t) BgL_clausez00_28));
																						if (
																							(CAR(
																									((obj_t) BgL_clausez00_28)) ==
																								CNST_TABLE_REF(7L)))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd22876zd2_612;
																								obj_t BgL_cdrzd22877zd2_613;

																								BgL_carzd22876zd2_612 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd22872zd2_609));
																								BgL_cdrzd22877zd2_613 =
																									CDR(((obj_t)
																										BgL_cdrzd22872zd2_609));
																								if (SYMBOLP
																									(BgL_carzd22876zd2_612))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd22884zd2_615;

																										BgL_carzd22884zd2_615 =
																											CAR(
																											((obj_t)
																												BgL_cdrzd22877zd2_613));
																										if (PAIRP
																											(BgL_carzd22884zd2_615))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd22887zd2_617;
																												BgL_carzd22887zd2_617 =
																													CAR
																													(BgL_carzd22884zd2_615);
																												if (SYMBOLP
																													(BgL_carzd22887zd2_617))
																													{	/* Module/type.scm 58 */
																														if (NULLP(CDR
																																(BgL_carzd22884zd2_615)))
																															{	/* Module/type.scm 58 */
																																if (NULLP(CDR(
																																			((obj_t)
																																				BgL_cdrzd22877zd2_613))))
																																	{	/* Module/type.scm 58 */
																																		return
																																			BGl_delayzd2tvectorzd2typez12z12zzmodule_typez00
																																			(BgL_carzd22876zd2_612,
																																			BgL_carzd22887zd2_617,
																																			BgL_clausez00_28,
																																			BgL_importz00_27);
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								if (
																									(CAR(
																											((obj_t)
																												BgL_clausez00_28)) ==
																										CNST_TABLE_REF(6L)))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd22950zd2_628;
																										obj_t BgL_cdrzd22951zd2_629;

																										BgL_carzd22950zd2_628 =
																											CAR(
																											((obj_t)
																												BgL_cdrzd22872zd2_609));
																										BgL_cdrzd22951zd2_629 =
																											CDR(((obj_t)
																												BgL_cdrzd22872zd2_609));
																										if (SYMBOLP
																											(BgL_carzd22950zd2_628))
																											{	/* Module/type.scm 58 */
																												obj_t
																													BgL_carzd22961zd2_631;
																												obj_t
																													BgL_cdrzd22962zd2_632;
																												BgL_carzd22961zd2_631 =
																													CAR(((obj_t)
																														BgL_cdrzd22951zd2_629));
																												BgL_cdrzd22962zd2_632 =
																													CDR(((obj_t)
																														BgL_cdrzd22951zd2_629));
																												if (SYMBOLP
																													(BgL_carzd22961zd2_631))
																													{	/* Module/type.scm 58 */
																														if (PAIRP
																															(BgL_cdrzd22962zd2_632))
																															{	/* Module/type.scm 58 */
																																obj_t
																																	BgL_cdrzd22971zd2_635;
																																BgL_cdrzd22971zd2_635
																																	=
																																	CDR
																																	(BgL_cdrzd22962zd2_632);
																																if (PAIRP
																																	(BgL_cdrzd22971zd2_635))
																																	{	/* Module/type.scm 58 */
																																		if (NULLP
																																			(CDR
																																				(BgL_cdrzd22971zd2_635)))
																																			{
																																				obj_t
																																					BgL_coercez00_3012;
																																				obj_t
																																					BgL_checkz00_3010;
																																				obj_t
																																					BgL_toz00_3009;
																																				obj_t
																																					BgL_fromz00_3008;
																																				BgL_fromz00_3008
																																					=
																																					BgL_carzd22950zd2_628;
																																				BgL_toz00_3009
																																					=
																																					BgL_carzd22961zd2_631;
																																				BgL_checkz00_3010
																																					=
																																					CAR
																																					(BgL_cdrzd22962zd2_632);
																																				BgL_coercez00_3012
																																					=
																																					CAR
																																					(BgL_cdrzd22971zd2_635);
																																				BgL_coercez00_232
																																					=
																																					BgL_coercez00_3012;
																																				BgL_checkz00_231
																																					=
																																					BgL_checkz00_3010;
																																				BgL_toz00_230
																																					=
																																					BgL_toz00_3009;
																																				BgL_fromz00_229
																																					=
																																					BgL_fromz00_3008;
																																				goto
																																					BgL_tagzd2372zd2_233;
																																			}
																																		else
																																			{	/* Module/type.scm 58 */
																																				goto
																																					BgL_tagzd2373zd2_234;
																																			}
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																					}
																			}
																	}
															}
														else
															{	/* Module/type.scm 58 */
																goto BgL_tagzd2373zd2_234;
															}
													}
												else
													{	/* Module/type.scm 58 */
														if (
															(CAR(
																	((obj_t) BgL_clausez00_28)) ==
																CNST_TABLE_REF(4L)))
															{	/* Module/type.scm 58 */
																obj_t BgL_carzd23042zd2_649;
																obj_t BgL_cdrzd23043zd2_650;

																BgL_carzd23042zd2_649 =
																	CAR(((obj_t) BgL_cdrzd2388zd2_238));
																BgL_cdrzd23043zd2_650 =
																	CDR(((obj_t) BgL_cdrzd2388zd2_238));
																if (SYMBOLP(BgL_carzd23042zd2_649))
																	{	/* Module/type.scm 58 */
																		if (PAIRP(BgL_cdrzd23043zd2_650))
																			{	/* Module/type.scm 58 */
																				obj_t BgL_carzd23050zd2_653;
																				obj_t BgL_cdrzd23051zd2_654;

																				BgL_carzd23050zd2_653 =
																					CAR(BgL_cdrzd23043zd2_650);
																				BgL_cdrzd23051zd2_654 =
																					CDR(BgL_cdrzd23043zd2_650);
																				if (STRINGP(BgL_carzd23050zd2_653))
																					{	/* Module/type.scm 58 */
																						if (PAIRP(BgL_cdrzd23051zd2_654))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd23055zd2_657;

																								BgL_carzd23055zd2_657 =
																									CAR(BgL_cdrzd23051zd2_654);
																								if (SYMBOLP
																									(BgL_carzd23055zd2_657))
																									{	/* Module/type.scm 58 */
																										if (NULLP(CDR
																												(BgL_cdrzd23051zd2_654)))
																											{	/* Module/type.scm 69 */
																												BgL_typez00_bglt
																													BgL_typez00_1819;
																												BgL_typez00_1819 =
																													BGl_declarezd2typez12zc0zztype_envz00
																													(BgL_carzd23042zd2_649,
																													BgL_carzd23050zd2_653,
																													BgL_carzd23055zd2_657);
																												((((BgL_typez00_bglt)
																															COBJECT
																															(BgL_typez00_1819))->
																														BgL_magiczf3zf3) =
																													((bool_t) ((bool_t)
																															1)), BUNSPEC);
																												return ((obj_t)
																													BgL_typez00_1819);
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				goto BgL_tagzd2373zd2_234;
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		goto BgL_tagzd2373zd2_234;
																	}
															}
														else
															{	/* Module/type.scm 58 */
																if (
																	(CAR(
																			((obj_t) BgL_clausez00_28)) ==
																		CNST_TABLE_REF(5L)))
																	{	/* Module/type.scm 58 */
																		obj_t BgL_carzd23246zd2_665;
																		obj_t BgL_cdrzd23247zd2_666;

																		BgL_carzd23246zd2_665 =
																			CAR(((obj_t) BgL_cdrzd2388zd2_238));
																		BgL_cdrzd23247zd2_666 =
																			CDR(((obj_t) BgL_cdrzd2388zd2_238));
																		if (SYMBOLP(BgL_carzd23246zd2_665))
																			{	/* Module/type.scm 58 */
																				if (PAIRP(BgL_cdrzd23247zd2_666))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd23255zd2_669;
																						obj_t BgL_cdrzd23256zd2_670;

																						BgL_carzd23255zd2_669 =
																							CAR(BgL_cdrzd23247zd2_666);
																						BgL_cdrzd23256zd2_670 =
																							CDR(BgL_cdrzd23247zd2_666);
																						if (STRINGP(BgL_carzd23255zd2_669))
																							{	/* Module/type.scm 58 */
																								if (PAIRP
																									(BgL_cdrzd23256zd2_670))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd23260zd2_673;

																										BgL_carzd23260zd2_673 =
																											CAR
																											(BgL_cdrzd23256zd2_670);
																										if (PAIRP
																											(BgL_carzd23260zd2_673))
																											{	/* Module/type.scm 58 */
																												if (NULLP(CDR
																														(BgL_cdrzd23256zd2_670)))
																													{
																														obj_t
																															BgL_parentz00_3069;
																														obj_t
																															BgL_namez00_3068;
																														obj_t
																															BgL_childz00_3067;
																														BgL_childz00_3067 =
																															BgL_carzd23246zd2_665;
																														BgL_namez00_3068 =
																															BgL_carzd23255zd2_669;
																														BgL_parentz00_3069 =
																															BgL_carzd23260zd2_673;
																														BgL_parentz00_224 =
																															BgL_parentz00_3069;
																														BgL_namez00_223 =
																															BgL_namez00_3068;
																														BgL_childz00_222 =
																															BgL_childz00_3067;
																														goto
																															BgL_tagzd2370zd2_225;
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				goto BgL_tagzd2373zd2_234;
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		obj_t BgL_cdrzd23370zd2_678;

																		BgL_cdrzd23370zd2_678 =
																			CDR(((obj_t) BgL_clausez00_28));
																		if (
																			(CAR(
																					((obj_t) BgL_clausez00_28)) ==
																				CNST_TABLE_REF(7L)))
																			{	/* Module/type.scm 58 */
																				obj_t BgL_carzd23374zd2_681;
																				obj_t BgL_cdrzd23375zd2_682;

																				BgL_carzd23374zd2_681 =
																					CAR(((obj_t) BgL_cdrzd23370zd2_678));
																				BgL_cdrzd23375zd2_682 =
																					CDR(((obj_t) BgL_cdrzd23370zd2_678));
																				if (SYMBOLP(BgL_carzd23374zd2_681))
																					{	/* Module/type.scm 58 */
																						if (PAIRP(BgL_cdrzd23375zd2_682))
																							{	/* Module/type.scm 58 */
																								obj_t BgL_carzd23382zd2_685;

																								BgL_carzd23382zd2_685 =
																									CAR(BgL_cdrzd23375zd2_682);
																								if (PAIRP
																									(BgL_carzd23382zd2_685))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd23385zd2_687;

																										BgL_carzd23385zd2_687 =
																											CAR
																											(BgL_carzd23382zd2_685);
																										if (SYMBOLP
																											(BgL_carzd23385zd2_687))
																											{	/* Module/type.scm 58 */
																												if (NULLP(CDR
																														(BgL_carzd23382zd2_685)))
																													{	/* Module/type.scm 58 */
																														if (NULLP(CDR
																																(BgL_cdrzd23375zd2_682)))
																															{	/* Module/type.scm 58 */
																																return
																																	BGl_delayzd2tvectorzd2typez12z12zzmodule_typez00
																																	(BgL_carzd23374zd2_681,
																																	BgL_carzd23385zd2_687,
																																	BgL_clausez00_28,
																																	BgL_importz00_27);
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				if (
																					(CAR(
																							((obj_t) BgL_clausez00_28)) ==
																						CNST_TABLE_REF(6L)))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd23454zd2_698;
																						obj_t BgL_cdrzd23455zd2_699;

																						BgL_carzd23454zd2_698 =
																							CAR(
																							((obj_t) BgL_cdrzd23370zd2_678));
																						BgL_cdrzd23455zd2_699 =
																							CDR(
																							((obj_t) BgL_cdrzd23370zd2_678));
																						if (SYMBOLP(BgL_carzd23454zd2_698))
																							{	/* Module/type.scm 58 */
																								if (PAIRP
																									(BgL_cdrzd23455zd2_699))
																									{	/* Module/type.scm 58 */
																										obj_t BgL_carzd23464zd2_702;
																										obj_t BgL_cdrzd23465zd2_703;

																										BgL_carzd23464zd2_702 =
																											CAR
																											(BgL_cdrzd23455zd2_699);
																										BgL_cdrzd23465zd2_703 =
																											CDR
																											(BgL_cdrzd23455zd2_699);
																										if (SYMBOLP
																											(BgL_carzd23464zd2_702))
																											{	/* Module/type.scm 58 */
																												if (PAIRP
																													(BgL_cdrzd23465zd2_703))
																													{	/* Module/type.scm 58 */
																														obj_t
																															BgL_cdrzd23472zd2_706;
																														BgL_cdrzd23472zd2_706
																															=
																															CDR
																															(BgL_cdrzd23465zd2_703);
																														if (PAIRP
																															(BgL_cdrzd23472zd2_706))
																															{	/* Module/type.scm 58 */
																																if (NULLP(CDR
																																		(BgL_cdrzd23472zd2_706)))
																																	{
																																		obj_t
																																			BgL_coercez00_3127;
																																		obj_t
																																			BgL_checkz00_3125;
																																		obj_t
																																			BgL_toz00_3124;
																																		obj_t
																																			BgL_fromz00_3123;
																																		BgL_fromz00_3123
																																			=
																																			BgL_carzd23454zd2_698;
																																		BgL_toz00_3124
																																			=
																																			BgL_carzd23464zd2_702;
																																		BgL_checkz00_3125
																																			=
																																			CAR
																																			(BgL_cdrzd23465zd2_703);
																																		BgL_coercez00_3127
																																			=
																																			CAR
																																			(BgL_cdrzd23472zd2_706);
																																		BgL_coercez00_232
																																			=
																																			BgL_coercez00_3127;
																																		BgL_checkz00_231
																																			=
																																			BgL_checkz00_3125;
																																		BgL_toz00_230
																																			=
																																			BgL_toz00_3124;
																																		BgL_fromz00_229
																																			=
																																			BgL_fromz00_3123;
																																		goto
																																			BgL_tagzd2372zd2_233;
																																	}
																																else
																																	{	/* Module/type.scm 58 */
																																		goto
																																			BgL_tagzd2373zd2_234;
																																	}
																															}
																														else
																															{	/* Module/type.scm 58 */
																																goto
																																	BgL_tagzd2373zd2_234;
																															}
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																	}
															}
													}
											}
									}
								else
									{	/* Module/type.scm 58 */
										goto BgL_tagzd2373zd2_234;
									}
							}
						else
							{	/* Module/type.scm 58 */
								if ((CAR(((obj_t) BgL_clausez00_28)) == CNST_TABLE_REF(4L)))
									{	/* Module/type.scm 58 */
										if (PAIRP(BgL_cdrzd2388zd2_238))
											{	/* Module/type.scm 58 */
												obj_t BgL_carzd25357zd2_993;
												obj_t BgL_cdrzd25358zd2_994;

												BgL_carzd25357zd2_993 = CAR(BgL_cdrzd2388zd2_238);
												BgL_cdrzd25358zd2_994 = CDR(BgL_cdrzd2388zd2_238);
												if (SYMBOLP(BgL_carzd25357zd2_993))
													{	/* Module/type.scm 58 */
														if (PAIRP(BgL_cdrzd25358zd2_994))
															{	/* Module/type.scm 58 */
																obj_t BgL_carzd25363zd2_997;
																obj_t BgL_cdrzd25364zd2_998;

																BgL_carzd25363zd2_997 =
																	CAR(BgL_cdrzd25358zd2_994);
																BgL_cdrzd25364zd2_998 =
																	CDR(BgL_cdrzd25358zd2_994);
																if (STRINGP(BgL_carzd25363zd2_997))
																	{	/* Module/type.scm 58 */
																		if (PAIRP(BgL_cdrzd25364zd2_998))
																			{	/* Module/type.scm 58 */
																				obj_t BgL_carzd25368zd2_1001;

																				BgL_carzd25368zd2_1001 =
																					CAR(BgL_cdrzd25364zd2_998);
																				if (SYMBOLP(BgL_carzd25368zd2_1001))
																					{	/* Module/type.scm 58 */
																						if (NULLP(CDR
																								(BgL_cdrzd25364zd2_998)))
																							{	/* Module/type.scm 69 */
																								BgL_typez00_bglt
																									BgL_typez00_2002;
																								BgL_typez00_2002 =
																									BGl_declarezd2typez12zc0zztype_envz00
																									(BgL_carzd25357zd2_993,
																									BgL_carzd25363zd2_997,
																									BgL_carzd25368zd2_1001);
																								((((BgL_typez00_bglt)
																											COBJECT
																											(BgL_typez00_2002))->
																										BgL_magiczf3zf3) =
																									((bool_t) ((bool_t) 1)),
																									BUNSPEC);
																								return ((obj_t)
																									BgL_typez00_2002);
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				goto BgL_tagzd2373zd2_234;
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		goto BgL_tagzd2373zd2_234;
																	}
															}
														else
															{	/* Module/type.scm 58 */
																goto BgL_tagzd2373zd2_234;
															}
													}
												else
													{	/* Module/type.scm 58 */
														goto BgL_tagzd2373zd2_234;
													}
											}
										else
											{	/* Module/type.scm 58 */
												goto BgL_tagzd2373zd2_234;
											}
									}
								else
									{	/* Module/type.scm 58 */
										if ((CAR(((obj_t) BgL_clausez00_28)) == CNST_TABLE_REF(5L)))
											{	/* Module/type.scm 58 */
												if (PAIRP(BgL_cdrzd2388zd2_238))
													{	/* Module/type.scm 58 */
														obj_t BgL_carzd25585zd2_1010;
														obj_t BgL_cdrzd25586zd2_1011;

														BgL_carzd25585zd2_1010 = CAR(BgL_cdrzd2388zd2_238);
														BgL_cdrzd25586zd2_1011 = CDR(BgL_cdrzd2388zd2_238);
														if (SYMBOLP(BgL_carzd25585zd2_1010))
															{	/* Module/type.scm 58 */
																if (PAIRP(BgL_cdrzd25586zd2_1011))
																	{	/* Module/type.scm 58 */
																		obj_t BgL_carzd25592zd2_1014;
																		obj_t BgL_cdrzd25593zd2_1015;

																		BgL_carzd25592zd2_1014 =
																			CAR(BgL_cdrzd25586zd2_1011);
																		BgL_cdrzd25593zd2_1015 =
																			CDR(BgL_cdrzd25586zd2_1011);
																		if (STRINGP(BgL_carzd25592zd2_1014))
																			{	/* Module/type.scm 58 */
																				if (PAIRP(BgL_cdrzd25593zd2_1015))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd25597zd2_1018;

																						BgL_carzd25597zd2_1018 =
																							CAR(BgL_cdrzd25593zd2_1015);
																						if (PAIRP(BgL_carzd25597zd2_1018))
																							{	/* Module/type.scm 58 */
																								if (NULLP(CDR
																										(BgL_cdrzd25593zd2_1015)))
																									{
																										obj_t BgL_parentz00_3184;
																										obj_t BgL_namez00_3183;
																										obj_t BgL_childz00_3182;

																										BgL_childz00_3182 =
																											BgL_carzd25585zd2_1010;
																										BgL_namez00_3183 =
																											BgL_carzd25592zd2_1014;
																										BgL_parentz00_3184 =
																											BgL_carzd25597zd2_1018;
																										BgL_parentz00_224 =
																											BgL_parentz00_3184;
																										BgL_namez00_223 =
																											BgL_namez00_3183;
																										BgL_childz00_222 =
																											BgL_childz00_3182;
																										goto BgL_tagzd2370zd2_225;
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				goto BgL_tagzd2373zd2_234;
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		goto BgL_tagzd2373zd2_234;
																	}
															}
														else
															{	/* Module/type.scm 58 */
																goto BgL_tagzd2373zd2_234;
															}
													}
												else
													{	/* Module/type.scm 58 */
														goto BgL_tagzd2373zd2_234;
													}
											}
										else
											{	/* Module/type.scm 58 */
												obj_t BgL_cdrzd25722zd2_1023;

												BgL_cdrzd25722zd2_1023 =
													CDR(((obj_t) BgL_clausez00_28));
												if (
													(CAR(
															((obj_t) BgL_clausez00_28)) ==
														CNST_TABLE_REF(7L)))
													{	/* Module/type.scm 58 */
														if (PAIRP(BgL_cdrzd25722zd2_1023))
															{	/* Module/type.scm 58 */
																obj_t BgL_carzd25725zd2_1027;
																obj_t BgL_cdrzd25726zd2_1028;

																BgL_carzd25725zd2_1027 =
																	CAR(BgL_cdrzd25722zd2_1023);
																BgL_cdrzd25726zd2_1028 =
																	CDR(BgL_cdrzd25722zd2_1023);
																if (SYMBOLP(BgL_carzd25725zd2_1027))
																	{	/* Module/type.scm 58 */
																		if (PAIRP(BgL_cdrzd25726zd2_1028))
																			{	/* Module/type.scm 58 */
																				obj_t BgL_carzd25731zd2_1031;

																				BgL_carzd25731zd2_1031 =
																					CAR(BgL_cdrzd25726zd2_1028);
																				if (PAIRP(BgL_carzd25731zd2_1031))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd25734zd2_1033;

																						BgL_carzd25734zd2_1033 =
																							CAR(BgL_carzd25731zd2_1031);
																						if (SYMBOLP(BgL_carzd25734zd2_1033))
																							{	/* Module/type.scm 58 */
																								if (NULLP(CDR
																										(BgL_carzd25731zd2_1031)))
																									{	/* Module/type.scm 58 */
																										if (NULLP(CDR
																												(BgL_cdrzd25726zd2_1028)))
																											{	/* Module/type.scm 58 */
																												return
																													BGl_delayzd2tvectorzd2typez12z12zzmodule_typez00
																													(BgL_carzd25725zd2_1027,
																													BgL_carzd25734zd2_1033,
																													BgL_clausez00_28,
																													BgL_importz00_27);
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				goto BgL_tagzd2373zd2_234;
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		goto BgL_tagzd2373zd2_234;
																	}
															}
														else
															{	/* Module/type.scm 58 */
																goto BgL_tagzd2373zd2_234;
															}
													}
												else
													{	/* Module/type.scm 58 */
														if (
															(CAR(
																	((obj_t) BgL_clausez00_28)) ==
																CNST_TABLE_REF(6L)))
															{	/* Module/type.scm 58 */
																if (PAIRP(BgL_cdrzd25722zd2_1023))
																	{	/* Module/type.scm 58 */
																		obj_t BgL_carzd25809zd2_1045;
																		obj_t BgL_cdrzd25810zd2_1046;

																		BgL_carzd25809zd2_1045 =
																			CAR(BgL_cdrzd25722zd2_1023);
																		BgL_cdrzd25810zd2_1046 =
																			CDR(BgL_cdrzd25722zd2_1023);
																		if (SYMBOLP(BgL_carzd25809zd2_1045))
																			{	/* Module/type.scm 58 */
																				if (PAIRP(BgL_cdrzd25810zd2_1046))
																					{	/* Module/type.scm 58 */
																						obj_t BgL_carzd25817zd2_1049;
																						obj_t BgL_cdrzd25818zd2_1050;

																						BgL_carzd25817zd2_1049 =
																							CAR(BgL_cdrzd25810zd2_1046);
																						BgL_cdrzd25818zd2_1050 =
																							CDR(BgL_cdrzd25810zd2_1046);
																						if (SYMBOLP(BgL_carzd25817zd2_1049))
																							{	/* Module/type.scm 58 */
																								if (PAIRP
																									(BgL_cdrzd25818zd2_1050))
																									{	/* Module/type.scm 58 */
																										obj_t
																											BgL_cdrzd25825zd2_1053;
																										BgL_cdrzd25825zd2_1053 =
																											CDR
																											(BgL_cdrzd25818zd2_1050);
																										if (PAIRP
																											(BgL_cdrzd25825zd2_1053))
																											{	/* Module/type.scm 58 */
																												if (NULLP(CDR
																														(BgL_cdrzd25825zd2_1053)))
																													{
																														obj_t
																															BgL_coercez00_3242;
																														obj_t
																															BgL_checkz00_3240;
																														obj_t
																															BgL_toz00_3239;
																														obj_t
																															BgL_fromz00_3238;
																														BgL_fromz00_3238 =
																															BgL_carzd25809zd2_1045;
																														BgL_toz00_3239 =
																															BgL_carzd25817zd2_1049;
																														BgL_checkz00_3240 =
																															CAR
																															(BgL_cdrzd25818zd2_1050);
																														BgL_coercez00_3242 =
																															CAR
																															(BgL_cdrzd25825zd2_1053);
																														BgL_coercez00_232 =
																															BgL_coercez00_3242;
																														BgL_checkz00_231 =
																															BgL_checkz00_3240;
																														BgL_toz00_230 =
																															BgL_toz00_3239;
																														BgL_fromz00_229 =
																															BgL_fromz00_3238;
																														goto
																															BgL_tagzd2372zd2_233;
																													}
																												else
																													{	/* Module/type.scm 58 */
																														goto
																															BgL_tagzd2373zd2_234;
																													}
																											}
																										else
																											{	/* Module/type.scm 58 */
																												goto
																													BgL_tagzd2373zd2_234;
																											}
																									}
																								else
																									{	/* Module/type.scm 58 */
																										goto BgL_tagzd2373zd2_234;
																									}
																							}
																						else
																							{	/* Module/type.scm 58 */
																								goto BgL_tagzd2373zd2_234;
																							}
																					}
																				else
																					{	/* Module/type.scm 58 */
																						goto BgL_tagzd2373zd2_234;
																					}
																			}
																		else
																			{	/* Module/type.scm 58 */
																				goto BgL_tagzd2373zd2_234;
																			}
																	}
																else
																	{	/* Module/type.scm 58 */
																		goto BgL_tagzd2373zd2_234;
																	}
															}
														else
															{	/* Module/type.scm 58 */
																goto BgL_tagzd2373zd2_234;
															}
													}
											}
									}
							}
					}
				else
					{	/* Module/type.scm 58 */
						goto BgL_tagzd2373zd2_234;
					}
			}
		}

	}



/* module-tvector-clause */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2tvectorzd2clausez00zzmodule_typez00(obj_t
		BgL_idz00_30, obj_t BgL_itemzd2typezd2_31, obj_t BgL_clausez00_32,
		obj_t BgL_importz00_33)
	{
		{	/* Module/type.scm 148 */
			{	/* Module/type.scm 149 */
				BgL_typez00_bglt BgL_arg2223z00_2031;

				BgL_arg2223z00_2031 =
					BGl_declarezd2tvectorzd2typez12z12zztvector_tvectorz00(BgL_idz00_30,
					BgL_itemzd2typezd2_31, BgL_clausez00_32);
				return BGl_delayzd2tvectorz12zc0zzmodule_typez00(((obj_t)
						BgL_arg2223z00_2031), BgL_clausez00_32, CBOOL(BgL_importz00_33));
			}
		}

	}



/* &module-tvector-clause */
	obj_t BGl_z62modulezd2tvectorzd2clausez62zzmodule_typez00(obj_t
		BgL_envz00_2109, obj_t BgL_idz00_2110, obj_t BgL_itemzd2typezd2_2111,
		obj_t BgL_clausez00_2112, obj_t BgL_importz00_2113)
	{
		{	/* Module/type.scm 148 */
			return
				BGl_modulezd2tvectorzd2clausez00zzmodule_typez00(BgL_idz00_2110,
				BgL_itemzd2typezd2_2111, BgL_clausez00_2112, BgL_importz00_2113);
		}

	}



/* &type-finalizer */
	obj_t BGl_z62typezd2finaliza7erz17zzmodule_typez00(obj_t BgL_envz00_2108)
	{
		{	/* Module/type.scm 154 */
			{	/* Module/type.scm 155 */
				obj_t BgL_tvfz00_2131;

				BgL_tvfz00_2131 = BGl_tvectorzd2finaliza7erz75zzmodule_typez00();
				{	/* Module/type.scm 156 */
					bool_t BgL_test2548z00_3250;

					if (STRUCTP(BgL_tvfz00_2131))
						{	/* Module/type.scm 156 */
							BgL_test2548z00_3250 =
								(STRUCT_KEY(BgL_tvfz00_2131) == CNST_TABLE_REF(8L));
						}
					else
						{	/* Module/type.scm 156 */
							BgL_test2548z00_3250 = ((bool_t) 0);
						}
					if (BgL_test2548z00_3250)
						{	/* Module/type.scm 157 */
							obj_t BgL_list2225z00_2132;

							BgL_list2225z00_2132 = MAKE_YOUNG_PAIR(BgL_tvfz00_2131, BNIL);
							return BgL_list2225z00_2132;
						}
					else
						{	/* Module/type.scm 156 */
							return CNST_TABLE_REF(9L);
						}
				}
			}
		}

	}



/* delay-tvector-type! */
	obj_t BGl_delayzd2tvectorzd2typez12z12zzmodule_typez00(obj_t BgL_idz00_34,
		obj_t BgL_itemzd2typezd2_35, obj_t BgL_clausez00_36, obj_t BgL_importz00_37)
	{
		{	/* Module/type.scm 168 */
			{	/* Module/type.scm 170 */
				obj_t BgL_arg2226z00_2037;

				{	/* Module/type.scm 170 */
					obj_t BgL_list2227z00_2038;

					{	/* Module/type.scm 170 */
						obj_t BgL_arg2228z00_2039;

						{	/* Module/type.scm 170 */
							obj_t BgL_arg2229z00_2040;

							{	/* Module/type.scm 170 */
								obj_t BgL_arg2230z00_2041;

								BgL_arg2230z00_2041 = MAKE_YOUNG_PAIR(BgL_importz00_37, BNIL);
								BgL_arg2229z00_2040 =
									MAKE_YOUNG_PAIR(BgL_clausez00_36, BgL_arg2230z00_2041);
							}
							BgL_arg2228z00_2039 =
								MAKE_YOUNG_PAIR(BgL_itemzd2typezd2_35, BgL_arg2229z00_2040);
						}
						BgL_list2227z00_2038 =
							MAKE_YOUNG_PAIR(BgL_idz00_34, BgL_arg2228z00_2039);
					}
					BgL_arg2226z00_2037 = BgL_list2227z00_2038;
				}
				return (BGl_za2tvectorzd2typesza2zd2zzmodule_typez00 =
					MAKE_YOUNG_PAIR(BgL_arg2226z00_2037,
						BGl_za2tvectorzd2typesza2zd2zzmodule_typez00), BUNSPEC);
			}
		}

	}



/* delay-tvector! */
	BGL_EXPORTED_DEF obj_t BGl_delayzd2tvectorz12zc0zzmodule_typez00(obj_t
		BgL_tvz00_38, obj_t BgL_clausez00_39, bool_t BgL_importz00_40)
	{
		{	/* Module/type.scm 180 */
			{	/* Module/type.scm 181 */
				obj_t BgL_arg2231z00_1375;

				{	/* Module/type.scm 181 */
					obj_t BgL_list2232z00_1376;

					{	/* Module/type.scm 181 */
						obj_t BgL_arg2233z00_1377;

						{	/* Module/type.scm 181 */
							obj_t BgL_arg2234z00_1378;

							BgL_arg2234z00_1378 =
								MAKE_YOUNG_PAIR(BBOOL(BgL_importz00_40), BNIL);
							BgL_arg2233z00_1377 =
								MAKE_YOUNG_PAIR(BgL_clausez00_39, BgL_arg2234z00_1378);
						}
						BgL_list2232z00_1376 =
							MAKE_YOUNG_PAIR(BgL_tvz00_38, BgL_arg2233z00_1377);
					}
					BgL_arg2231z00_1375 = BgL_list2232z00_1376;
				}
				BGl_za2tvectorsza2z00zzmodule_typez00 =
					MAKE_YOUNG_PAIR(BgL_arg2231z00_1375,
					BGl_za2tvectorsza2z00zzmodule_typez00);
			}
			return BgL_tvz00_38;
		}

	}



/* &delay-tvector! */
	obj_t BGl_z62delayzd2tvectorz12za2zzmodule_typez00(obj_t BgL_envz00_2114,
		obj_t BgL_tvz00_2115, obj_t BgL_clausez00_2116, obj_t BgL_importz00_2117)
	{
		{	/* Module/type.scm 180 */
			return
				BGl_delayzd2tvectorz12zc0zzmodule_typez00(BgL_tvz00_2115,
				BgL_clausez00_2116, CBOOL(BgL_importz00_2117));
		}

	}



/* tvector-finalizer */
	BGL_EXPORTED_DEF obj_t BGl_tvectorzd2finaliza7erz75zzmodule_typez00(void)
	{
		{	/* Module/type.scm 187 */
			{
				obj_t BgL_l1077z00_1380;

				BgL_l1077z00_1380 = BGl_za2tvectorzd2typesza2zd2zzmodule_typez00;
			BgL_zc3z04anonymousza32235ze3z87_1381:
				if (PAIRP(BgL_l1077z00_1380))
					{	/* Module/type.scm 189 */
						{	/* Module/type.scm 189 */
							obj_t BgL_tz00_1383;

							BgL_tz00_1383 = CAR(BgL_l1077z00_1380);
							{	/* Module/type.scm 189 */
								obj_t BgL_runner2241z00_1388;

								BgL_runner2241z00_1388 = BgL_tz00_1383;
								{	/* Module/type.scm 189 */
									obj_t BgL_aux2237z00_1384;

									BgL_aux2237z00_1384 = CAR(BgL_runner2241z00_1388);
									BgL_runner2241z00_1388 = CDR(BgL_runner2241z00_1388);
									{	/* Module/type.scm 189 */
										obj_t BgL_aux2238z00_1385;

										BgL_aux2238z00_1385 = CAR(BgL_runner2241z00_1388);
										BgL_runner2241z00_1388 = CDR(BgL_runner2241z00_1388);
										{	/* Module/type.scm 189 */
											obj_t BgL_aux2239z00_1386;

											BgL_aux2239z00_1386 = CAR(BgL_runner2241z00_1388);
											BgL_runner2241z00_1388 = CDR(BgL_runner2241z00_1388);
											{	/* Module/type.scm 189 */
												obj_t BgL_aux2240z00_1387;

												BgL_aux2240z00_1387 = CAR(BgL_runner2241z00_1388);
												{	/* Module/type.scm 149 */
													BgL_typez00_bglt BgL_arg2223z00_2054;

													BgL_arg2223z00_2054 =
														BGl_declarezd2tvectorzd2typez12z12zztvector_tvectorz00
														(BgL_aux2237z00_1384, BgL_aux2238z00_1385,
														BgL_aux2239z00_1386);
													BGl_delayzd2tvectorz12zc0zzmodule_typez00(((obj_t)
															BgL_arg2223z00_2054), BgL_aux2239z00_1386,
														CBOOL(BgL_aux2240z00_1387));
												}
											}
										}
									}
								}
							}
						}
						{
							obj_t BgL_l1077z00_3284;

							BgL_l1077z00_3284 = CDR(BgL_l1077z00_1380);
							BgL_l1077z00_1380 = BgL_l1077z00_3284;
							goto BgL_zc3z04anonymousza32235ze3z87_1381;
						}
					}
				else
					{	/* Module/type.scm 189 */
						((bool_t) 1);
					}
			}
			BGl_za2tvectorzd2typesza2zd2zzmodule_typez00 = BNIL;
			if (NULLP(BGl_za2tvectorsza2z00zzmodule_typez00))
				{	/* Module/type.scm 192 */
					return CNST_TABLE_REF(9L);
				}
			else
				{	/* Module/type.scm 194 */
					obj_t BgL_accessesz00_1392;

					BgL_accessesz00_1392 =
						BGl_zc3z04anonymousza32246ze3ze70z60zzmodule_typez00
						(BGl_za2tvectorsza2z00zzmodule_typez00);
					{	/* Module/type.scm 197 */
						obj_t BgL_resz00_1393;

						{	/* Module/type.scm 197 */
							obj_t BgL_arg2244z00_1394;
							obj_t BgL_arg2245z00_1395;

							BgL_arg2244z00_1394 =
								BGl_gensymz00zz__r4_symbols_6_4z00(CNST_TABLE_REF(7L));
							BgL_arg2245z00_1395 = bgl_reverse_bang(BgL_accessesz00_1392);
							{	/* Module/type.scm 197 */
								obj_t BgL_newz00_2064;

								BgL_newz00_2064 = create_struct(CNST_TABLE_REF(8L), (int) (5L));
								{	/* Module/type.scm 197 */
									int BgL_tmpz00_3296;

									BgL_tmpz00_3296 = (int) (4L);
									STRUCT_SET(BgL_newz00_2064, BgL_tmpz00_3296, BFALSE);
								}
								{	/* Module/type.scm 197 */
									int BgL_tmpz00_3299;

									BgL_tmpz00_3299 = (int) (3L);
									STRUCT_SET(BgL_newz00_2064, BgL_tmpz00_3299, BTRUE);
								}
								{	/* Module/type.scm 197 */
									int BgL_tmpz00_3302;

									BgL_tmpz00_3302 = (int) (2L);
									STRUCT_SET(BgL_newz00_2064, BgL_tmpz00_3302,
										BgL_arg2245z00_1395);
								}
								{	/* Module/type.scm 197 */
									obj_t BgL_auxz00_3307;
									int BgL_tmpz00_3305;

									BgL_auxz00_3307 = BINT(6L);
									BgL_tmpz00_3305 = (int) (1L);
									STRUCT_SET(BgL_newz00_2064, BgL_tmpz00_3305, BgL_auxz00_3307);
								}
								{	/* Module/type.scm 197 */
									int BgL_tmpz00_3310;

									BgL_tmpz00_3310 = (int) (0L);
									STRUCT_SET(BgL_newz00_2064, BgL_tmpz00_3310,
										BgL_arg2244z00_1394);
								}
								BgL_resz00_1393 = BgL_newz00_2064;
						}}
						BGl_za2tvectorsza2z00zzmodule_typez00 = BNIL;
						return BgL_resz00_1393;
					}
				}
		}

	}



/* <@anonymous:2246>~0 */
	obj_t BGl_zc3z04anonymousza32246ze3ze70z60zzmodule_typez00(obj_t
		BgL_l1080z00_1397)
	{
		{	/* Module/type.scm 194 */
			if (NULLP(BgL_l1080z00_1397))
				{	/* Module/type.scm 194 */
					return BNIL;
				}
			else
				{	/* Module/type.scm 195 */
					obj_t BgL_arg2248z00_1400;
					obj_t BgL_arg2249z00_1401;

					{	/* Module/type.scm 195 */
						obj_t BgL_tvz00_1402;

						BgL_tvz00_1402 = CAR(((obj_t) BgL_l1080z00_1397));
						{	/* Module/type.scm 195 */
							obj_t BgL_runner2253z00_1406;

							BgL_runner2253z00_1406 = BgL_tvz00_1402;
							{	/* Module/type.scm 195 */
								BgL_typez00_bglt BgL_aux2250z00_1403;

								{	/* Module/type.scm 195 */
									obj_t BgL_pairz00_2058;

									BgL_pairz00_2058 = BgL_runner2253z00_1406;
									BgL_aux2250z00_1403 =
										((BgL_typez00_bglt) CAR(BgL_pairz00_2058));
								}
								BgL_runner2253z00_1406 = CDR(BgL_runner2253z00_1406);
								{	/* Module/type.scm 195 */
									obj_t BgL_aux2251z00_1404;

									BgL_aux2251z00_1404 = CAR(BgL_runner2253z00_1406);
									BgL_runner2253z00_1406 = CDR(BgL_runner2253z00_1406);
									{	/* Module/type.scm 195 */
										bool_t BgL_aux2252z00_1405;

										{	/* Module/type.scm 195 */
											obj_t BgL_pairz00_2062;

											BgL_pairz00_2062 = BgL_runner2253z00_1406;
											BgL_aux2252z00_1405 = CBOOL(CAR(BgL_pairz00_2062));
										}
										BgL_arg2248z00_1400 =
											BGl_makezd2tvectorzd2accessesz00zztvector_accessz00
											(BgL_aux2250z00_1403, BgL_aux2251z00_1404,
											BgL_aux2252z00_1405);
									}
								}
							}
						}
					}
					{	/* Module/type.scm 194 */
						obj_t BgL_arg2254z00_1407;

						BgL_arg2254z00_1407 = CDR(((obj_t) BgL_l1080z00_1397));
						BgL_arg2249z00_1401 =
							BGl_zc3z04anonymousza32246ze3ze70z60zzmodule_typez00
							(BgL_arg2254z00_1407);
					}
					return bgl_append2(BgL_arg2248z00_1400, BgL_arg2249z00_1401);
				}
		}

	}



/* &tvector-finalizer */
	obj_t BGl_z62tvectorzd2finaliza7erz17zzmodule_typez00(obj_t BgL_envz00_2118)
	{
		{	/* Module/type.scm 187 */
			return BGl_tvectorzd2finaliza7erz75zzmodule_typez00();
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zzmodule_typez00(void)
	{
		{	/* Module/type.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zzmodule_typez00(void)
	{
		{	/* Module/type.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zzmodule_typez00(void)
	{
		{	/* Module/type.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zzmodule_typez00(void)
	{
		{	/* Module/type.scm 15 */
			BGl_modulezd2initializa7ationz75zztools_tracez00(54713316L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			BGl_modulezd2initializa7ationz75zzmodule_modulez00(158397907L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			BGl_modulezd2initializa7ationz75zztype_typez00(515343395L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			BGl_modulezd2initializa7ationz75zztype_envz00(296457443L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			BGl_modulezd2initializa7ationz75zztype_coercionz00(116865673L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			BGl_modulezd2initializa7ationz75zztvector_tvectorz00(501518119L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			BGl_modulezd2initializa7ationz75zztvector_accessz00(189470597L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			BGl_modulezd2initializa7ationz75zztools_errorz00(300504031L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			BGl_modulezd2initializa7ationz75zztools_shapez00(365925558L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
			return
				BGl_modulezd2initializa7ationz75zztools_locationz00(462333240L,
				BSTRING_TO_STRING(BGl_string2284z00zzmodule_typez00));
		}

	}

#ifdef __cplusplus
}
#endif
