I completely understand why `assert_nothing_raised` should be used very sparingly, I've seen many cases where it shouldn't.

I don't believe this is one of them though.

Note that testing that an Enumerable is returned is wrong for two reasons.
1) It *doesn't actually work*, because the argument is mutated only when consuming it!
2) I believe it puts the focus on the wrong thing. This test is not about what is returned, but about the fact that it doesn't blow up when given a frozen argument. We know what should be the effect and what should be returned, that's already covered in other tests.

I probably should blog about this, but here are the conditions for usage of `assert_nothing_raised`:
1) What is in the block is not present in any other test.
2) The test is solely about the fact that something doesn't blow up; in particular there are no other assertions in the test.

Then, and only then, one *should* use `assert_nothing_raised`. This is the case here.