: Always provide a useful implementation to make debugging easier.
: Inheritance breaks encapsulation; use wrappers or delegates instead.
: Always override them together. If you break this, HashMap and HashSet will fail.
: Always specify types (e.g., List , not List ) to catch errors at compile time.