Interpolation of Indexed Functions of Mixed Elements

Ok, that sort of worked.

In fact my situation was even a little more involved, since I had to deal with a whole array of such functions.
See https://fenicsproject.discourse.group/t/problems-with-numpy-arrays-of-functions-over-mixedelement/1171 for a description of the setup (y below refers to arr_Y of the there).

With your help it could now change my from

y1_cmp = numpy.array([project(yt[0], Y1_cmp) for yt in y], dtype=object)
y2_cmp = numpy.array([project(yt[1], Y2_cmp) for yt in y], dtype=object)

to

y_tmp = [yt[0].ufl_operands[0].split() for yt in y]
y1_cmp = numpy.array([interpolate(yt[0], Y1_cmp) for yt in y_tmp])
y2_cmp = numpy.array([interpolate(yt[1], Y2_cmp) for yt in y_tmp])

I must admit though that I am still confused why this is so “complicated”. It uses the first entry in ufl_operands of yt[0] which is relatively confusing to parse in my opinion.
Why is it necessary to use split here instead of just indexing?
Is my expectation wrong that I could use interpolate basically everywhere where I could use project?