def uid(self): return hash_(self.autocomplete())
def __eq__(self, o): return utils.hash_(self) == utils.hash_(o)
def uid(self): if self.uid_ is not None: return self.uid_ return utils.hash_(self.autocomplete())
def __hash__(self): return utils.hash_(utils.freeze(self.__dict__))