@cached_property<EOL><INDENT>def morphs(self):<DEDENT>
seen = set()<EOL>saw = seen.add<EOL>morphs = chain([self.morph1, self.morph2], self.tolerances)<EOL>unique_morphs = (x for x in morphs if x and not (x in seen or saw(x)))<EOL>return tuple(sorted(unique_morphs, key=len, reverse=True))<EOL>
The tuple containing the given morphs and all the possible tolerant
        morphs.  Longer is first.