This is non-trivial, and requires a heap of code re-writing to handle `idx === nulll` cases.
This is non-trivial, and requires a heap of code re-writing to handle
idx === nulllcases.