¿Qué syntax está representada por un nodo ExtSlice en el AST de Python?

Estoy navegando a través del módulo ast de Python y no puedo entender la definición de los segmentos:

 slice = Ellipsis | Slice(expr? lower, expr? upper, expr? step) | ExtSlice(slice* dims) | Index(expr value) 

Hasta ahora, sé que Ellipsis es [...] , Slice es la notación [start:end:step] habitual, el Index es [index] , pero ¿qué notación es ExtSlice ?

Una división extendida es una división con varias partes que utiliza alguna característica específica de la división.

Una característica específica de la porción es algo como ... (una elipsis literal) o una : (un separador de prueba).

Entonces, un ejemplo donde ExtSlice está involucrado para una expresión como o[...:None] o o[1,2:3] .

Aquí hay algunos ejemplos que demuestran esto:

 >>> compile('o[x]', '', 'exec', PyCF_ONLY_AST).body[0].value.slice <_ast.Index object at 0xb72a9e6c> >>> compile('o[x,y]', '', 'exec', PyCF_ONLY_AST).body[0].value.slice <_ast.Index object at 0xb72a9dac> >>> compile('o[x:y]', '', 'exec', PyCF_ONLY_AST).body[0].value.slice <_ast.Slice object at 0xb72a9dcc> >>> compile('o[x:y,z]', '', 'exec', PyCF_ONLY_AST).body[0].value.slice <_ast.ExtSlice object at 0xb72a9f0c> >>>