This seems like it would produce a very confusing error message if someone wants to halide_assert in a runtime function that doesn't take a user context. Perhaps make the user context an argument to the macro?