func Merge(dst, src interface{}, opts ...func(*Config)) error {
	return merge(dst, src, opts...)
}
func Merge(dst, src interface{}, opts ...func(*Config)) error {
	return merge(dst, src, opts...)
}
func Merge ( dst , src interface { } , opts ... func ( * Config ) ) error { return merge ( dst , src , opts ... ) }
// Merge will fill any empty for value type attributes on the dst struct using corresponding
// src attributes if they themselves are not empty. dst and src must be valid same-type structs
// and dst must be a pointer to struct.
// It won't merge unexported (private) fields and will do recursively any exported field.
Merge will fill any empty for value type attributes on the dst struct using corresponding src attributes if they themselves are not empty . dst and src must be valid same - type structs and dst must be a pointer to struct . It won t merge unexported ( private ) fields and will do recursively any exported field .