properties[$key] = $value; } public function unset(string $key) { unset($this->properties[$key]); } public function __clone() { $properties = array_combine( array_keys($this->properties), array_map(fn($v) => clone $v, $this->properties) ); return new ObjectNode($properties); } }