First-class channel that reschedules the continuation of a system-level channel inside its user-level thread.
A front channel has two roles: - monitors the complexity of channel transformations and schedules the new channel operations on a thread pool if the complexity becomes too high.
IChan that contains some state S
IChan that can be tested for the availability of data in memory.