public function delete($key) { $storage = $this->storage; if (array_key_exists($key, $this->storage)) { unset($storage[$key]); } return new static($this->keyType, $this->valType, $storage); }