Added a clone2 method that returns NULL when passed NULL. Otherwise it clones per usual
Added a differ2 function that first tests if its arguments are NULL
Added a test which I believe breaks because it forces a clone of NULL