def METHOD_NAME(
    heading: str,
    *,
    char: str = "#",
    width: int = UI_WIDTH,
    details: Iterable[str] | None = None,
) -> str:
    """Generate a title banner, with optional details included.
    Parameters
    ----------
    heading : str
        Text to use for the title
    char : str, optional
        A character to use to frame the banner. (default: "#")
    width : int, optional
        How wide to draw the banner. (Note: user-supplied heading or
        details willnot be truncated if they exceed this width)
    details : Iterable[str], optional
        A list of lines to diplay inside the banner area below the heading
    """
    pre = f"{char*3} "
    divider = char * width
    if not details:
        return f"\n{divider}\n{pre}{heading}\n{divider}"
    return f"""