store struct's properties in an array instead of tuple (to be able to store additional values of subtypes needed by initialisation)