Somewhere along the line, we seem to have gotten into a mode of wanting generic code at all costs.
I know. Years ago I proposed a vector library for 2, 3, and 4 element vectors [1] as a standard. The immediate complaint was that it didn't use templates.
The trouble is that a reasonable requirement such as single-precision floating point support would require a developer to copy/paste/modify hundreds of LOC. The choice is really fork, duplicate or template.
I don't blame glm for picking the latter. Every option is painful, but templates might be a little less so.
I know. Years ago I proposed a vector library for 2, 3, and 4 element vectors [1] as a standard. The immediate complaint was that it didn't use templates.
[1] http://www.animats.com/source/graphics/algebra3.h