std::list default-constructs itself as an empty list, so we don't need to call ValueData.clear() in the constructor.