generalized ConstData::evaluate