func Merge(base, override interface{}) interface{} {
	b := reflect.ValueOf(base)
	o := reflect.ValueOf(override)
	ret := mergeRecursive(b, o)
	return ret.Interface()
}
Merge will take two data sets and merge them together - returning a new data set
package merge
import "reflect"