This removes None from the SparseNDCoords type (since we now accept () as the "return everything" value) and separates a singular SparseNDCoord type out from it.
Also introduces a generic Slice protocol, since there is no stdlib-based type annotation for "a slice of a given type". This is, unfortunately, still not useful at runtime, since slice is always going to resolve to Slice[Any], but the annotation is useful for specification purposes.
This removes
None
from theSparseNDCoords
type (since we now accept()
as the "return everything" value) and separates a singularSparseNDCoord
type out from it.Also introduces a generic
Slice
protocol, since there is no stdlib-based type annotation for "a slice of a given type". This is, unfortunately, still not useful at runtime, sinceslice
is always going to resolve toSlice[Any]
, but the annotation is useful for specification purposes.This is a roundabout part of fixing https://github.com/single-cell-data/TileDB-SOMA/issues/933.