`LayerTypeInfo` can define a `layers_max()` function which determines the maximum allowed number of layers. Upon merging, this limit was respected from the source, but not on the destination, so it was possible to exceed the max (if there were layers on the destination already). NOTE: `layers_max()` is currently only defined for legacy CD_MTFACE, but we might want to enforce this for UVs / CD_PROP_FLOAT2 again. This came up in #111608. Pull Request: https://projects.blender.org/blender/blender/pulls/111609