human
I wrote the below code

    @attach_name_and_doc(fun, argnum, 'Jacobian')
    @add_error_hints
    def jacfun(*args, **kwargs):
        (vjp, ans) = make_vjp(fun, argnum)(*args, **kwargs)
        ans_vspace = vspace(ans)
        jacobian_shape = (ans_vspace.shape + vspace(args[argnum]).shape)
        grads = map(vjp, ans_vspace.standard_basis())
        return np.reshape(np.stack(grads), jacobian_shape)
    return jacfun

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

def jacobian(fun, argnum=0):