I think you instead want something like:
----
Trash a card from your hand. Discard a card.
If you did trash a card and discard a card, do this twice: gain an Action card from the Supply and play it. At the beginning of your cleanup phase, return any cards thus gained to the Supply.
----
This still has some weird interactions, though. (like, I *think* that with Trader, you'd just get two Silvers, and you would indeed get to keep them.)