def is_bool_field(ary) -> bool:
    """
    Whether a field can be interpreted as booleans.

    Parameters
    ----------
    ary : iterable object
        A field containing values that could be booleans.

    Returns
    -------
    bool
        `True` if the `ary` is determined as booleans.

    Raises
    ------
    TypeError
      * If `ary` is not iterable.

    Examples
    --------
    >>> is_bool_field(["True", "False", "False"])
    >>> True

    >>> is_bool_field([True, 0, 1, 1, False])
    >>> True

    >>> is_bool_field([True, False, "a"])
    >>> False
    """

    try:
        iter(ary)
    except TypeError as error:
        raise TypeError("Argument must be iterable.") from error

    bools = [
        [True, False],
        [0, 1],
        ["True", "False"],
        ["true", "false"],
        ["T", "F"],
        ["t", "f"],
        ["0", "1"],
        ["是", "否"],
    ]

    if not ary:
        return False

    return any(all(x in b for x in ary) for b in bools)