0(1) element: null
1(2) element: PyMatchStatement
2(3,20) refutable pattern: {'foo': 1, 'bar': foo.bar}
3(4,20) refutable pattern: 'foo': 1
4(5,20) refutable pattern: 'foo'
5(6) matched pattern: 'foo'
6(7,20) refutable pattern: 1
7(8) matched pattern: 1
8(9) matched pattern: 'foo': 1
9(10,20) refutable pattern: 'bar': foo.bar
10(11,20) refutable pattern: 'bar'
11(12) matched pattern: 'bar'
12(13) refutable pattern: foo.bar
13(14,20) READ ACCESS: foo
14(15) matched pattern: foo.bar
15(16) matched pattern: 'bar': foo.bar
16(17) matched pattern: {'foo': 1, 'bar': foo.bar}
17(18) element: PyStatementList
18(19) element: PyExpressionStatement
19(21) READ ACCESS: x
20(21) ASSERTTYPE ACCESS: null
21(22) element: PyExpressionStatement
22(23) READ ACCESS: y
23() element: null