This class can be used to generate all the possible instances of a model, or to generate random instances. It only takes into account discrete parameters (bools and ints) but not continuous parameters like colours and floats, which may be set to random values.