new: merge* recursive merge; do: use it.