def NULL_not_found(object: any) -> int:
    nullType = type(object)

    match object:
        case None:
            print("Nothing:", object, nullType)
        # using a guard https://docs.python.org/3/reference/compound_stmts.html#guards
        # (NaN == NaN) = false https://docs.python.org/3.10/reference/expressions.html#value-comparisons "A counter-intuitive implication is that not-a-number values are not equal to themselves"
        case float() if object != object:
            print("Cheese:", object, nullType)
        # need check before int(), why ?
        case bool() if object == False :
            print("Fake:", object, nullType)
        case int() if object == 0 :
            print("Zero:", object, nullType)
        case str() if object == '' :
            print("Empty:", nullType)
        case _:
            print("Type not Found")
            return 1
    
    return 0