code: function createAttributeSetters(gl, program) {
    const attribSetters = {
    };
  
    const numAttribs = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
    for (let ii = 0; ii < numAttribs; ++ii) {
      const attribInfo = gl.getActiveAttrib(program, ii);
      if (isBuiltIn(attribInfo)) {
          continue;
      }
      const index = gl.getAttribLocation(program, attribInfo.name);
      const typeInfo = attrTypeMap[attribInfo.type];
      const setter = typeInfo.setter(gl, index, typeInfo);
      setter.location = index;
      attribSetters[attribInfo.name] = setter;
    }
  
    return attribSetters;
  }
docs: Creates setter functions for all attributes of a shader
  program. You can pass this to {@link module:twgl.setBuffersAndAttributes} to set all your buffers and attributes.
  
  @see {@link module:twgl.setAttributes} for example
  @param {WebGLProgram} program the program to create setters for.
  @return {Object.<string, function>} an object with a setter for each attribute by name.
  @memberOf module:twgl/programs