i don't know if this is intended but it was very convenient abusing an early return in calculate functions to avoid running a joker's original code, the same is impossible with add_to_deck related functions which makes properly taking ownership of jokers such as credit card/bean annoying without a messier workaround
maybe we could just check for a return true to return the function in Card.add_to_deck early?