anchor.diff:  class _Sampler2DArrayUniform extends _BasicUniform {
     final int _size;
   
  +  final Int32List _units;
  +
     _Sampler2DArrayUniform(RenderingContext context, _GLProgram program,
         WebGL.UniformLocation location, WebGL.ActiveInfo info, String name)
         : _size = info.size,
  +        _units = new Int32List(info.size),
           super(context, program, location, info, name);
   
     void bindValue(Object value, bool autoProvisioning) {
  
positive.code: 
            context._bindTexture2D(texture);
  
            units[i] = context._activeTextureUnit;
          }
  
          context.textureResources._getGLTexture2D(texture).applySampler(sampler);
        }
  
        glContext.uniform1iv(location, units);
      } else {
        throw new ArgumentError('Cannot bind a value of type '
            '`${value.runtimeType}` to uniform `${info.name}` of type '
  
negative.code:             'does not match the size of the uniform ($_size).');
        }
  
        for (var i = 0; i < length; i++) {
          final sampler = value[i];
          final texture = sampler.texture;
          final existingUnit = context._textureUnitsTextures.inverse[texture];
  
          if (existingUnit != null) {
            _units[i] = existingUnit;
  
            context._recentlyUsedTextureUnits
              ..remove(existingUnit)
  