Move annotations from values to traces
Usage bits (expressing demand/availability) are no longer stored on values, but on the traces that “explain” those values. This allows values to be shared by different steps of the computation, but have different usage at each step. Also reorganised things so that traces are structurally separate from values, as they are in the formalism.