Can we make the logic of writing nulls as vint.  In case of ArrayConstructorExpression we need to know the actual size of the nulls because we use ptr.set.
In the normal case where we create bytes from the Array i think we can infer the max value of repeating nulls and use vint to create the byte size.  Because using byte any value more than the 127 would mean it would create negative values.  Also if there an array with 32 repeating null values and another array with 287 repeating values would endup same because we would write 0 32 as the count.  What do you think?