Track assignment and invocation within attribute chains more thoroughly.
Record assignments affecting the whole attribute chain, not just immediate
assignments.
1deff(d): 2returnd.keys() 3 4defg(d): 5forkey,valueind.items(): 6returnvalue 7 8d={"a":1,"b":2} 9f(d)# ["a", "b"] 10g(d)# either 1 or 2