The modules in the 'stdlib/private' directory contain APIs that are
considered private to the Swift project. Don't use them outside of the
repositories related to the Swift project.

These APIs are used for building Swift build and test automation tools,
represent early prototypes of APIs that are not intended to be included
in the standard library soon, modules to support ports to other platforms,
and other similar needs that are private to the Swift project and its
development process.


