Why does BM_edge_splice keep duplicate face loops instead of removing them

Hi,

I’m reading the BM_edge_splice function in “bmesh_core.hh”. I noticed that when the function removes all loops from e_src, it doesn’t just remove them from e_src’s radial cycle, it also reappends them to e_dst. This appears to fold the loops into e_dst, reversing their direction. That means, at this point, if I iterate through loops on this face, I would encounter this edge twice with adjacent loops. Why is this function implemented this way?