key; } public function type(): Type { return $this->type; } public function isOptional(): bool { return $this->optional; } public function attributes(): Attributes { return $this->attributes ?? Attributes::empty(); } public function toString(): string { return $this->isOptional() ? "{$this->key->toString()}?: {$this->type->toString()}" : "{$this->key->toString()}: {$this->type->toString()}"; } }