public function map(callable $func) : self
    {
        $list = $this->list;

        foreach ($list as $index => $val) {
            $list[$index] = $func($val);
        }

        return new static($list);
    }