Использую laravel-fractal. В последней версии league/fractal, на основе которого и построен spatie/fractalistic, добавили тип primitive и все стало на свои места.
Конечно, не обошлось без танцев с бубном: я сделал для нужных моделей трейт Transform, который добавляет метод toApi (хотя лучше бы назвал transform), берущий класс из переменной $transformer:
И пришлось написать макрос для collection ларавельной, тоже toApi(). Хотя без обеих этих фич можно обойтись, используя fractal($items, $transformer).
В остальном же полностью доволен.