Control various aspects of the analyze and generation like what nodes to process.
Parameters used during generation. Important aspect that they do NOT change, therefore it is pure.
Data produced by the generator like files.
Generator of test doubles for C code.