from typing import Sequence


def format_list(to_format: Sequence[str], /, *, comma: str = ",") -> str:
    """
    Formats a sequence of strings for display.

    Opinionated choices on formatting below.

    Single item sequences return their only item
    Two items return the items seperated by "and"
    Three or more returns a comma seperated list
    with an oxford comma and the word "and".

    Parameters
    ----------
    to_format: Sequence[str]
    comma: str
        An optionally provided string to use in place of a standard comma
        (such as a semicolon used to seperate lists of comma seperated lists)

    Raises
    ------
    ValueError
        empty sequence

    Returns
    -------
    str
    """

    length = len(to_format)

    if length == 0:
        raise ValueError("Must provide at least one item")

    if length == 2:
        return " and ".join(to_format)
    if length > 2:
        *most, last = to_format
        h = f"{comma} ".join(most)
        return f"{h}{comma} and {last}"
    return next(iter(to_format))