public override int CompareTo(Expression R) { Index RF = R as Index; if (!ReferenceEquals(RF, null)) { return(LexicalCompareTo( () => target.CompareTo(RF.Target), () => indices.LexicalCompareTo(RF.Indices))); } return(base.CompareTo(R)); }