from typing import Optional
from typing import List
from typing import Tuple


def check_bracketed(word: str, brackets: Optional[List[Tuple[str, str]]] = None) -> bool:
    """
    Checks whether a given string is surrounded by brackets.

    Parameters
    ----------
    word : str
        Text to check for final brackets
    brackets: List[Tuple[str, str]]], optional
        Brackets to check, defaults to [('[', ']'), ('{', '}'), ('<', '>'), ('(', ')')]

    Returns
    -------
    bool
        True if the word is fully bracketed, false otherwise
    """
    if brackets is None:
        brackets = [("[", "]"), ("{", "}"), ("<", ">"), ("(", ")")]
    for b in brackets:
        if word.startswith(b[0]) and word.endswith(b[-1]):
            return True
    return False