I just want to bring this up as a restricted version of this proposal.
The main problem is circular dependency. You may need item foo's definition to infer bar's definition and vice versa at the same time. This will results a complex constrain solving, and that may not have an unique inference result.