depthFirstSignals method
Collect all signals under this occurrence in depth-first order.
Visits this occurrence's signals first, then recurses into children in order. Useful for flat iteration or counting, but signals should always be identified by their OccurrenceAddress or path — never by a positional index in this list.
Production code should use signalCount, computedSignalCount, or a recursive visitor instead of materializing the full list.
Implementation
@visibleForTesting
List<SignalOccurrence> depthFirstSignals() =>
[...signals, ...children.expand((c) => c.depthFirstSignals())];