Actually here's a better question...
If there's enough money available to sign Donaldson and trade for Bryant, why on earth wouldn't you simply sign Donaldson and Castellanos and keep all the prospects?
Because Bryant is the better player and is versatile and carries far less risk. Post-2021 you just swap out 1 of Bryant or Freeman for Waters.