Reconcile an IRNode tree against the instance tree and generate patches
This is the primary entry point for the IRNode-based reconciliation system,
which supports first-class ForEach, When/If, and custom item variable names.
Replace item bindings (Value::Binding with is_item() or TemplateString with item bindings) with actual item values
OPTIMIZED: Uses single-pass replacement instead of O(n²) repeated scans
This is a convenience wrapper that uses “item” as the default item name.