OptionalevaluateEvaluate eligibility and enabled() for candidates below the winner
instead of short-circuiting them to shadowed.
Off by default, and deliberately so: the default walk's early exit is what
keeps resolveOnly's enabled() call count identical to a real dispatch,
and enabled() predicates are only contractually pure — not free.
Turn it on for diagnostics, where "this one was outranked" is a less
useful answer than "this one was outranked AND would have been disabled
anyway". With it on, shadowed narrows to its precise meaning: this
candidate would have fired, but something above it did.
Options for Dispatcher.resolveAll.