The component properties might be accessed through different paths so we may still reach a case where we have to borrow something that is already borrowed