The basis of SetReplace is a type system which allows one to separate generation of data (such as the data about the evaluation of a nondeterministic system) and computation of properties from that data.
The usual form for the type spec is {system, version}, e.g., {MultisetSubstitutionSystem, 0}.
Multihistory— a generic kind of types for computational systems: