I have actually found the error and it came before
The error occurred at A = {{}, {}}. This only defined 2 levels, A[1] and A[2]. As I mentioned in a later message, it should have been A = {{}, {}, {}, {}, {}, {}, {}, {}, {}} to give me the 9 levels I was looking for.the issue is that with A[3][1] = 9.
That said, I have no reason to believe that your approach is more elegant! Thanks and I'll keep that snippet on file.
Sparky