types: steal types when merging if possible

Like we do everywhere else. Removes some unnecessary allocations and
copying.

Signed-off-by: Ran Benita <ran234@gmail.com>
compat: steal interps and leds when merging if possible

Signed-off-by: Ran Benita <ran234@gmail.com>
symbols: steal keys and modmaps when merging if possible

Signed-off-by: Ran Benita <ran234@gmail.com>