added support for array with lengths set to previous struct member values