/// <summary>
 /// Strongly-typed Replace.
 /// </summary>
 protected QilNode Replace(XmlILOptimization pattern, QilNode original, QilNode replacement) {
     return base.Replace((int) pattern, original, replacement);
 }
 /// <summary>
 /// Selectively enable/disable optimizations
 /// </summary>
 private bool this[XmlILOptimization ann] {
     get { return Patterns.IsSet((int)ann); }
 }
 /// <summary>
 /// Strongly-typed AllowReplace.
 /// </summary>
 protected bool AllowReplace(XmlILOptimization pattern, QilNode original) {
     return base.AllowReplace((int) pattern, original);
 }