def format_author(self):

        if self.authors == []:
            return ""
        if len(self.authors) > 5:
            return u"%s et al." % self.authors[0][0]
        if len(self.authors) > 2:
            auth_string = u""
            for author in self.authors[:-1]:
                auth_string += author[0] + ', '
            return auth_string + u"& " + self.authors[-1][0]
        if len(self.authors) == 2:
            return self.authors[0][0] + u" & " + self.authors[1][0]
        return ', '.join(self.authors[0])
Create type annotation after type inference
dataset/ETHPy150Open rafaqz/citation.vim/python/citation_vim/zotero/item.py/zoteroItem.format_author--crossover with--dataset/ETHPy150Open numba/numba/numba/compiler.py/Pipeline.stage_annotate_type