the nextIndex operations need to be generalized lightly to provide the address *evidence*. this commit adds it to the dense layout class, still need to add it to sparse.
the sparse formulation looks like :: form -> Index n -> Maybe (Index n, address).

NB: may want to generalize slightly further to have the signature  :: form -> Index n -> Maybe address -> Maybe (Index n, address)
where the Maybe address argument is an optional hint (in the form of valid address) for a "lower bound" on the range to search for the next valid index