Recursively merge all the things

See commits for details