I mean the usage sort of is similar but this is specifically about the labels of the functions in the binary (asm or instruction really) level which is in a way a bit of a lower level. Also, the caller which in this case are library users either need to know what the different implementations are which kinda could be harry and difficult for users, or the library would have a bunch of function pointers in memory that it would assign, meaning you'd have to init libraries and can't just call functions from the library which makes almost all libraries a little more heavy (even if it's a few instructions) on top of allowing a nice new vector for hackers to exploit (I'll just make the pointer point to "evil_strlen:").