I don't mean allowing higher dimensional needles, just non-continuous, e.g. needle[::-2]
your code already supports that with the key_str parameter.