def _join_abbreviated_names(lst):
    """Joins a list of name strings like ["J.", "Frank"] such that it adds a space if
    one of the two names is not abbreviated. See
    <https://english.stackexchange.com/a/105529/23644>.
    """
    if len(lst) == 0:
        return ''
    out = lst[0]
    last_ends_in_dot = lst[0][-1] == '.'
    for item in lst[1:]:
        ends_in_dot = item[-1] == '.'
        if last_ends_in_dot and ends_in_dot:
            out += item
        else:
            out += ' ' + item
        last_ends_in_dot = ends_in_dot
    return out
