Laravel — как типизировать Illuminate\Support\Collection?
наследовался, переопределил offsetSet(), сделал в нем проверку, в чем вопрос то?
А в чем проблема сделать кастомную коллекцию и потом переопределить её конструктор который будет валидировать входящие модели?
Код из документации:<?php

namespace App;

use App\CustomCollection;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * Create a new Eloquent Collection instance.
     *
     * @param  array  $models
     * @return \Illuminate\Database\Eloquent\Collection
     */
    public function newCollection(array $models = [])
    {
        return new CustomCollection($models);
    }
}