Vertical -> horizontal fusion communicate through CanBeFused trait of loops only.
Horizontal fusion respects fused ifs, vertical preserves fused nodes, mirroring marks producer ifs as fused.