Thanks a lot for your answer, all works fine,
a note on a bug i found is when illogical parent changing is applied (for example here setting the child as parent of its parent) makes the current windows nightly crash instead of returning an error (even when try/except is used) :
Doing checks may have performance impact, so some of the missing checks may be intentional. Is there any way you could make the application crash other than setting child as parent?
No, that was the only way it happened in hierarchies,
agreed but users may end up making their own checks (with more performance loss) to make the scripts safer if doing intricate re-organisations (try/except would be fine but it doesn’t prevent the crash in this case)