human
I wrote the below code

    from numba.targets.arrayobj import _empty_nd_impl
    def codegen(context, builder, signature, args):
        arrty = signature.return_type
        assert arrty.is_precise()
        shapes = unpack_tuple(builder, args[0])
        res = _empty_nd_impl(context, builder, arrty, shapes)
        return impl_ret_new_ref(context, builder, arrty, res._getvalue())
    nd = len(shape)
    array_ty = types.Array(ndim=nd, layout='C', dtype=types.undefined)
    sig = array_ty(shape)
    return (sig, codegen)

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

@intrinsic
def empty_inferred(typingctx, shape):