code: def on_subscript(self, node):    # ('value', 'slice', 'ctx')
          
          val = self.run(node.value)
          nslice = self.run(node.slice)
          ctx = node.ctx.__class__
          if ctx in (ast.Load, ast.Store):
              if isinstance(node.slice, (ast.Index, ast.Slice, ast.Ellipsis)):
                  return val.__getitem__(nslice)
              elif isinstance(node.slice, ast.ExtSlice):
                  return val[nslice]
          else:
              msg = "subscript with unknown context"
              self.raise_exception(node, msg=msg)
docs: Subscript handling -- one of the tricky parts.