I think it would be a good idea to make the functions in OpenGL more consistent. This idea came to me while I was deleting lists and textures. They both work with a set of numbers and they both work with GLuint, and they both allocate hardware, yet the functions work differently. A little example:
GLuint firstList;
GLuint textures[10];
firstList = glGenList(10);
glGenTextures(10, textures);
glDeleteLists(firstList, 10);
glDeleteTextures(10, textures);
As you can see the results and inputs of the functions are quite similar (and could be made similar if they both worked with pointers), but they are not at all congruent. This makes for much more looking up function-spex.
Just my two [euro-]cents