deferred class
	STRING_GENERAL

General
	cluster: base
	description: "Common ancestors to all STRING classes."

Ancestors
	COMPARABLE*
	HASHABLE*
	STRING_HANDLER

Queries
	as_string_32: STRING_32
	as_string_8: STRING_8
	capacity: INTEGER_32
	code (i: INTEGER_32): NATURAL_32
	count: INTEGER_32
	has_code (c: [like code] NATURAL_32): BOOLEAN
	hash_code: INTEGER_32
	index_of_code (c: [like code] NATURAL_32; start_index: INTEGER_32): INTEGER_32
	infix "<" (other: [like Current] STRING_GENERAL): BOOLEAN
	infix "<=" (other: [like Current] STRING_GENERAL): BOOLEAN
	infix ">" (other: [like Current] STRING_GENERAL): BOOLEAN
	infix ">=" (other: [like Current] STRING_GENERAL): BOOLEAN
	is_empty: BOOLEAN
	is_equal (other: [like Current] STRING_GENERAL): BOOLEAN
	is_hashable: BOOLEAN
	is_string_32: BOOLEAN
	is_string_8: BOOLEAN
	is_valid_as_string_8: BOOLEAN
	max (other: [like Current] STRING_GENERAL): [like Current] STRING_GENERAL
	min (other: [like Current] STRING_GENERAL): [like Current] STRING_GENERAL
	substring (start_index, end_index: INTEGER_32): [like Current] STRING_GENERAL
	three_way_comparison (other: [like Current] STRING_GENERAL): INTEGER_32
	to_cil: SYSTEM_STRING
	to_string_32: STRING_32
	to_string_8: STRING_8
	valid_code (v: [like code] NATURAL_32): BOOLEAN
	valid_index (i: INTEGER_32): BOOLEAN

Commands
	append (s: STRING_GENERAL)
	append_code (c: [like code] NATURAL_32)
	put_code (v: [like code] NATURAL_32; i: INTEGER_32)
	remove (i: INTEGER_32)
	resize (newsize: INTEGER_32)