from typing import Counter


def compare_lists(s, t):
    """
    Compares two unordered lists and checks for equality.
    Duplicates are considered and False is returned when one list has a different number of the same item.
    The objects in the list have to be hashable.
    :param s: The first list to compare.
    :param t: The second list to compare.
    :return: True iff the two lists contain the same elements (including duplicates) in some order, False otherwise.
    """
    if not isinstance(s, list) or not isinstance(t, list):
        return False
    return len(s) == len(t) and Counter(s) == Counter(t)