0(1) element: null 1(2) element: PyMatchStatement 2(3) refutable pattern: [x] | (foo.bar as x) 3(4,6) refutable pattern: [x] 4(5,6) WRITE ACCESS: x 5(11) matched pattern: [x] 6(7) element: PyAsPattern 7(8) refutable pattern: foo.bar 8(9,15) READ ACCESS: foo 9(10) matched pattern: foo.bar 10(11) WRITE ACCESS: x 11(12) matched pattern: [x] | (foo.bar as x) 12(13) element: PyStatementList 13(14) element: PyExpressionStatement 14(16) READ ACCESS: y 15(16) ASSERTTYPE ACCESS: null 16(17) element: PyExpressionStatement 17(18) READ ACCESS: z 18() element: null