I'm writing a function to split an EmpiricalDistribution into a mixture of unimodal distributions. It works well, returning the result as a MixtureDistribution. Except, when the original distribution is already unimodal, the resulting md=MixtureDistribution[{1}, ...] is automatically simplified to a DataDistribution (which makes sense in general). Can I prevent this somehow, so I can always extract the weights with md[[1]] and the components with md[[2]]? This would be more elegant than havin...