public bool ValueEquals(Production other) { if (this.Lhs != other.Lhs) { return false; } if (!this.Rhs.SequenceEqual(other.Rhs)) { return false; } if (this.Weight != other.Weight) { return false; } return true; }