gracefully handle a nil keyfunc passed to Parse.  (and more tests)