def _is_hashable(x):
    """
    I implemented this because ``isinstance({}.__getitem__, collections.Hashable)``
    does not do what I want.
    """
    try:
        hash(x)
    except TypeError:
        return False
    else:
        return True
