Usually when a contractor creates some new solution for their client it is understood that “tools of trade” used by the contractor are owned by the contractor, while any new IP created for the client is owned by the client.
What happens when the client wants to own all the IP? Does this ever make sense?
Wouldn’t that make it impossible for the contractor to build anything similar for other clients? How would the contractor grow their business if they stopped using tools of trade? Do these things even get enforced legally (how would one prove the solution was repeated elsewhere and thus infringing on IP rights?)