code: function getPureArraySetter( type ) {
  
  	switch ( type ) {
  
  		case 0x1406: return setValue1fv; // FLOAT
  		case 0x8b50: return setValueV2a; // _VEC2
  		case 0x8b51: return setValueV3a; // _VEC3
  		case 0x8b52: return setValueV4a; // _VEC4
  
  		case 0x8b5a: return setValueM2a; // _MAT2
  		case 0x8b5b: return setValueM3a; // _MAT3
  		case 0x8b5c: return setValueM4a; // _MAT4
  
  		case 0x8b5e: return setValueT1a; // SAMPLER_2D
  		case 0x8b60: return setValueT6a; // SAMPLER_CUBE
  
  		case 0x1404: case 0x8b56: return setValue1iv; // INT, BOOL
  		case 0x8b53: case 0x8b57: return setValue2iv; // _VEC2
  		case 0x8b54: case 0x8b58: return setValue3iv; // _VEC3
  		case 0x8b55: case 0x8b59: return setValue4iv; // _VEC4
  
  	}
  
  }
docs: Helper to pick the right setter for a pure (bottom-level) array