Using
Identity Thief on a Melded card, does result in only the return of the original card, not the Melded into one.
i think the problem can be narrowed that it need to remember the other one too.
I think the best way for that would be if GameAction.changeZone does return a List<Card> or a CardCollection.
that open up other problems for cards like
Mimic Vat (it should only imprint one card, probably let you choose one).
i already did a bit cleanup with moving Undying & Persist out of the way into a Trigger.
(to get them working with Undying & Persist, TriggerChangesZone probably need to check for Meld too)
===
But i don't want to touch that yet and want to add a class for CostAdjustment (i do a new class, because i can not integrate the other stuff into it)
Other developers might port the other RaiseCost and ReduceCost & SetCost stuff into it later.
Instead of using ManaCostPaid in ManaCostAdjustment, i try to link into CostPayment (or directly extending that one?)