human
Here's a good function header given the following:
I wrote the below code

    def wrapped_grad(argnum, g, ans, vs, gvs, args, kwargs):
        return make_vjp(fun, argnum)(*args, **kwargs)[0](g)
    wrapped = primitive(fun)
    wrapped.vjp = wrapped_grad
    return wrapped

What's a good function header?
assistant
#Here's a good function header.

def checkpoint(fun):