Why not real anonymous functions?

Just for the sake of a concrete example:

foo = def (*args, **kwargs): do
    print("anoynmous function")
    if args[0]:
        call_something()
    return 42
end
foo(1, 2, 3)
this_func_takes_a_func_arg(
    first_arg,
    def (*args, **kwargs): do
        print("anoynmous function")
        if args[0]:
            call_something()
        return 42
    end,
    "whatever",
)