Use stream instead of channel
Add Compiler.interactive