* For certain very large arrays it can be nice to defer generation of structured data until it's needed, since often maybe only a handful of elements may be needed (or commonly none at all).