Initializing workgroup variables is more tricky for Metal because we have to deal with atomics at the type-level (which don’t have a copy constructor).