We have 15.3 mil in cap space right now. Cooper still counts about 6 mil against our cap. So while it would be tight right this second, we could have absolutely held on to him (Knowing we would trade him during the draft or cut him later).
It would have been
very tight, and again required the crazy foresight of the 1st round run on WR's.
No amount of restructuring would have changed the cap impact, because Cooper would not take a paycut. For example, built into the contract is a rider that lets the team convert 18+ million to SB and add two void years (Cincy has already done this) to reduce the 2022 burden. But the instant you trade him, you owe all of that money
and you are out 18 million.
You can pretend now with hindsight that having Coopers 20 million money all count against your cap would be easy to take on (and still keep Schultz, etc), but the math barely works out. At the time, no one had the benefit of knowing the future.
Also, it's not clear if it was just the run that created the demand, as it could have been that they just wanted both Browns to play with their college QB's.
The Rams' Robert Woods was traded for even less than Cooper for exactly the same reason.
Personally, I'd have kept Cooper and never traded him.