thanks for pointing that out, i think i know now where the problem is
i was using a simplified code snippet to highlight the top-level key deletion question, the actual code is a bit more complicated, the variable that holds the top-level key is the result of a regular expression match, and i yet again underestimated the greediness of the .* construct
thanks again for pointing out the useful of "warnings" & "diagnostics" pragmas, and your help on the usage of the "delete" function in the HoH context, thank you all