Circular program
Strict program
Deforested program