public override int GetHashCode() { unchecked { return(((Right != null ? Right.Aggregate(new int(), (i, s) => { i += s.GetHashCode(); return i; }) : 0) * 397) ^ (Left != null ? Left.GetHashCode() : 0)); } }