When using table(cast(multiset to split delimited strings to rows within a CTE, if you cast to the sys.odcivarchar2list type, your results get nulled out if you reference that CTE more than once (though you still get the correct number of rows).
Aliasing the CTE or wrapping it in another doesn't help.
This doesn't appear to be an issue with sys.odcinumberlist.
https://livesql.oracle.com/apex/livesql/s/ha9mppio10hvtm8sb9p7lip10
Originally noticed on 12.2.0.3, reproduced in Live SQL (18.0).
Has anyone else run into this before? Is there a good way around this, or should I be using a different method to split delimited strings ad hoc?