[C API][Fix] add recursively handling for AddN variant
Hi @penpornk Can you please review this PR ? Thank you! @penpornk , could you please review this PR? Thanks! Hi @ShengYang1 Can you please check @penpornk's comments and keep us posted ? Thank you! > Hi @ShengYang1 Can you please check @penpornk's comments and keep us posted ? Thank you!

All comments point to one same issue. My reply is:
Possibly we can not do like that, as the signature of `AddNVariant` doesn’t match `VariantBinaryAddFunc`, following existing implementation, we have to add a lambda capture for this. It’s same with original code: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/c/kernels_experimental.cc#L485.
When the input of AddN is nested variant(eg, nested TensorList), for current implementation, `TF_AddNVariant` will leave a variant tensor for `binary_add_func` used by vendor extension, which cannot be handled in extension as variant class is opaque for extension. So recursively handling for variant is needed, and `TF_ZerosLikeVariant` did same work, code [link](https://github.com/tensorflow/tensorflow/blob/e35b2853331f3caed7612f2ae0596fd2fe1353f3/tensorflow/c/kernels_experimental.cc#L529) for `TF_ZerosLikeVariant`.