    class
    	SED_MEDIUM_READER_WRITER_1

    General
    	cluster: base
    	description: "Serialize/Deserialize data from a medium."
    	create: make_with_buffer, make

    Ancestors
    	SED_BINARY_READER_WRITER*

    Queries
    	is_for_reading: BOOLEAN
    	is_pointer_value_stored: BOOLEAN
    	is_ready_for_reading: BOOLEAN
    	is_ready_for_writing: BOOLEAN
    	read_boolean: BOOLEAN
    	read_character_8: CHARACTER_8
    	read_compressed_integer_32: INTEGER_32
    	read_compressed_natural_32: NATURAL_32
    	read_integer_16: INTEGER_16
    	read_integer_32: INTEGER_32
    	read_integer_64: INTEGER_64
    	read_integer_8: INTEGER_8
    	read_natural_16: NATURAL_16
    	read_natural_32: NATURAL_32
    	read_natural_64: NATURAL_64
    	read_natural_8: NATURAL_8
    	read_pointer: POINTER
    	read_real_32: REAL_32
    	read_real_64: REAL_64
    	read_string_8: STRING_8

    Commands
    	read_footer
    	read_header
    	set_for_reading
    	set_for_writing
    	set_is_pointer_value_stored (v: [like is_pointer_value_stored] BOOLEAN)
    	write_boolean (v: BOOLEAN)
    	write_character_8 (v: CHARACTER_8)
    	write_compressed_integer_32 (v: INTEGER_32)
    	write_compressed_natural_32 (v: NATURAL_32)
    	write_footer
    	write_header
    	write_integer_16 (v: INTEGER_16)
    	write_integer_32 (v: INTEGER_32)
    	write_integer_64 (v: INTEGER_64)
    	write_integer_8 (v: INTEGER_8)
    	write_natural_16 (v: NATURAL_16)
    	write_natural_32 (v: NATURAL_32)
    	write_natural_64 (v: NATURAL_64)
    	write_natural_8 (v: NATURAL_8)
    	write_pointer (v: POINTER)
    	write_real_32 (v: REAL_32)
    	write_real_64 (v: REAL_64)
    	write_string_8 (v: STRING_8)

    Constraints
    	medium not void