allow non-serial numeric or non-numeric keys for StructureList