public function map(callable $callback): Collection
    {
        $values = [];

        foreach ($this->getInternalValue() as $key => $value) {
            $values[$key] = $callback($value, $key);
        }

        return new static($values, $this->type);
    }