def parse_google_returns(docstr, return_annot=None):
blocks = split_google_docblocks(docstr)<EOL>for key, block in blocks:<EOL><INDENT>lines = block[<NUM_LIT:0>]<EOL>if key == '<STR_LIT>':<EOL><INDENT>for retdict in parse_google_retblock(lines, return_annot):<EOL><INDENT>yield retdict<EOL><DEDENT><DEDENT>if key == '<STR_LIT>':<EOL><INDENT>for retdict in parse_google_retblock(lines, return_annot):<EOL><INDENT>yield retdict<EOL><DEDENT><DEDENT><DEDENT>
r"""
    Generates dictionaries of possible return hints based on a google docstring

    Args:
        docstr (str): a google-style docstring
        return_annot (str): the return type annotation (if one exists)

    Yields:
        Dict[str, str]: dictionaries of return value hints

    Example:
        >>> docstr = parse_google_returns.__doc__
        >>> retdict_list = list(parse_google_returns(docstr))
        >>> print([sorted(d.items()) for d in retdict_list])
        [[('desc', 'dictionaries of return value hints'), ('type', 'Dict[str, str]')]]

    Example:
        >>> docstr = split_google_docblocks.__doc__
        >>> retdict_list = list(parse_google_returns(docstr))
        >>> print([sorted(d.items())[1] for d in retdict_list])
        [('type', 'List[Tuple]')]