It will get too messy to deal with constant initializers any other way, so just deal with complexity in argument_decl instead ...
Multiple patches can run in the same workgroup when using multi-patch mode, so we need to allocate enough storage to avoid false sharing.