some renaming
err_if_not<T>
conditional progress