an environment that was compatible with all the existing software
clang
provides __attribute__((overloadable))
, which enables a limited version of C++-style name-mangling based polymorphism, so that you don't have to write a _Generic
wrapper for each function."