What makes it particularly awkward is that some exchanges like Bitstamp, Coinmama and Lykke send withdrawals as smart contract payments.
Bitstamps has the following warning when you send Ethereum.
A lot of exchanges warn:
It avoids problems if you send smart contract payments to MEW or a personal wallet and then to an exchange.
It will reach the other exchange but cannot be processed by them. Some exchanges will manually recover it. Some exchanges will charge a fee for manual recovery and some exchanges won't recover it.
A lot of exchanges do not accept smart contracts. There are good reasons for this.
With a NORMAL transaction the ETH is sent from the senders address via the blockchain to the receiver address.
With a SMART CONTRACT a 0 ETH transaction with instructions (code) is sent to the CONTRACT address. The contract address then executes a internal transaction (code) to the receiver address.
Smart contracts also don't have just a single way it can be coded - or by who. A smart contract is custom code.
Smart contracts can be vulnerable for exploits:
Smart contracts leave millions vulnerable
Security Vulnerabilities in Smart Contracts
Smart contract exploit training
NORMAL transaction and how it appears on the block explorer
SMART CONTRACT transaction and how it appears on the block explorer
It avoids problems if you send smart contract payments to MEW or a personal wallet and then to an exchange.