indexing
     description: "Objects that ..."
     author: ""
     date: "$Date$"
     revision: "$Revision$"

deferred class interface
     BASIC_KEY

feature -- Initialization

     make (type: like item)
                 -- Initialize
     
feature --Access

     hash_code: INTEGER
                 -- Hash code value
           ensure -- from HASHABLE
                 good_hash_value: Result >= 0

     Is_basic: BOOLEAN is True

     item: HASHABLE
     
feature -- Status report

     is_hashable: BOOLEAN
                 -- May current object be hashed?
                 -- (True if it is not its type's default.)
                 -- (from HASHABLE)
           ensure -- from HASHABLE
                 ok_if_not_default: Result implies (Current /= default)
     
invariant

           -- from ANY
     reflexive_equality: standard_is_equal (Current)
     reflexive_conformance: conforms_to (Current)

end -- class BASIC_KEY