Currently the caller level of T's decorate function is fixed
_, file, line, ok := runtime.Caller(3) // decorate + log + public function.
When wrapping common assertions in a code block, it would be useful to be able to modify
the caller level for correct log output.