It is ugly that the XL requires the contract code to be written inside of the publish!, as opposed to collapsing all of the following (@ CTC ...) blocks. An alternative approach to XL would break those appart and have a phase that reconstructs them. The main reason I don't know how to do that now is that I don't want to have the scope of the contract be a global thing and I don't know another way to collect all the published variables in the contract.
It is ugly that the XL requires the contract code to be written inside of the publish!, as opposed to collapsing all of the following (@ CTC ...) blocks. An alternative approach to XL would break those appart and have a phase that reconstructs them. The main reason I don't know how to do that now is that I don't want to have the scope of the contract be a global thing and I don't know another way to collect all the published variables in the contract.