protected Value(ValueTypes valueType) { if (!valueType.Verify()) { throw new ArgumentException($"{valueType} is unexpected."); } Type = valueType; }