They help when you have multiple tightly related components evolving together, as often happens when you have internal helper libraries for a binary. Breaking changes are easier to do, especially between releases where there might be several breaking changes (you would have to mess with patch table on cargo to use fir dependencies otherwise)
1 Like