A constructor.
Generate PIR. Make sure that the used functions end up in the PIR.
This is called in schemec.