def _get_content_or_str(tag, alt="", pick=lambda x: x[0]):
    """
    Get content of the `tag`, or return alternative defined by `alt`.

    In case that tag is instance of ``list`` or ``tuple``, `pick` function is
    applied.

    Args:
        tag (HTMLElement/list): Instance of HTMLElement or list.
        alt (obj, default ""): Alternative value for tag ``if not tag``.
        pick (fn, default lambda): Pick item from list of `tag`. Default lambda
             that picks first item.

    Return:
        str: Content of `tag`.
    """
    if not tag:
        return alt

    if isinstance(tag, list) or isinstance(tag, tuple):
        tag = pick(tag)

    return tag.getContent()