    deferred class
    	LINEAR_SUBSET [G]

    General
    	cluster: base
    	description:
    		"Subsets that are traversable linearly without commitment to a concrete
    		implementation."

    Ancestors
    	TRAVERSABLE_SUBSET* [G]

    Queries
    	after: BOOLEAN
    	before: BOOLEAN
    	changeable_comparison_criterion: BOOLEAN
    	count: INTEGER_32
    	disjoint (other: TRAVERSABLE_SUBSET [G]): BOOLEAN
    	duplicate (n: INTEGER_32): [like Current] LINEAR_SUBSET [G]
    	extendible: BOOLEAN
    	has (v: G): BOOLEAN
    	index: INTEGER_32
    	is_empty: BOOLEAN
    	is_inserted (v: G): BOOLEAN
    	is_subset (other: TRAVERSABLE_SUBSET [G]): BOOLEAN
    	is_superset (other: SUBSET [G]): BOOLEAN
    	islast: BOOLEAN
    	item: G
    	linear_representation: LINEAR [G]
    	object_comparison: BOOLEAN
    	off: BOOLEAN
    	prunable: BOOLEAN
    	valid_index (n: INTEGER_32): BOOLEAN

    Commands
    	compare_objects
    	compare_references
    	extend (v: G)
    	fill (other: CONTAINER [G])
    	forth
    	go_i_th (i: INTEGER_32)
    	intersect (other: TRAVERSABLE_SUBSET [G])
    	merge (other: CONTAINER [G])
    	move_item (v: G)
    	prune (v: G)
    	prune_all (v: G)
    	put (v: G)
    	put_left (v: G)
    	remove
    	start
    	subtract (other: TRAVERSABLE_SUBSET [G])
    	symdif (other: TRAVERSABLE_SUBSET [G])
    	wipe_out

    Constraints
    	before definition