public override bool Equals(object obj) { var other = obj as TypeRestriction; return other?._expression == _expression && TypeUtils.AreEquivalent(other._type, _type); }