I’m very interested in figuring out how is python code for primfunc is generated, especially the ‘block_attr’ part. but the code here is too complicated: TVM_STATIC_IR_FUNCTOR(IRDocsifier, vtable) .set_dispatchtir::PrimFunc("", [](tir::PrimFunc func, ObjectPath p, IRDocsifier d) → Doc {