def merge_section(key, prnt_sec, child_sec, style):
    """ Synthesize a output napoleon docstring section.

    Parameters
    ----------
    key: str
        The napoleon-section being merged.
    prnt_sec: Optional[str]
        The docstring section from the parent's attribute.
    child_sec: Optional[str]
        The docstring section from the child's attribute.
    Returns
    -------
    Optional[str]
        The output docstring section."""
    if prnt_sec is None and child_sec is None:
        return None
    assert style in ('google', 'numpy')
    if key == 'Short Summary':
        header = ''
    elif style == 'numpy':
        header = '\n'.join((key, ''.join('-' for i in range(len(key))), ''))
    else:
        header = '\n'.join((key + ':', ''))
    body = prnt_sec if child_sec is None else child_sec
    return header + body
