Since getUniformLocation returns a WebGLUniformLocation, then shouldn't getAttribLocation returns something like a WebGLAttributeLocation rather than a GLint? After all, we are not going to (and should not) be modifying that int anyway, why not make it a little more intuitive and abstract?