This function is old and was created quickly. We need the following:
First, we should establish specific use cases for when this is needed (and specifically, where the not-yet-created "update" system should be used instead)
Extensive error handling is needed. It's not the case that any two simulations can be merged. We need to establish conditions under which two simulation objects can be merged (e.g. simulations with different result dataframe columns probably can't be merged).
Need to handle sim_uid overlap.
Returned simba object should have a "merged" flag indicating that it is the result of a merge. This flag may dictate some later behavior.
This function is old and was created quickly. We need the following: