'If this feature structure is frozen, return its hash value;
otherwise, raise ``TypeError``.'

def __hash__(self):

    if (not self._frozen):
        raise TypeError(u'FeatStructs    must    be    frozen    before    they    can    be    hashed.')
    try:
        return self._hash
    except AttributeError:
        self._hash = self._calculate_hashvalue(set())
        return self._hash
