Sorry please ignore this for now. I've realised there is a bug here where we could end up packing components in only one of the shaders but not the other. For example if we have an array on one side but just a bunch of individual varyings on the other (which is legal I believe). I'll send a version 3 to fix this.