version	U12.1.00
uid	hetero.u1-1786032983-0
impl	error
global	2
	0,000005,stypes,2
	1,000005,homogeneous,2

proc stypes
	local	0,001000,X
	local	1,001000,ref
	local	2,000020,op
	local	3,000020,types
	local	4,000020,t
	local	5,000020,k
	local	6,000000,proc
	local	7,000000,type
	local	8,000000,set
	local	9,000000,key
	local	10,000000,insert
	local	11,000000,sort
	local	12,000000,stop
	con	0,010000,1,041
	con	1,002000,1,1
	con	2,010000,5,164,141,142,154,145
	con	3,010000,3,153,145,171
	con	4,002000,1,2
	con	5,010000,1,072
	con	6,010000,4,154,151,163,164
	con	7,010000,6,162,145,143,157,162,144
	con	8,010000,3,163,145,164
	con	9,010000,28,052,052,052,040,151,156,166,141,154,151,144,040,164,171,160,145,040,164,157,040,163,164,171,160,145,163,050,051
	declend
	filen	hetero.icn
	line	21
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	var	6
	str	0
	int	1
	line	24
	colm	14
	synt	any
	invoke	2
	line	24
	colm	7
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	4
	var	7
	var	0
	line	25
	colm	13
	synt	any
	invoke	1
	line	25
	colm	6
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	2
	line	26
	colm	10
	synt	if
	mark0
	pnull
	var	4
	str	2
	line	26
	colm	16
	synt	any
	lexeq
	pop
	pnull
	var	1
	int	1
	line	26
	colm	35
	synt	any
	eqv
	unmark
	str	3
	line	26
	colm	10
	synt	endif
	line	26
	colm	7
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	line	28
	colm	4
	synt	ifelse
	mark	L5
	pnull
	var	4
	str	2
	line	28
	colm	10
	synt	any
	lexeq
	pop
	pnull
	var	1
	int	4
	line	28
	colm	29
	synt	any
	eqv
	unmark
	mark	L7
	pnull
	var	3
	var	8
	line	29
	colm	19
	synt	any
	invoke	0
	line	29
	colm	13
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	line	30
	colm	7
	synt	every
	mark0
	pnull
	var	5
	var	9
	var	0
	line	30
	colm	21
	synt	any
	invoke	1
	line	30
	colm	15
	synt	any
	asgn
	pop
	mark0
	var	10
	var	3
	pnull
	pnull
	var	7
	var	5
	line	31
	colm	28
	synt	any
	invoke	1
	str	5
	line	31
	colm	32
	synt	any
	cat
	var	7
	pnull
	var	0
	var	5
	line	31
	colm	49
	synt	any
	subsc
	line	31
	colm	47
	synt	any
	invoke	1
	line	31
	colm	39
	synt	any
	cat
	line	31
	colm	16
	synt	any
	invoke	2
	unmark
lab L9
	efail
lab L10
	line	30
	colm	7
	synt	endevery
	unmark
lab L8
	mark	L11
	var	11
	var	3
	line	32
	colm	18
	synt	any
	invoke	1
	line	32
	colm	7
	synt	any
	pret
lab L11
	synt	any
	pfail
	goto	L6
lab L5
	line	35
	colm	9
	synt	ifelse
	mark	L12
	pnull
	var	4
	mark	L14
	str	6
	line	35
	colm	25
	synt	any
	esusp
	goto	L15
lab L14
	mark	L16
	str	7
	line	35
	colm	36
	synt	any
	esusp
	goto	L17
lab L16
	mark	L18
	str	2
	line	35
	colm	46
	synt	any
	esusp
	goto	L19
lab L18
	str	8
lab L19
lab L17
lab L15
	line	35
	colm	14
	synt	any
	lexeq
	unmark
	mark	L20
	pnull
	var	3
	var	8
	line	36
	colm	19
	synt	any
	invoke	0
	line	36
	colm	13
	synt	any
	asgn
	unmark
lab L20
	mark	L21
	line	37
	colm	7
	synt	every
	mark0
	var	10
	var	3
	var	7
	var	2
	var	0
	line	37
	colm	34
	synt	any
	invoke	1
	line	37
	colm	31
	synt	any
	invoke	1
	line	37
	colm	19
	synt	any
	invoke	2
	pop
lab L22
	efail
lab L23
	line	37
	colm	7
	synt	endevery
	unmark
lab L21
	mark	L24
	var	11
	var	3
	line	38
	colm	18
	synt	any
	invoke	1
	line	38
	colm	7
	synt	any
	pret
lab L24
	synt	any
	pfail
	goto	L13
lab L12
	var	12
	str	9
	line	40
	colm	13
	synt	any
	invoke	1
lab L13
	line	35
	colm	9
	synt	endifelse
lab L6
	line	28
	colm	4
	synt	endifelse
	unmark
lab L4
	pnull
	line	42
	colm	1
	synt	any
	pfail
	end
proc homogeneous
	local	0,001000,X
	local	1,001000,ref
	local	2,000000,stypes
	con	0,002000,1,1
	declend
	line	44
	colm	11
	synt	any
	mark	L1
	line	46
	colm	4
	synt	ifelse
	mark	L2
	pnull
	pnull
	var	2
	var	0
	var	1
	line	46
	colm	14
	synt	any
	invoke	2
	line	46
	colm	7
	synt	any
	size
	int	0
	line	46
	colm	23
	synt	any
	numeq
	unmark
	mark	L4
	pnull
	line	46
	colm	32
	synt	any
	pret
lab L4
	synt	any
	pfail
	goto	L3
lab L2
	line	46
	colm	44
	synt	any
	pfail
lab L3
	line	46
	colm	4
	synt	endifelse
	unmark
lab L1
	pnull
	line	48
	colm	1
	synt	any
	pfail
	end
