    class
    	TUPLE

    General
    	cluster: base
    	description: "Implementation of TUPLE"
    	create: make, default_create

    Ancestors
    	HASHABLE*
    	MISMATCH_CORRECTOR

    Queries
    	Any_code: NATURAL_8
    	Boolean_code: NATURAL_8
    	boolean_item (index: INTEGER_32): BOOLEAN
    	Character_code: NATURAL_8
    	character_item (index: INTEGER_32): CHARACTER_8
    	count: INTEGER_32
    	double_item (index: INTEGER_32): REAL_64
    	hash_code: INTEGER_32
    	infix "@" (index: INTEGER_32): ANY
    	Integer_16_code: NATURAL_8
    	integer_16_item (index: INTEGER_32): INTEGER_16
    	Integer_32_code: NATURAL_8
    	integer_32_item (index: INTEGER_32): INTEGER_32
    	Integer_64_code: NATURAL_8
    	integer_64_item (index: INTEGER_32): INTEGER_64
    	Integer_8_code: NATURAL_8
    	integer_8_item (index: INTEGER_32): INTEGER_8
    	integer_item (index: INTEGER_32): INTEGER_32
    	is_boolean_item (index: INTEGER_32): BOOLEAN
    	is_character_item (index: INTEGER_32): BOOLEAN
    	is_double_item (index: INTEGER_32): BOOLEAN
    	is_empty: BOOLEAN
    	is_hashable: BOOLEAN
    	is_integer_16_item (index: INTEGER_32): BOOLEAN
    	is_integer_32_item (index: INTEGER_32): BOOLEAN
    	is_integer_64_item (index: INTEGER_32): BOOLEAN
    	is_integer_8_item (index: INTEGER_32): BOOLEAN
    	is_integer_item (index: INTEGER_32): BOOLEAN
    	is_natural_16_item (index: INTEGER_32): BOOLEAN
    	is_natural_32_item (index: INTEGER_32): BOOLEAN
    	is_natural_64_item (index: INTEGER_32): BOOLEAN
    	is_natural_8_item (index: INTEGER_32): BOOLEAN
    	is_pointer_item (index: INTEGER_32): BOOLEAN
    	is_real_item (index: INTEGER_32): BOOLEAN
    	is_reference_item (index: INTEGER_32): BOOLEAN
    	is_uniform: BOOLEAN
    	is_uniform_boolean: BOOLEAN
    	is_uniform_character: BOOLEAN
    	is_uniform_double: BOOLEAN
    	is_uniform_integer: BOOLEAN
    	is_uniform_integer_16: BOOLEAN
    	is_uniform_integer_32: BOOLEAN
    	is_uniform_integer_64: BOOLEAN
    	is_uniform_integer_8: BOOLEAN
    	is_uniform_natural_16: BOOLEAN
    	is_uniform_natural_32: BOOLEAN
    	is_uniform_natural_64: BOOLEAN
    	is_uniform_natural_8: BOOLEAN
    	is_uniform_pointer: BOOLEAN
    	is_uniform_real: BOOLEAN
    	is_uniform_reference: BOOLEAN
    	is_uniform_wide_character: BOOLEAN
    	is_wide_character_item (index: INTEGER_32): BOOLEAN
    	item alias "[]" (index: INTEGER_32): ANY
    	item_code (index: INTEGER_32): NATURAL_8
    	Lower: INTEGER_32
    	Mismatch_information: MISMATCH_INFORMATION
    	Natural_16_code: NATURAL_8
    	natural_16_item (index: INTEGER_32): NATURAL_16
    	Natural_32_code: NATURAL_8
    	natural_32_item (index: INTEGER_32): NATURAL_32
    	Natural_64_code: NATURAL_8
    	natural_64_item (index: INTEGER_32): NATURAL_64
    	Natural_8_code: NATURAL_8
    	natural_8_item (index: INTEGER_32): NATURAL_8
    	Pointer_code: NATURAL_8
    	pointer_item (index: INTEGER_32): POINTER
    	Real_32_code: NATURAL_8
    	real_32_item (index: INTEGER_32): REAL_32
    	Real_64_code: NATURAL_8
    	real_64_item (index: INTEGER_32): REAL_64
    	real_item (index: INTEGER_32): REAL_32
    	Reference_code: NATURAL_8
    	reference_item (index: INTEGER_32): ANY
    	upper: INTEGER_32
    	valid_index (k: INTEGER_32): BOOLEAN
    	valid_type_for_index (v: ANY; index: INTEGER_32): BOOLEAN
    	Wide_character_code: NATURAL_8
    	wide_character_item (index: INTEGER_32): CHARACTER_32

    Commands
    	correct_mismatch
    	put (v: ANY; index: INTEGER_32)
    	put_boolean (v: BOOLEAN; index: INTEGER_32)
    	put_character (v: CHARACTER_8; index: INTEGER_32)
    	put_double (v: REAL_64; index: INTEGER_32)
    	put_integer (v, index: INTEGER_32)
    	put_integer_16 (v: INTEGER_16; index: INTEGER_32)
    	put_integer_32 (v, index: INTEGER_32)
    	put_integer_64 (v: INTEGER_64; index: INTEGER_32)
    	put_integer_8 (v: INTEGER_8; index: INTEGER_32)
    	put_natural_16 (v: NATURAL_16; index: INTEGER_32)
    	put_natural_32 (v: NATURAL_32; index: INTEGER_32)
    	put_natural_64 (v: NATURAL_64; index: INTEGER_32)
    	put_natural_8 (v: NATURAL_8; index: INTEGER_32)
    	put_pointer (v: POINTER; index: INTEGER_32)
    	put_real (v: REAL_32; index: INTEGER_32)
    	put_real_32 (v: REAL_32; index: INTEGER_32)
    	put_real_64 (v: REAL_64; index: INTEGER_32)
    	put_reference (v: ANY; index: INTEGER_32)
    	put_wide_character (v: CHARACTER_32; index: INTEGER_32)