public function addCasters(array $casters)
    {
        foreach ($casters as $type => $callback) {
            $closure = &$this->casters[$type][];
            $closure = $callback instanceof \Closure ? $callback : static function (...$args) use ($callback, &$closure) {
                return ($closure = \Closure::fromCallable($callback))(...$args);
            };
        }
    }