public override int GetHashCode() { unchecked { var hash = Targets.Aggregate(29, (current, variable) => current * 19 + variable.GetHashCode()); hash = Expressions.Aggregate(hash, (current, expression) => current * 17 + expression.GetHashCode()); hash += Local.GetHashCode(); return(hash); } }