if members.size() == 0
rows * columns must be between 1 and 15
type must not be Struct
if members.size() > 0
type must be Struct or Unknown or ConstantBlock
rows must be 0
columns must be 0
then recurse and check construction of each element of members array