merge should return an instance of itself