The Slate interpreter provides two console Streams primitively, ConsoleInput and ConsoleOutput, which are Read- and WriteStreams by default, capturing keyboard input and writing out to the console, respectively. These are also accessible as Console reader and Console writer. Console interactor delegates to these, acting as a ReadWriteStream.