diff --git a/src/OpenFOAM/containers/IndirectLists/IndirectList/IndirectListI.H b/src/OpenFOAM/containers/IndirectLists/IndirectList/IndirectListI.H
index d179d1c0bcad6bbd2d39c042b7203ca839c976a2..cb2d5e4fac1ebd411b263e795d99d0e843a538af 100644
--- a/src/OpenFOAM/containers/IndirectLists/IndirectList/IndirectListI.H
+++ b/src/OpenFOAM/containers/IndirectLists/IndirectList/IndirectListI.H
@@ -35,7 +35,8 @@ inline Foam::IndirectList<T>::IndirectList
     const labelUList& addr
 )
 :
-    IndirectListAddressing<labelList>(addr),
+    // Copy addressing
+    IndirectListAddressing<labelList>(labelList(addr)),
     UIndirectList<T>
     (
         values,
@@ -51,6 +52,7 @@ inline Foam::IndirectList<T>::IndirectList
     labelList&& addr
 )
 :
+    // Move addressing
     IndirectListAddressing<labelList>(std::move(addr)),
     UIndirectList<T>
     (
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C
index 0233e32c5dc41749ce30dfeab2cd57b1e0e91cad..bcbe10bf8e2f5745834bf4664940f3f83e9fe4ce 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C
@@ -409,7 +409,7 @@ Foam::labelListList Foam::combineFaces::getMergeSets
         }
     }
 
-    return allFaceSets.shrink();
+    return labelListList(std::move(allFaceSets));
 }
 
 
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C
index 8be969216cc8354c7fac2a58c7fb714f8a30b9bf..ab924692a2cd9e170935350b9dd26665adda2483 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C
@@ -180,7 +180,7 @@ Foam::labelList Foam::removeCells::getExposedFaces
         }
     }
 
-    return exposedFaces.shrink();
+    return labelList(std::move(exposedFaces));
 }
 
 
diff --git a/src/fileFormats/vtk/part/foamVtuSizing.C b/src/fileFormats/vtk/part/foamVtuSizing.C
index 87a99cac4b890b2d4d9d42628c15ce130efa0f12..b8c6377c483c1120ace219ddcde4f9a1be114556 100644
--- a/src/fileFormats/vtk/part/foamVtuSizing.C
+++ b/src/fileFormats/vtk/part/foamVtuSizing.C
@@ -780,14 +780,13 @@ Foam::labelList Foam::vtk::vtuSizing::copyVertLabelsLegacy
     const label globalPointOffset
 )
 {
-    if (!globalPointOffset)
+    labelList output(vertLabels);
+
+    if (globalPointOffset)
     {
-        return vertLabels;
+        renumberVertLabelsLegacy(output, globalPointOffset);
     }
 
-    labelList output(vertLabels);
-    renumberVertLabelsLegacy(output, globalPointOffset);
-
     return output;
 }
 
@@ -863,14 +862,13 @@ Foam::labelList Foam::vtk::vtuSizing::copyVertLabelsXml
     const label globalPointOffset
 )
 {
-    if (!globalPointOffset)
+    labelList output(vertLabels);
+
+    if (globalPointOffset)
     {
-        return vertLabels;
+        renumberVertLabelsXml(output, globalPointOffset);
     }
 
-    labelList output(vertLabels);
-    renumberVertLabelsXml(output, globalPointOffset);
-
     return output;
 }
 
@@ -902,14 +900,13 @@ Foam::labelList Foam::vtk::vtuSizing::copyFaceLabelsXml
     const label globalPointOffset
 )
 {
-    if (!globalPointOffset)
+    labelList output(faceLabels);
+
+    if (globalPointOffset)
     {
-        return faceLabels;
+        renumberFaceLabelsXml(output, globalPointOffset);
     }
 
-    labelList output(faceLabels);
-    renumberFaceLabelsXml(output, globalPointOffset);
-
     return output;
 }
 
@@ -957,14 +954,13 @@ Foam::labelList Foam::vtk::vtuSizing::copyFaceOffsetsXml
     const label prevOffset
 )
 {
-    if (!prevOffset)
+    labelList output(faceOffsets);
+
+    if (prevOffset)
     {
-        return faceOffsets;
+        renumberFaceOffsetsXml(output, prevOffset);
     }
 
-    labelList output(faceOffsets);
-    renumberFaceOffsetsXml(output, prevOffset);
-
     return output;
 }
 
diff --git a/src/fileFormats/vtk/read/vtkUnstructuredReader.C b/src/fileFormats/vtk/read/vtkUnstructuredReader.C
index 40b45b37e77b76358ecf996c45b445a6ca9b895b..71a64a8ae28a9acc7987c4a1745976f33e11b519 100644
--- a/src/fileFormats/vtk/read/vtkUnstructuredReader.C
+++ b/src/fileFormats/vtk/read/vtkUnstructuredReader.C
@@ -566,7 +566,8 @@ Foam::wordList Foam::vtkUnstructuredReader::readFieldArray
         );
         fields.append(arrayName);
     }
-    return fields.shrink();
+
+    return wordList(std::move(fields));
 }
 
 
diff --git a/src/functionObjects/utilities/vtkWrite/vtkWriteUpdate.C b/src/functionObjects/utilities/vtkWrite/vtkWriteUpdate.C
index 45ed8fdc3afbb8902cf5d0181fac3f649df7e672..57c67cc18698864a085761dda30a22ba9c902bf0 100644
--- a/src/functionObjects/utilities/vtkWrite/vtkWriteUpdate.C
+++ b/src/functionObjects/utilities/vtkWrite/vtkWriteUpdate.C
@@ -78,7 +78,7 @@ Foam::labelList Foam::functionObjects::vtkWrite::getSelectedPatches
         }
     }
 
-    return patchIDs.shrink();
+    return labelList(std::move(patchIDs));
 }
 
 
diff --git a/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C b/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C
index b10fe98d72dfa43196dd1498b0b77a67358fee73..160a9f75badf8df026c1f279b32bd081b6442e2a 100644
--- a/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C
+++ b/src/lumpedPointMotion/pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C
@@ -137,7 +137,7 @@ Foam::lumpedPointDisplacementPointPatchVectorField::patchIds
         }
     }
 
-    return patchLst.shrink();
+    return labelList(std::move(patchLst));
 }
 
 
diff --git a/src/lumpedPointMotion/tools/lumpedPointTools.C b/src/lumpedPointMotion/tools/lumpedPointTools.C
index eba1d49d058a593f1c0f6310beb214619d510d12..d676f6df2c91877a8b038eda55615d2f2bf4b141 100644
--- a/src/lumpedPointMotion/tools/lumpedPointTools.C
+++ b/src/lumpedPointMotion/tools/lumpedPointTools.C
@@ -92,21 +92,24 @@ Foam::lumpedPointTools::lumpedPointStates
     Info<<"Reading states\n";
     List<dictionary> entries(dict.lookup("response"));
 
-    DynamicList<Tuple2<scalar, lumpedPointState>> states(entries.size());
+    label statei = 0;
+
+    // List<lumpedPointStateTuple>
+    List<Tuple2<scalar, lumpedPointState>> states(entries.size());
 
     for (const dictionary& subDict : entries)
     {
-        states.append
-        (
+        states[statei] =
             lumpedPointStateTuple
             (
                 subDict.get<scalar>("time"),
                 lumpedPointState(subDict)
-            )
-        );
+            );
+
+        ++statei;
     }
 
-    return states.shrink();
+    return states;
 }
 
 
diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C
index 2c92d2f05910370e8341348adc6cafca2b9a06eb..7a233dc90229adf213d4287ef5bb284489c5c46f 100644
--- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C
+++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C
@@ -3995,7 +3995,8 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
             }
         }
     }
-    return faceLabels.shrink();
+
+    return labelList(std::move(faceLabels));
 }
 
 
diff --git a/src/meshTools/regionSplit/localPointRegion.C b/src/meshTools/regionSplit/localPointRegion.C
index c4dd9b2eef81194cdb2e4511e1eb0e4b9b1ecd7a..df78dbd4d6c5cd652046c438d3eca20ee189179a 100644
--- a/src/meshTools/regionSplit/localPointRegion.C
+++ b/src/meshTools/regionSplit/localPointRegion.C
@@ -677,7 +677,8 @@ Foam::List<Foam::labelPair> Foam::localPointRegion::findDuplicateFacePairs
             }
         }
     }
-    return baffles.shrink();
+
+    return List<labelPair>(std::move(baffles));
 }
 
 
diff --git a/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C b/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C
index 9242d8c7d4397c225a537d9e398d20f66af94ca4..bd942e25d1078ae0f898d1b27c62116751fa2ff8 100644
--- a/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C
+++ b/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C
@@ -1113,7 +1113,7 @@ Foam::labelList Foam::surfaceFeatures::selectFeatureEdges
         }
     }
 
-    return selectedEdges.shrink();
+    return labelList(std::move(selectedEdges));
 }
 
 
diff --git a/src/surfMesh/MeshedSurface/MeshedSurface.C b/src/surfMesh/MeshedSurface/MeshedSurface.C
index 3feb342a7b9d1182774f245ec9c8f3ee5433a474..30516a5518ca18721cf5dd0f09b544e90a88cebe 100644
--- a/src/surfMesh/MeshedSurface/MeshedSurface.C
+++ b/src/surfMesh/MeshedSurface/MeshedSurface.C
@@ -277,7 +277,7 @@ Foam::MeshedSurface<Face>::MeshedSurface
     const UList<surfZone>& zoneLst
 )
 :
-    MeshReference(faceLst, pointLst), // Copy construct
+    MeshReference(List<Face>(faceLst), pointLst),  // Copy construct
     faceIds_(),
     zones_(zoneLst)
 {
@@ -310,7 +310,7 @@ Foam::MeshedSurface<Face>::MeshedSurface
     const UList<word>& zoneNames
 )
 :
-    MeshReference(faceLst, pointLst), // Copy construct
+    MeshReference(List<Face>(faceLst), pointLst),  // Copy construct
     faceIds_(),
     zones_()
 {
diff --git a/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.C b/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.C
index a58d42cbc282f6e73dc19b8292da0a4e33e2a24a..843d1f21c659e0e952c57350973bf8d5b3e09d1e 100644
--- a/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/abaqus/ABAQUSsurfaceFormat.C
@@ -253,7 +253,7 @@ void Foam::fileFormats::ABAQUSsurfaceFormat<Face>::write
     const UList<label>& elemIds  = surf.faceIds();
 
     // for no zones, suppress the group name
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst, "")
diff --git a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C
index 6e84873870c4ae3c16a38e9ad0d742196b5b2cdf..9894bdfc31d06bfc7611bf2dcf93b7551706e6d9 100644
--- a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C
@@ -314,7 +314,7 @@ void Foam::fileFormats::AC3DsurfaceFormat<Face>::write
     const pointField& pointLst = surf.points();
     const UList<Face>& faceLst = surf.surfFaces();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().size()
       ? surf.surfZones()
@@ -404,7 +404,7 @@ void Foam::fileFormats::AC3DsurfaceFormat<Face>::write
 
     if (zoneLst.size() <= 1)
     {
-        const surfZoneList zones =
+        const surfZoneList zones
         (
             zoneLst.size()
           ? zoneLst
diff --git a/src/surfMesh/surfaceFormats/fire/FLMAsurfaceFormat.C b/src/surfMesh/surfaceFormats/fire/FLMAsurfaceFormat.C
index a1d6d2bd2d7706426b959a2e35b52827c1b44377..40673c202daebe6813667bf3892b58f364801f5b 100644
--- a/src/surfMesh/surfaceFormats/fire/FLMAsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/fire/FLMAsurfaceFormat.C
@@ -174,7 +174,7 @@ void Foam::fileFormats::FLMAsurfaceFormat<Face>::write
     const UList<label>& faceMap = surf.faceMap();
 
     // for no zones, suppress the group name
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst, word::null)
diff --git a/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C b/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C
index 01bf468340d1da676d22da0b8cf2463a9a6de805..7476da7fdf9787f735bc67071f6a4eeb51bee586 100644
--- a/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C
@@ -260,7 +260,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
     const UList<point>& pointLst = surf.points();
     const UList<Face>& faceLst = surf.surfFaces();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().size()
       ? surf.surfZones()
diff --git a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
index 6b4e8e0310396696d109036ffdf7b3c229081c4e..273fa4e58841ea1cffd7235deb2875add1b2ece5 100644
--- a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
@@ -594,7 +594,7 @@ void Foam::fileFormats::NASsurfaceFormat<Face>::write
     const UList<label>& elemIds  = surf.faceIds();
 
     // for no zones, suppress the group name
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst, "")
diff --git a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
index 1383a9d070222af004ec7200ce40dad288d7eb64..65af48943688c45f6c92bacf3bff45087543f66e 100644
--- a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
@@ -239,7 +239,7 @@ void Foam::fileFormats::OBJsurfaceFormat<Face>::write
     const UList<label>& faceMap  = surf.faceMap();
 
     // for no zones, suppress the group name
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst, "")
diff --git a/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C b/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C
index 5f576f0cf2b8b311d3c29a145fb01b936f381b20..6ca8b27983d7f204200cabced434a1db2c96cc2f 100644
--- a/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C
@@ -48,7 +48,7 @@ void Foam::fileFormats::SMESHsurfaceFormat<Face>::write
     const UList<Face>&  faceLst  = surf.surfFaces();
     const UList<label>& faceMap  = surf.faceMap();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst)
diff --git a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C
index 4b761f239bd1618188ce3681952f1b0872555bdd..082f7a289534dc0598bfef1d7ebf93c56d9f20d5 100644
--- a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C
@@ -270,7 +270,7 @@ void Foam::fileFormats::STARCDsurfaceFormat<Face>::write
     const UList<label>& faceMap  = surf.faceMap();
     const UList<label>& elemIds  = surf.faceIds();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst)
diff --git a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C
index d68f2da2de2d755b015c635cb83b2a7b1e68607f..94272f9dad14b3b64487c3198070251374dd96f9 100644
--- a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C
@@ -219,7 +219,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeAscii
     const UList<Face>&   faceLst = surf.surfFaces();
     const UList<label>&  faceMap = surf.faceMap();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst)
@@ -266,7 +266,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeBinary
     const UList<Face>&   faceLst = surf.surfFaces();
     const UList<label>&  faceMap = surf.faceMap();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().size() > 1
       ? surf.surfZones()
diff --git a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C
index 736671ef7a499ec440738372d14490daf9c8a20f..63416d09f43c3a92b3ad6bdec81f0471ff0db6b2 100644
--- a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C
@@ -168,7 +168,7 @@ void Foam::fileFormats::TRIsurfaceFormat<Face>::write
     const UList<Face>&   faceLst = surf.surfFaces();
     const UList<label>&  faceMap = surf.faceMap();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst)
diff --git a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
index 555233d6e0bc3b9b9457a3c1c635351d0b435e94..ebd2ef95aefc3c77e7f26dc3cb7085e7d715f5e6 100644
--- a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
@@ -255,7 +255,7 @@ void Foam::fileFormats::VTKsurfaceFormat<Face>::write
     const UList<Face>&   faceLst = surf.surfFaces();
     const UList<label>&  faceMap = surf.faceMap();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst)
diff --git a/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.C b/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.C
index 3d06b741e0fc75622f1cbaadaaa547e20478c5fc..1bec7447528644b83dbee756558a268b771c66ee 100644
--- a/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.C
@@ -104,7 +104,7 @@ void Foam::fileFormats::VTPsurfaceFormat<Face>::write
     const UList<Face>&   faceLst = surf.surfFaces();
     const UList<label>&  faceMap = surf.faceMap();
 
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst)
diff --git a/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C b/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C
index 584af35c678d72816fa18478630b70b459b8733b..e95d7a7926348ea7aa53333f56c3c37049e16f09 100644
--- a/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C
@@ -48,7 +48,7 @@ void Foam::fileFormats::X3DsurfaceFormat<Face>::write
     const UList<label>&  faceMap = surf.faceMap();
 
     // for no zones, suppress the group name
-    const surfZoneList zones =
+    const surfZoneList zones
     (
         surf.surfZones().empty()
       ? surfaceFormatsCore::oneZone(faceLst, word::null)