*/ private array $types = []; public function __construct(private TypeParser $delegate) {} public function parse(string $raw): Type { return $this->types[$raw] ??= $this->delegate->parse($raw); } }