def METHOD_NAME(
    msg: str,
    col: Optional[Colour_Types] = None,
    file: Optional[str] = None,
    end: str = "\n",
) -> None:
    """\
    Print a string, in a specified ansi colour with timestamp.
    Allows for the functionality to write to a file as
    well by passing the filepath with the `file` parameter.
    """
    ts_short = get_timestamp(full=False, tz=_log_tz)
    if col:
        if col is Rainbow:
            print(f"{Ansi.GRAY!r}[{ts_short}] {_fmt_rainbow(msg, 2/3)}", end=end)
            print(f"{Ansi.GRAY!r}[{ts_short}] {_fmt_rainbow(msg, 2/3)}", end=end)
        else:
            # normal colour
            print(f"{Ansi.GRAY!r}[{ts_short}] {col!r}{msg}{Ansi.RESET!r}", end=end)
    else:
        print(f"{Ansi.GRAY!r}[{ts_short}]{Ansi.RESET!r} {msg}", end=end)
    if file:
        # log simple ascii output to file.
        with open(file, "a+") as f:
            f.write(f"[{get_timestamp(full=True, tz=_log_tz)}] {msg}\n")