and if so, what pitfalls must one avoid while designing the class to insure its instances will always be hashable?