In order to create a MTLIndirectCommandBuffer, authors need to specify how many commands it can hold: https://developer.apple.com/documentation/metal/mtldevice/2967420-newindirectcommandbufferwithdesc?language=objc
I believe we originally designed the expressivity of GPURenderBundleEncoder to be implementable on MTLIndirectCommandBuffer, so this omission is probably an oversight.