Macro for checking predicates

Is there a macro that behaves like @assert, showing the contents on failure, but isn’t disabled by optimization, so it can be used for validation?

It seems like it would be useful in a lot of cases but I can’t find a package for it.