AST has concept of stream.
Separate streams and expressions in AST.
streamMap implemented in DSL.
Don't use AST.Stream in Stream.
Extract DAG module.