In preparation for D76818.
BTW, some of the reasons have been outlined in previous patches and discussions. For example, being able to mix with other libc implementations. There are possibly other ways to do it. Decision on using namespaces as a solution has already been made so we will stick with it.