Implemented the rest 'merge' overloads
Added unit tests