OBJECT_PUT(arg1, arg2, arg3)
arg2 must be identifier not a dotted path.
Depends on where u use you can do this
OBJECT_PUT(x.toplevel3, secondlevel, newValue) The return value will be x.toplevel3 not x
OBJECT_PUT(x, toplevel3, OBJECT_PUT(x.toplevel3, secondlevel, newValue) ) gives x