Distinguish in signatures link sites and state sites
Internally in KaSim every agent in the mixture is represented by 2 arrays: one to give the linking state of each of its sites, one to give the internal state of each of its sites. But, some sites do not have any internal state and some sites can only be free. We should reduce the memory footprint of simulations by not allocating space for these invariant sites.
Concretely, it means that integers associated to a user defined site should depend upon if you talk about it as a link site or a state site and invariant sites should not have numbers.
Parsing needs to be done with care but no difficulty is expected. Printing will probably be more annoying...
Main modules involved are term/signature.ml grammar/eval.ml term/kappa_printers.ml and grammar/lKappa.ml