For derived variables, holds Derivations and Factories for producing Derivations. All derived variables are produced by their specific subclass of DerivationFactory. A class interested in generating Derivations will ask various DerivationFactories to instantiate them from a number of VarInfos, and each DerivationFactory determines how many (if any) Derivations are worth generating.

Each Derivation holds a set of base variables as VarInfo. The Derivation can generate: VarInfo of the derived variable it represents; the value of the variable when given a ValueTuple.