This directory implements the port, path, encoding, printing, and formatting layer. It can be run in a host Racket with `make demo`, which is useful for development and debugging, but it's meant to be compiled for use in Racket on Chez Scheme; see "../cs/README.txt", especially the "Modifying Racket" section. Core error support must be provided as a more primitive layer, including the exception structures and error functions that do not involve formatting, such as `raise-argument-error`. The more primitive layer should provide a `error-value->string-handler` paramemeter, but this layer sets that parameter (so the primitive error functions like `raise-argument-error` won't work right until this layer is loaded). Thread and event support is similarly provided as a more primitive layer. Running `make demo` doesn't rely on that, while running `make demo-thread` uses the thread implementation in "../thread" to demonstrate cooperation between the layers.