Even though there may exist UDF libraries today that provide the functionality, not everyone is willing or able to maintain them should they break with future versions. Core functions (hopefully) would get more thorough testing and even if they did get broken, there would be an expectation that they would be fixed. UDFs come with a "use at your own risk" disclaimer.

Then there is also the general UDF-a-phobia.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.