'Yields a list of semantically broader synsets.'

def hypernyms(self, recursive=False, depth=None):

    p = [Synset(p.getTarget()) for p in self._synset.getPointers(wn.HYPERNYM)]
    if ((depth is None) and (recursive is False)):
        return p
    if (depth == 0):
        return []
    if (depth is not None):
        depth -= 1
    if ((depth is None) or (depth > 0)):
        [p.extend(s.hypernyms(True, depth)) for s in list(p)]
    return p
