Digging a little deeper: Not all websites or game platforms have a cancel/undo feature. At BGA, we do, and most of the time this is a good thing. Generally speaking, anything that reveals new information cannot be undone. In a game like Wingspan, this never matters - after a dice roll or drawn card, you can just undo back to that point.
But, in Terraforming Mars, we could have a Hellas South pole situation in which the game gets deadlocked. Someone plays nuclear zone on the south pole, resulting in a card draw. (The player is Point Luna). The card is drawn first, but now the player cannot pay the 6 MC. Maybe the player thought the Nuclear zone would raise the temperature to the bonus ocean, gaining 4 MC of adjacency bonus. But the player miscalculated something, and now the game is stuck.
Options:
1) Writing code to shuffle the card back into the deck and cancel the action is possible from a coding standpoint. Would this work within the BGA framework? Unsure.
2) Another option is to just have the game be deadlocked and forfeited. But that's also bad. Especially in a 3+ player game.
3) Maybe there could be a rule addendum implemented by the game designer to implement option 1 and just do a reshuffle. But then you would have unhappy players complaining "I would have gotten that card!" Similar to blackjack players complaining when someone hits a 3 against a dealer 6, draws a face card, and then the dealer draws a 5. (Of course, these are all random cards and this could work to the benefits of the players if the dealer ends up drawing a bust card when otherwise it would have been a 5.
4) The South pole action could just be blocked if a player does not yet have 6 MC at the start of the action. But then we have players saying, "Hey, I should be able to do this because I will have 6 MC eventually before finishing the action."
5) A more complex solution would be to write a code block that creates a separate function that checks for maximum MC rebates from all sources, thereby determining the placement to be valid without 6 MC. Possible, but not easy. There are many ways this could occur. Tharsis could play an expensive city on that tile while having Spinoff department. This would draw a card, and trigger various rebates (Tharsis ability, Rover construction, etc.). I'm sure other scenarios exist.
Getting back to the reshuffle. What if the deck is down to one card. If we "shuffle" one card, it is still the only card in the draw pile, and now the next player knows what that card is.
So, it's an all-around tricky situation.
We could also, in theory, figure out which cards cannot possibly fail, and write a line of code that allows the card to be drawn first. Ocean placing cards (Large Convoy, Convoy from Europa) likely cannot fail, but other cases may arise with more promo cards in the future.
All in all, no easy task.