The rp2040 chip has a resolve_dependencies method which handles circular references, and the rp2350 copies the approach. The results in a lot of OptionalCells that don't really need to be options, and similarly useless runtime checks for optional cells that will never be empty.
This should be converted to the component + finalize pattern so these circular refs can be set up statically.