public override int GetHashCode() { unchecked { return(Outcome.GetHashCode() + Pattern.Aggregate(0, (a, p) => a + p.GetHashCode())); } }