OKAY. So how many times have you had hundreds of unusable items? (Cobblestone, diorite, andesite) etc. just taking up space? I think it would be cool to add a new type of villager that will buy these things from you. Different blocks = different reward. Such as, 1 stack of cobble would get you 15 carrots. Whereas more expensive items, like ghast tears or an ended dragon head would get you diamonds? I think it would be super interesting and helpful. Idk. Maybe this has already been suggested.
There's quite a few items in minecraft that have limited uses (rotten potatos/Rotten flesh for example).. so any way of 'recycling' (or getting alternative stuff) from those items is a good thing especially if you have large automated farms that produce so much stuff you will never use, however for the rare stuff (ghast tears/dragon head) I disagree...
It's fairly hard getting these so why would you get rid of them for a few diamonds ??.. by the time you've reached the end you'll probably have too many diamonds stock piled as it is
I would also think that upcycling/recycling trades with villagers should have some sort of 'logic' (even though many minecraft ideas are not that logical) so your example of Cobble for carrots doesn't make much sense to me
Something more like a fisherman may want fishing rods & he'll give you fish, a [animal] Farmer (breeder) may want seeds/carrots/potatos/beetroots (no trades for beetroots has ever been setup) & will trade for meat, a stone mason would trade cobble/andersite etc for chiselled stone (or even the new grindstone)