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); } }