1. The document describes a communication system for the Singularity OS that uses message passing over channels as the sole means of inter-process communication. 2. Channels are bidirectional and consist of two endpoints that are statically typed. Channel contracts specify valid message types and sequences. 3. Safety is ensured through the use of a type-safe language and static verification that guarantees each block of shared memory is owned by only one thread at a time.