Merge now accepts structs too
fixed passing a pointer to a struct