I didn't go that route because I wanted to not include null values in the final output by default (and I was considering serializer inheritance).

What if pagination was supplied by fractal, but your serializer wanted to drop it? When $output is a reference, you'd just have to change how processPaginator() works (say in an inherited class). But if you're returning values, the best you could do is return null, which would be included in the final output. And if wanted to drop it, you'd have to override serialize() too.

Maybe this isn't the best way, but that was the reasoning.