Implementing normalization across groups of channels

GroupNormalization is as important as LayerNormalization and BatchNormalization. The current NormalizationLayer doesn’t have an option for normalizing across groups of channels. It can be implemented by a sequence of reshaping and normalization layers.

GroupNormalization[nGroups_, inputShape_] := 
   NetChain[{ 
(*assuming the channel dimension is the first one*)
    ReshapeLayer[{nGroups, inputShape[[1]]/nGroups, Inherited, 
      Automatic}], NormalizationLayer[2 ;;, "Complement"], 
    ReshapeLayer[inputShape]}, "Input" -> inputShape]

It would be great if the number of groups option was added to LayerNormalization or create a new layer for only this purpose.