/// <summary>
 /// Dispatches the children of a collection to their respective visit methods for eventual dispatchment to the <see cref="innerVisitor"/>.
 /// </summary>
 /// <param name="node">The node whose children should be visited.</param>
 protected internal override void VisitCollection(CompareNodeCollection node)
 {
     foreach (var child in node.Children)
     {
         child.Accept(this);
     }
 }
 /// <summary>
 /// Visits a single <see cref="CompareNodeCollection"/> and produces a value of type <typeparamref name="TResult"/>.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 /// <returns>The result of visitng the node.</returns>
 protected internal override TResult VisitCollection(CompareNodeCollection node) => DefaultVisit(node);