It is supposed to return NULL for coverage_paths == NULL.

We're using a similar pattern to gjs_profiler_new in that we return NULL if it wouldn't make sense to create the object. However, I totally agree that its a silly pattern - I only had it in there for consistency's sake.

Should we move the check for coverage_paths == NULL up higher into gjs_debug_coverage_new's caller?