Slightly simplified collection function, defined using causedBy, moved `handle` test to ResourceSafetySpec