def _contains_type(obj):
    """
    This function checks whether a JSON-serializable object does not contain any "_type" attributes or keys.

    :param obj: the object to check, should be created using the _ReducingEncoder
    :return: True if the object contains _type, False otherwise
    """
    if isinstance(obj, dict):
        return any(key == '_type' or _contains_type(value) for key, value in obj.items())
    if isinstance(obj, list):
        return any(_contains_type(value) for value in obj)
    return False