def METHOD_NAME(df):
    """
    This is a static method that checks if a given pandas DataFrame is hashable or not.
    It checks if all the columns containing object types in the input DataFrame are hashable or not.
    If any column is not hashable, it raises a TypeError indicating which columns are not hashable.
    Args:
    df (pandas.DataFrame): The DataFrame to be checked for hashability.
    Raises:
    TypeError: If any column containing object types in the input DataFrame is not hashable.
    """
    df_objects = df.select_dtypes(include="object")
    non_hashable_cols = []
    for col in df_objects.columns:
        if not isinstance(df[col].iat[0], Hashable):
            non_hashable_cols.append(col)
    if non_hashable_cols:
        raise TypeError(
            f"The following columns in your df: {non_hashable_cols} are not hashable. "
            f"We currently support only hashable column types such as int, bool, str, tuple and not list or dict."
        )