Introducing SparseArray::At(), Set() and Each() as well as tidying up private types