def snake(term: str) -> str:
    """Convert the given string to snake case.

    Args:
        term: the term/word/phrase to convert

    Returns:
        The snake-cased version of the provided identifier.

    """
    buffer = []
    for pos, character in enumerate(term):
        if character.isupper() and pos != 0:
            buffer.append("_")
        buffer.append(character.lower())
    return "".join(buffer)