In other blockchains, even if your transaction fails, you are still taxed gas or other scarce resource in order to compensate nodes for processing your transaction and defend against spam. On the other hand, in EOSIO, it seems like it is not the case that failed transactions consume any resources for the sender despite consuming CPU cycles for the node processing the transaction.
Is the rationale behind this design decision explained anywhere?