why does npm still not have a decent way to handle circular dependencies? it's 2023, can we get some better error handling or at least a more intuitive way to resolve these issues?