Split out StructAccessor stuff; implemented accessing data inside basic lists