def get_doc_entries(target: typing.Callable) -> list:
    """
    Gets the lines of documentation from the given target, which are formatted
    so that each line is a documentation entry.

    :param target:
    :return:
        A list of strings containing the documentation block entries
    """

    raw = get_docstring(target)

    if not raw:
        return []

    raw_lines = [
        line.strip()
        for line in raw.replace('\r', '').split('\n')
    ]

    def compactify(compacted: list, entry: str) -> list:
        chars = entry.strip()

        if not chars:
            return compacted

        if len(compacted) < 1 or chars.startswith(':'):
            compacted.append(entry.rstrip())
        else:
            compacted[-1] = '{}\n{}'.format(compacted[-1], entry.rstrip())

        return compacted

    return [
        textwrap.dedent(block).strip()
        for block in functools.reduce(compactify, raw_lines, [])
    ]
Gets the lines of documentation from the given target, which are formatted
    so that each line is a documentation entry.

    :param target:
    :return:
        A list of strings containing the documentation block entries