Why does script need to be purged from transactions for mimblewimble to work? What is the compatibility problem between script and mimblewimble usage on the main chain?

Is there a way that Bitcoin can adapt to allow both mimblewimble and features like multi sig, atomic swaps and time-lock transactions?
The incompatibility comes down to 2 main factors:


Pruning: an important addition of the mimblewimble proposal is the ability to merge transactions across blocks. If transactions include scripts, merging becomes impossible as the script behavior is unknown. While for simple spends, it's fairly straightforward to eliminate matching amounts.
No address: in mimblewimble the equivalent of bitcoin addresses (hash of a public key) don't really exist. There may be a way to still be able to send money for a contract but it'd be difficult for a contract to send money to anyone.