public override bool Unify(ValueInstance other, out ValueInstance output)
        {
            ClosedValueInstance vi = other as ClosedValueInstance;

            HCObjectSet <FeatureValue> intersection = m_values.Intersection(vi.m_values);

            if (intersection.Count > 0)
            {
                output = new ClosedValueInstance(intersection);
                return(true);
            }
            else
            {
                output = null;
                return(false);
            }
        }