The compiler does this with other “library” functions like malloc and printf. There’s no reason a compiler couldn’t convert to a built in for this new type.
C doesn't have member functions and doesn't do implicit conversions to/from struct types.
That’s obvious and also completely unrelated to what I was saying.
The optimizer can convert a library type to a builtin type if it still behaves as specified in the standard.
C isn't powerful enough to have the library type behave as desired (with implicit conversions, etc.).
aye, if it is defined in the same standard, there is really no technical difference between a language feature and a library feature.