Ok, but why?
I like the beauty of an expressive type system as much as the next guy, but is there any scenario where:
type FooBar = mergeMaps Foo Bar
Is better for solving real-world problems than type FooBar = { "_foo", Foo, "_bar", Bar }
or whatever?