pub type ValueGenerator<R> = Box<dyn Fn(&mut R, &ConcreteDataType, Option<&dyn Random<Ident, R>>) -> Value>;
struct ValueGenerator<R>(/* private fields */);