$userNamespaces * @param Closure(array): array|ArchExpectation> $execute */ public function __construct( private readonly array $userNamespaces, private readonly string $name, private readonly Closure $execute, ) { parent::__construct($userNamespaces); } public function name(): string { return $this->name; } public function execute(): void { $this->expectations = ($this->execute)($this->userNamespaces); } }