From 44047704ae4221b3265afe31597f8bba83eb4f43 Mon Sep 17 00:00:00 2001
From: Stefan Nikolei <stefan@nikolei.eu>
Date: Sun, 22 Dec 2024 08:07:35 +0100
Subject: [PATCH 1/6] Configure editorconfig to use explicit types

---
 .editorconfig | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/.editorconfig b/.editorconfig
index c28089d720..ccec272751 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -135,9 +135,9 @@ csharp_style_prefer_null_check_over_type_check = true:warning
 # https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/language-rules#c-style-rules
 [*.{cs,csx,cake}]
 # 'var' preferences
-csharp_style_var_for_built_in_types = false:warning
-csharp_style_var_when_type_is_apparent = false:warning
-csharp_style_var_elsewhere = false:warning
+csharp_style_var_for_built_in_types = false:error
+csharp_style_var_when_type_is_apparent = false:error
+csharp_style_var_elsewhere = false:error
 # Expression-bodied members
 csharp_style_expression_bodied_methods = true:warning
 csharp_style_expression_bodied_constructors = true:warning

From a6c91592921f44d7429635f51a8c61a658debd63 Mon Sep 17 00:00:00 2001
From: Stefan Nikolei <stefan@nikolei.eu>
Date: Sun, 22 Dec 2024 08:40:14 +0100
Subject: [PATCH 2/6] Use explicit types instead of var

---
 .../Advanced/ParallelRowIterator.Wrappers.cs  |   4 +-
 .../Advanced/ParallelRowIterator.cs           |  28 ++--
 src/ImageSharp/Common/Helpers/Numerics.cs     |  10 +-
 src/ImageSharp/Common/Helpers/SimdUtils.cs    |  10 +-
 .../Formats/Jpeg/Components/Block8x8.cs       |   2 +-
 .../Jpeg/Components/Block8x8F.ScaledCopy.cs   |   8 +-
 .../JpegColorConverter.CmykArm64.cs           |   4 +-
 .../JpegColorConverter.CmykAvx.cs             |   4 +-
 .../JpegColorConverter.CmykVector.cs          |   6 +-
 .../JpegColorConverter.GrayScaleArm.cs        |   8 +-
 .../JpegColorConverter.GrayScaleAvx.cs        |   8 +-
 .../JpegColorConverter.GrayScaleVector.cs     |   8 +-
 .../JpegColorConverter.RgbArm.cs              |   2 +-
 .../JpegColorConverter.RgbAvx.cs              |   2 +-
 .../JpegColorConverter.RgbVector.cs           |   2 +-
 .../JpegColorConverter.YCbCrArm.cs            |  32 ++---
 .../JpegColorConverter.YCbCrAvx.cs            |  32 ++---
 .../JpegColorConverter.YCbCrVector.cs         |  32 ++---
 .../JpegColorConverter.YccKArm64.cs           |  38 +++---
 .../JpegColorConverter.YccKAvx.cs             |  38 +++---
 .../JpegColorConverter.YccKVector.cs          |  36 ++---
 .../Components/Decoder/HuffmanScanDecoder.cs  |   8 +-
 .../Components/Encoder/ComponentProcessor.cs  |   2 +-
 .../Components/Encoder/HuffmanScanEncoder.cs  |   2 +-
 .../Encoder/SpectralConverter{TPixel}.cs      |   4 +-
 .../Components/FloatingPointDCT.Intrinsic.cs  |   4 +-
 .../Formats/Jpeg/Components/SizeExtensions.cs |   2 +-
 .../Jpeg/JpegEncoderCore.FrameConfig.cs       |  16 +--
 .../Formats/Tga/TgaImageFormatDetector.cs     |   2 +-
 .../Compressors/DeflateCompressor.cs          |   2 +-
 .../Compression/Compressors/PackBitsWriter.cs |   2 +-
 .../Compressors/TiffJpegCompressor.cs         |   4 +-
 .../Decompressors/DeflateTiffCompression.cs   |   2 +-
 .../Decompressors/LzwTiffCompression.cs       |   2 +-
 .../ModifiedHuffmanTiffCompression.cs         |   2 +-
 .../Decompressors/T4TiffCompression.cs        |   2 +-
 .../Decompressors/T6TiffCompression.cs        |   4 +-
 .../YCbCrConverter.cs                         |   2 +-
 .../Webp/Lossless/ColorSpaceTransformUtils.cs |  32 ++---
 .../Formats/Webp/Lossless/CostManager.cs      |   2 +-
 .../Formats/Webp/Lossless/PredictorEncoder.cs |   6 +-
 .../Formats/Webp/Lossy/LossyUtils.cs          |  72 +++++-----
 src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs |  20 +--
 .../Formats/Webp/Lossy/YuvConversion.cs       |   6 +-
 .../GraphicOptionsDefaultsExtensions.cs       |  10 +-
 src/ImageSharp/ImageFrame.LoadPixelData.cs    |   2 +-
 ...iformUnmanagedMemoryPool.LifetimeGuards.cs |   2 +-
 ...iformUnmanagedMemoryPoolMemoryAllocator.cs |   4 +-
 .../Allocators/UnmanagedMemoryAllocator.cs    |   2 +-
 .../MemoryGroupExtensions.cs                  |  12 +-
 .../MemoryGroup{T}.Owned.cs                   |   8 +-
 .../DiscontiguousBuffers/MemoryGroup{T}.cs    |   6 +-
 .../Profiles/Exif/Values/ExifLong8Array.cs    |  10 +-
 .../Profiles/Exif/Values/ExifNumberArray.cs   |   8 +-
 .../Profiles/Exif/Values/ExifRationalArray.cs |   2 +-
 .../Profiles/Exif/Values/ExifShortArray.cs    |   4 +-
 .../Exif/Values/ExifSignedShortArray.cs       |   2 +-
 .../ICC/DataReader/IccDataReader.Curves.cs    |  20 +--
 .../ICC/DataReader/IccDataReader.Lut.cs       |  10 +-
 .../ICC/DataReader/IccDataReader.Matrix.cs    |   4 +-
 .../IccDataReader.MultiProcessElement.cs      |   2 +-
 .../DataReader/IccDataReader.NonPrimitives.cs |   6 +-
 .../DataReader/IccDataReader.Primitives.cs    |   2 +-
 .../DataReader/IccDataReader.TagDataEntry.cs  |  38 +++---
 .../Metadata/Profiles/IPTC/IptcValue.cs       |   2 +-
 src/ImageSharp/Primitives/SignedRational.cs   |  12 +-
 src/ImageSharp/Primitives/Size.cs             |   2 +-
 src/ImageSharp/Primitives/SizeF.cs            |   2 +-
 .../Extensions/Transforms/PadExtensions.cs    |   2 +-
 .../Extensions/Transforms/ResizeExtensions.cs |   4 +-
 .../Convolution/BoxBlurProcessor{TPixel}.cs   |   4 +-
 .../Convolution2DRowOperation{TPixel}.cs      |   4 +-
 .../EdgeDetector2DProcessor{TPixel}.cs        |   2 +-
 .../Implementation/LaplacianKernelFactory.cs  |   2 +-
 .../Parameters/BokehBlurKernelDataProvider.cs |   6 +-
 .../Processors/Dithering/OrderedDither.cs     |   2 +-
 .../Dithering/OrderedDitherFactory.cs         |   2 +-
 .../GrayscaleLevelsRowOperation{TPixel}.cs    |   2 +-
 .../Transforms/CropProcessor{TPixel}.cs       |   2 +-
 .../Resize/ResizeProcessor{TPixel}.cs         |  12 +-
 .../Codecs/Bmp/DecodeBmp.cs                   |   8 +-
 .../Codecs/Bmp/EncodeBmp.cs                   |   4 +-
 .../Codecs/Gif/DecodeGif.cs                   |   8 +-
 .../Codecs/Gif/EncodeGif.cs                   |   4 +-
 .../Codecs/Gif/EncodeGifMultiple.cs           |   2 +-
 .../BlockOperations/Block8x8F_CopyTo2x2.cs    |  56 ++++----
 .../BlockOperations/Block8x8F_DivideRound.cs  |   2 +-
 .../Block8x8F_MultiplyInPlaceBlock.cs         |   2 +-
 .../ColorConversion/CmykColorConversion.cs    |   8 +-
 .../ColorConversionBenchmark.cs               |   6 +-
 .../GrayscaleColorConversion.cs               |   6 +-
 .../ColorConversion/RgbColorConversion.cs     |   8 +-
 .../ColorConversion/YCbCrColorConversion.cs   |   8 +-
 .../ColorConversion/YccKColorConverter.cs     |   8 +-
 .../Codecs/Jpeg/DecodeJpegParseStreamOnly.cs  |  14 +-
 .../Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs   |   8 +-
 .../Codecs/MultiImageBenchmarkBase.cs         |   8 +-
 .../Codecs/Png/EncodeIndexedPng.cs            |  24 ++--
 .../Codecs/Png/EncodePng.cs                   |   6 +-
 .../Codecs/Tga/EncodeTga.cs                   |   4 +-
 .../Codecs/Tiff/EncodeTiff.cs                 |   8 +-
 .../General/BasicMath/ClampSpan.cs            |   2 +-
 .../General/IO/BufferedStreams.cs             |   4 +-
 .../PixelConversion_PackFromRgbPlanes.cs      |   2 +-
 .../PixelConversion_Rgba32_To_Bgra32.cs       |   4 +-
 .../General/Vector4Constants.cs               |   8 +-
 .../General/Vectorization/BitwiseOrUint32.cs  |   4 +-
 .../General/Vectorization/DivFloat.cs         |   4 +-
 .../General/Vectorization/DivUInt32.cs        |   4 +-
 .../General/Vectorization/MulFloat.cs         |   6 +-
 .../General/Vectorization/MulUInt32.cs        |   4 +-
 .../General/Vectorization/Premultiply.cs      |   6 +-
 .../Vectorization/ReinterpretUInt32AsFloat.cs |   4 +-
 .../General/Vectorization/UInt32ToSingle.cs   |  18 +--
 .../General/Vectorization/VectorFetching.cs   |  12 +-
 .../ImageSharp.Benchmarks/Processing/Crop.cs  |   8 +-
 .../Processing/Resize.cs                      |   6 +-
 .../LoadResizeSaveParallelMemoryStress.cs     |   6 +-
 .../Program.cs                                |   4 +-
 .../Color/ColorTests.CastTo.cs                |  32 ++---
 .../Common/EncoderExtensionsTests.cs          |   4 +-
 .../ImageSharp.Tests/Common/NumericsTests.cs  |   2 +-
 .../Common/StreamExtensionsTests.cs           |   8 +-
 tests/ImageSharp.Tests/ConfigurationTests.cs  |  26 ++--
 .../Formats/Bmp/BmpFileHeaderTests.cs         |   4 +-
 .../Formats/Icon/Cur/CurEncoderTests.cs       |   2 +-
 .../Formats/Jpg/Block8x8FTests.cs             |   8 +-
 .../Formats/Jpg/Block8x8Tests.cs              |  20 +--
 .../ImageSharp.Tests/Formats/Jpg/DCTTests.cs  |   4 +-
 .../Formats/Jpg/HuffmanScanEncoderTests.cs    |   2 +-
 .../Formats/Jpg/JpegFileMarkerTests.cs        |   2 +-
 .../Formats/Jpg/JpegMetadataTests.cs          |  18 +--
 .../Formats/Jpg/ParseStreamTests.cs           |  12 +-
 ...plementationsTests.FastFloatingPointDCT.cs |   2 +-
 .../Formats/Jpg/SpectralJpegTests.cs          |  20 +--
 .../Jpg/SpectralToPixelConversionTests.cs     |  12 +-
 .../Formats/Jpg/Utils/JpegFixture.cs          |  12 +-
 .../Formats/Jpg/Utils/LibJpegTools.cs         |  12 +-
 .../ReferenceImplementations.AccurateDCT.cs   |   4 +-
 ...ceImplementations.LLM_FloatingPoint_DCT.cs |   8 +-
 ...renceImplementations.StandardIntegerDCT.cs |   8 +-
 .../Formats/Jpg/Utils/SpanExtensions.cs       |   6 +-
 .../Formats/Pbm/PbmDecoderTests.cs            |  18 +--
 .../Formats/Pbm/PbmEncoderTests.cs            |  22 +--
 .../Formats/Pbm/PbmRoundTripTests.cs          |  16 +--
 .../Formats/Png/Adler32Tests.cs               |   2 +-
 .../Formats/Png/PngDecoderTests.Chunks.cs     |   2 +-
 .../Formats/Png/PngEncoderFilterTests.cs      |  28 ++--
 .../Formats/Png/PngTextDataTests.cs           |  14 +-
 .../Formats/Tiff/BigTiffMetadataTests.cs      |  30 ++---
 .../DeflateTiffCompressionTests.cs            |   2 +-
 .../Compression/LzwTiffCompressionTests.cs    |   4 +-
 .../Compression/NoneTiffCompressionTests.cs   |   6 +-
 .../PackBitsTiffCompressionTests.cs           |   6 +-
 .../PaletteTiffColorTests.cs                  |   6 +-
 .../PhotometricInterpretationTestBase.cs      |   4 +-
 .../RgbPlanarTiffColorTests.cs                |   2 +-
 .../Formats/Tiff/TiffEncoderBaseTester.cs     |   8 +-
 .../Tiff/TiffEncoderMultiframeTests.cs        |  24 ++--
 .../Formats/Tiff/Utils/TiffWriterTests.cs     |  32 ++---
 .../Formats/WebP/LosslessUtilsTests.cs        |   4 +-
 .../Formats/WebP/Vp8HistogramTests.cs         |  12 +-
 .../Formats/WebP/Vp8ModeScoreTests.cs         |  10 +-
 .../Formats/WebP/WebpMetaDataTests.cs         |  20 +--
 .../Formats/WebP/YuvConversionTests.cs        |   2 +-
 .../GraphicOptionsDefaultsExtensionsTests.cs  |  70 +++++-----
 .../ImageSharp.Tests/GraphicsOptionsTests.cs  |   4 +-
 .../Helpers/ColorNumericsTests.cs             |   2 +-
 .../ImageSharp.Tests/Helpers/NumericsTests.cs |   6 +-
 .../Helpers/ParallelExecutionSettingsTests.cs |   2 +-
 .../Helpers/ParallelRowIteratorTests.cs       |  58 ++++----
 .../Helpers/RowIntervalTests.cs               |  14 +-
 .../ImageSharp.Tests/Image/ImageCloneTests.cs |   4 +-
 .../ImageSharp.Tests/Image/ImageFrameTests.cs |  16 +--
 .../ImageSharp.Tests/Image/ImageSaveTests.cs  |   2 +-
 .../Image/ImageTests.WrapMemory.cs            | 112 ++++++++--------
 .../Image/LargeImageIntegrationTests.cs       |   4 +-
 .../Image/ProcessPixelRowsTestBase.cs         |  48 +++----
 .../Memory/Allocators/BufferTestSuite.cs      |   4 +-
 .../RefCountedLifetimeGuardTests.cs           |  12 +-
 .../Allocators/SharedArrayPoolBufferTests.cs  |   4 +-
 .../UniformUnmanagedMemoryPoolTests.Trim.cs   |  18 +--
 .../UniformUnmanagedMemoryPoolTests.cs        |  52 ++++----
 ...niformUnmanagedPoolMemoryAllocatorTests.cs |  26 ++--
 .../Memory/Allocators/UnmanagedBufferTests.cs |   8 +-
 .../Allocators/UnmanagedMemoryHandleTests.cs  |  14 +-
 .../Memory/Buffer2DTests.SwapOrCopyContent.cs |  20 +--
 .../ImageSharp.Tests/Memory/Buffer2DTests.cs  |   8 +-
 .../Memory/BufferAreaTests.cs                 |  12 +-
 .../MemoryGroupIndexTests.cs                  |  18 +--
 .../MemoryGroupTests.Allocate.cs              |  10 +-
 .../MemoryGroupTests.CopyTo.cs                |   8 +-
 .../DiscontiguousBuffers/MemoryGroupTests.cs  |  12 +-
 .../MemoryGroupTestsBase.cs                   |   2 +-
 tests/ImageSharp.Tests/Memory/TestStructs.cs  |   4 +-
 .../MemoryAllocatorValidator.cs               |   2 +-
 .../Profiles/CICP/CicpProfileTests.cs         |  10 +-
 .../Profiles/Exif/ExifProfileTests.cs         |  36 ++---
 .../Metadata/Profiles/Exif/ExifReaderTests.cs |   4 +-
 .../Exif/ExifTagDescriptionAttributeTests.cs  |   2 +-
 .../Profiles/Exif/Values/ExifValuesTests.cs   |  46 +++----
 .../Metadata/Profiles/ICC/IccProfileTests.cs  |   4 +-
 .../Metadata/Profiles/ICC/IccWriterTests.cs   |   2 +-
 .../Profiles/ICC/Various/IccProfileIdTests.cs |   2 +-
 .../Profiles/IPTC/IptcProfileTests.cs         |  48 +++----
 .../Metadata/Profiles/XMP/XmpProfileTests.cs  |  28 ++--
 .../Numerics/SignedRationalTests.cs           |  24 ++--
 .../PorterDuffFunctionsTestsTPixel.cs         |  18 +--
 .../Primitives/ColorMatrixTests.cs            |   2 +-
 .../Primitives/DenseMatrixTests.cs            |  14 +-
 .../Primitives/PointFTests.cs                 |  40 +++---
 .../ImageSharp.Tests/Primitives/PointTests.cs |  42 +++---
 .../Primitives/RectangleFTests.cs             |  74 +++++-----
 .../Primitives/RectangleTests.cs              |  68 +++++-----
 .../ImageSharp.Tests/Primitives/SizeFTests.cs |  30 ++---
 .../ImageSharp.Tests/Primitives/SizeTests.cs  |  26 ++--
 .../Processing/Convolution/BoxBlurTest.cs     |   6 +-
 .../Convolution/KernelSamplingMapTest.cs      | 126 +++++++++---------
 .../Processing/Effects/OilPaintTest.cs        |   8 +-
 .../Processing/Effects/PixelateTest.cs        |   6 +-
 .../Processing/FakeImageOperationsProvider.cs |   2 +-
 .../Processing/Filters/BrightnessTest.cs      |   4 +-
 .../Processing/Filters/HueTest.cs             |   4 +-
 .../Processing/Filters/LomographTest.cs       |   4 +-
 .../Processing/Filters/PolaroidTest.cs        |   4 +-
 .../Processing/ImageOperationTests.cs         |   6 +-
 .../HistogramEqualizationTests.cs             |  16 +--
 .../Processing/Overlays/GlowTest.cs           |   2 +-
 .../Processing/Overlays/VignetteTest.cs       |   2 +-
 .../Binarization/BinaryDitherTests.cs         |   4 +-
 .../Binarization/BinaryThresholdTest.cs       |  10 +-
 .../Processors/Convolution/DetectEdgesTest.cs |   4 +-
 .../Processors/Dithering/DitherTests.cs       |   4 +-
 .../Processors/Effects/PixelShaderTest.cs     |   4 +-
 .../Quantization/OctreeQuantizerTests.cs      |   6 +-
 .../Quantization/PaletteQuantizerTests.cs     |   6 +-
 .../Quantization/WuQuantizerTests.cs          |   6 +-
 .../Processors/Transforms/AutoOrientTests.cs  |   2 +-
 .../Processors/Transforms/CropTest.cs         |   2 +-
 .../Processors/Transforms/EntropyCropTest.cs  |   4 +-
 .../Transforms/ResizeHelperTests.cs           |  44 +++---
 ...ResizeKernelMapTests.ReferenceKernelMap.cs |   2 +-
 .../Transforms/ResizeKernelMapTests.cs        |  12 +-
 .../Processing/Transforms/CropTest.cs         |   4 +-
 .../Transforms/ProjectiveTransformTests.cs    |   2 +-
 .../Processing/Transforms/ResizeTests.cs      |   4 +-
 .../Transforms/TransformBuilderTestBase.cs    |  42 +++---
 .../LoadResizeSaveProfilingBenchmarks.cs      |   6 +-
 .../ResizeProfilingBenchmarks.cs              |   2 +-
 tests/ImageSharp.Tests/TestFormat.cs          |   4 +-
 .../TestUtilities/ArrayHelper.cs              |   4 +-
 .../Attributes/WithFileCollectionAttribute.cs |   2 +-
 .../TestUtilities/ByteArrayUtility.cs         |   2 +-
 .../ImageComparison/ExactImageComparer.cs     |   8 +-
 .../ImageComparison/ImageComparer.cs          |   2 +-
 .../ImageComparison/ImageSimilarityReport.cs  |   2 +-
 .../ImageComparison/TolerantImageComparer.cs  |   8 +-
 .../ImageProviders/FileProvider.cs            |  12 +-
 .../ImageProviders/MemberMethodProvider.cs    |   2 +-
 .../TestUtilities/MeasureFixture.cs           |   2 +-
 .../ReferenceCodecs/SystemDrawingBridge.cs    |  12 +-
 .../SixLaborsXunitTestFramework.cs            |   2 +-
 .../TestUtilities/TestDataGenerator.cs        |  10 +-
 .../TestUtilities/TestEnvironment.cs          |   4 +-
 .../TestUtilities/TestMemoryAllocator.cs      |   2 +-
 .../TestUtilities/TestMemoryManager.cs        |   2 +-
 .../Tests/BasicSerializerTests.cs             |   2 +-
 .../TestUtilities/Tests/ImageComparerTests.cs |   8 +-
 .../Tests/ReferenceDecoderBenchmarks.cs       |   2 +-
 .../Tests/SystemDrawingReferenceCodecTests.cs |   9 +-
 270 files changed, 1549 insertions(+), 1548 deletions(-)

diff --git a/src/ImageSharp/Advanced/ParallelRowIterator.Wrappers.cs b/src/ImageSharp/Advanced/ParallelRowIterator.Wrappers.cs
index a959faa3b6..b76f2948f1 100644
--- a/src/ImageSharp/Advanced/ParallelRowIterator.Wrappers.cs
+++ b/src/ImageSharp/Advanced/ParallelRowIterator.Wrappers.cs
@@ -139,7 +139,7 @@ public void Invoke(int i)
             }
 
             int yMax = Math.Min(yMin + this.stepY, this.maxY);
-            var rows = new RowInterval(yMin, yMax);
+            RowInterval rows = new RowInterval(yMin, yMax);
 
             // Skip the safety copy when invoking a potentially impure method on a readonly field
             Unsafe.AsRef(in this.operation).Invoke(in rows);
@@ -185,7 +185,7 @@ public void Invoke(int i)
             }
 
             int yMax = Math.Min(yMin + this.stepY, this.maxY);
-            var rows = new RowInterval(yMin, yMax);
+            RowInterval rows = new RowInterval(yMin, yMax);
 
             using IMemoryOwner<TBuffer> buffer = this.allocator.Allocate<TBuffer>(this.bufferLength);
 
diff --git a/src/ImageSharp/Advanced/ParallelRowIterator.cs b/src/ImageSharp/Advanced/ParallelRowIterator.cs
index 1284a3a898..26b949c01b 100644
--- a/src/ImageSharp/Advanced/ParallelRowIterator.cs
+++ b/src/ImageSharp/Advanced/ParallelRowIterator.cs
@@ -26,7 +26,7 @@ public static partial class ParallelRowIterator
     public static void IterateRows<T>(Configuration configuration, Rectangle rectangle, in T operation)
         where T : struct, IRowOperation
     {
-        var parallelSettings = ParallelExecutionSettings.FromConfiguration(configuration);
+        ParallelExecutionSettings parallelSettings = ParallelExecutionSettings.FromConfiguration(configuration);
         IterateRows(rectangle, in parallelSettings, in operation);
     }
 
@@ -65,8 +65,8 @@ public static void IterateRows<T>(
         }
 
         int verticalStep = DivideCeil(rectangle.Height, numOfSteps);
-        var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
-        var wrappingOperation = new RowOperationWrapper<T>(top, bottom, verticalStep, in operation);
+        ParallelOptions? parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
+        RowOperationWrapper<T> wrappingOperation = new RowOperationWrapper<T>(top, bottom, verticalStep, in operation);
 
         Parallel.For(
             0,
@@ -88,7 +88,7 @@ public static void IterateRows<T, TBuffer>(Configuration configuration, Rectangl
         where T : struct, IRowOperation<TBuffer>
         where TBuffer : unmanaged
     {
-        var parallelSettings = ParallelExecutionSettings.FromConfiguration(configuration);
+        ParallelExecutionSettings parallelSettings = ParallelExecutionSettings.FromConfiguration(configuration);
         IterateRows<T, TBuffer>(rectangle, in parallelSettings, in operation);
     }
 
@@ -135,8 +135,8 @@ public static void IterateRows<T, TBuffer>(
         }
 
         int verticalStep = DivideCeil(height, numOfSteps);
-        var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
-        var wrappingOperation = new RowOperationWrapper<T, TBuffer>(top, bottom, verticalStep, bufferLength, allocator, in operation);
+        ParallelOptions? parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
+        RowOperationWrapper<T, TBuffer> wrappingOperation = new RowOperationWrapper<T, TBuffer>(top, bottom, verticalStep, bufferLength, allocator, in operation);
 
         Parallel.For(
             0,
@@ -156,7 +156,7 @@ public static void IterateRows<T, TBuffer>(
     public static void IterateRowIntervals<T>(Configuration configuration, Rectangle rectangle, in T operation)
         where T : struct, IRowIntervalOperation
     {
-        var parallelSettings = ParallelExecutionSettings.FromConfiguration(configuration);
+        ParallelExecutionSettings parallelSettings = ParallelExecutionSettings.FromConfiguration(configuration);
         IterateRowIntervals(rectangle, in parallelSettings, in operation);
     }
 
@@ -186,14 +186,14 @@ public static void IterateRowIntervals<T>(
         // Avoid TPL overhead in this trivial case:
         if (numOfSteps == 1)
         {
-            var rows = new RowInterval(top, bottom);
+            RowInterval rows = new RowInterval(top, bottom);
             Unsafe.AsRef(in operation).Invoke(in rows);
             return;
         }
 
         int verticalStep = DivideCeil(rectangle.Height, numOfSteps);
-        var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
-        var wrappingOperation = new RowIntervalOperationWrapper<T>(top, bottom, verticalStep, in operation);
+        ParallelOptions? parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
+        RowIntervalOperationWrapper<T> wrappingOperation = new RowIntervalOperationWrapper<T>(top, bottom, verticalStep, in operation);
 
         Parallel.For(
             0,
@@ -215,7 +215,7 @@ public static void IterateRowIntervals<T, TBuffer>(Configuration configuration,
         where T : struct, IRowIntervalOperation<TBuffer>
         where TBuffer : unmanaged
     {
-        var parallelSettings = ParallelExecutionSettings.FromConfiguration(configuration);
+        ParallelExecutionSettings parallelSettings = ParallelExecutionSettings.FromConfiguration(configuration);
         IterateRowIntervals<T, TBuffer>(rectangle, in parallelSettings, in operation);
     }
 
@@ -250,7 +250,7 @@ public static void IterateRowIntervals<T, TBuffer>(
         // Avoid TPL overhead in this trivial case:
         if (numOfSteps == 1)
         {
-            var rows = new RowInterval(top, bottom);
+            RowInterval rows = new RowInterval(top, bottom);
             using IMemoryOwner<TBuffer> buffer = allocator.Allocate<TBuffer>(bufferLength);
 
             Unsafe.AsRef(in operation).Invoke(in rows, buffer.Memory.Span);
@@ -259,8 +259,8 @@ public static void IterateRowIntervals<T, TBuffer>(
         }
 
         int verticalStep = DivideCeil(height, numOfSteps);
-        var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
-        var wrappingOperation = new RowIntervalOperationWrapper<T, TBuffer>(top, bottom, verticalStep, bufferLength, allocator, in operation);
+        ParallelOptions? parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
+        RowIntervalOperationWrapper<T, TBuffer> wrappingOperation = new RowIntervalOperationWrapper<T, TBuffer>(top, bottom, verticalStep, bufferLength, allocator, in operation);
 
         Parallel.For(
             0,
diff --git a/src/ImageSharp/Common/Helpers/Numerics.cs b/src/ImageSharp/Common/Helpers/Numerics.cs
index ca14ae4c38..0143aec3cb 100644
--- a/src/ImageSharp/Common/Helpers/Numerics.cs
+++ b/src/ImageSharp/Common/Helpers/Numerics.cs
@@ -470,8 +470,8 @@ private static void ClampImpl<T>(Span<T> span, T min, T max)
         where T : unmanaged
     {
         ref T sRef = ref MemoryMarshal.GetReference(span);
-        var vmin = new Vector<T>(min);
-        var vmax = new Vector<T>(max);
+        Vector<T> vmin = new Vector<T>(min);
+        Vector<T> vmax = new Vector<T>(max);
 
         nint n = (nint)(uint)span.Length / Vector<T>.Count;
         nint m = Modulo4(n);
@@ -726,12 +726,12 @@ public static unsafe void CubeRootOnXYZ(Span<Vector4> vectors)
             ref Vector128<float> vectors128Ref = ref Unsafe.As<Vector4, Vector128<float>>(ref MemoryMarshal.GetReference(vectors));
             ref Vector128<float> vectors128End = ref Unsafe.Add(ref vectors128Ref, (uint)vectors.Length);
 
-            var v128_341 = Vector128.Create(341);
+            Vector128<int> v128_341 = Vector128.Create(341);
             Vector128<int> v128_negativeZero = Vector128.Create(-0.0f).AsInt32();
             Vector128<int> v128_one = Vector128.Create(1.0f).AsInt32();
 
-            var v128_13rd = Vector128.Create(1 / 3f);
-            var v128_23rds = Vector128.Create(2 / 3f);
+            Vector128<float> v128_13rd = Vector128.Create(1 / 3f);
+            Vector128<float> v128_23rds = Vector128.Create(2 / 3f);
 
             while (Unsafe.IsAddressLessThan(ref vectors128Ref, ref vectors128End))
             {
diff --git a/src/ImageSharp/Common/Helpers/SimdUtils.cs b/src/ImageSharp/Common/Helpers/SimdUtils.cs
index 0279e57cc6..877061ea56 100644
--- a/src/ImageSharp/Common/Helpers/SimdUtils.cs
+++ b/src/ImageSharp/Common/Helpers/SimdUtils.cs
@@ -53,11 +53,11 @@ internal static Vector<float> FastRound(this Vector<float> v)
         }
         else
         {
-            var magic0 = new Vector<int>(int.MinValue); // 0x80000000
-            var sgn0 = Vector.AsVectorSingle(magic0);
-            var and0 = Vector.BitwiseAnd(sgn0, v);
-            var or0 = Vector.BitwiseOr(and0, new Vector<float>(8388608.0f));
-            var add0 = Vector.Add(v, or0);
+            Vector<int> magic0 = new Vector<int>(int.MinValue); // 0x80000000
+            Vector<float> sgn0 = Vector.AsVectorSingle(magic0);
+            Vector<float> and0 = Vector.BitwiseAnd(sgn0, v);
+            Vector<float> or0 = Vector.BitwiseOr(and0, new Vector<float>(8388608.0f));
+            Vector<float> add0 = Vector.Add(v, or0);
             return Vector.Subtract(add0, or0);
         }
     }
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs b/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
index 01d112bd6f..bd1cf07b6e 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
@@ -140,7 +140,7 @@ public void LoadFrom(Span<int> source)
     /// <inheritdoc />
     public override string ToString()
     {
-        var sb = new StringBuilder();
+        StringBuilder? sb = new StringBuilder();
         sb.Append('[');
         for (int i = 0; i < Size; i++)
         {
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Block8x8F.ScaledCopy.cs b/src/ImageSharp/Formats/Jpeg/Components/Block8x8F.ScaledCopy.cs
index efc1dbd729..1c0615ef52 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Block8x8F.ScaledCopy.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Block8x8F.ScaledCopy.cs
@@ -57,19 +57,19 @@ static void WidenCopyRowImpl2x2(ref Vector4 selfBase, ref Vector2 destBase, nuin
             ref Vector4 dTopLeft = ref Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref destBase, offset));
             ref Vector4 dBottomLeft = ref Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref destBase, offset + destStride));
 
-            var xyLeft = new Vector4(sLeft.X);
+            Vector4 xyLeft = new Vector4(sLeft.X);
             xyLeft.Z = sLeft.Y;
             xyLeft.W = sLeft.Y;
 
-            var zwLeft = new Vector4(sLeft.Z);
+            Vector4 zwLeft = new Vector4(sLeft.Z);
             zwLeft.Z = sLeft.W;
             zwLeft.W = sLeft.W;
 
-            var xyRight = new Vector4(sRight.X);
+            Vector4 xyRight = new Vector4(sRight.X);
             xyRight.Z = sRight.Y;
             xyRight.W = sRight.Y;
 
-            var zwRight = new Vector4(sRight.Z);
+            Vector4 zwRight = new Vector4(sRight.Z);
             zwRight.Z = sRight.W;
             zwRight.W = sRight.W;
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs
index 11122d3b89..f073f61890 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs
@@ -30,7 +30,7 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector128<float>>(ref MemoryMarshal.GetReference(values.Component3));
 
             // Used for the color conversion
-            var scale = Vector128.Create(1 / (this.MaximumValue * this.MaximumValue));
+            Vector128<float> scale = Vector128.Create(1 / (this.MaximumValue * this.MaximumValue));
 
             nint n = (nint)(uint)values.Component0.Length / Vector128<float>.Count;
             for (nint i = 0; i < n; i++)
@@ -69,7 +69,7 @@ public static void ConvertFromRgb(in ComponentValues values, float maxValue, Spa
             ref Vector128<float> srcB =
                 ref Unsafe.As<float, Vector128<float>>(ref MemoryMarshal.GetReference(bLane));
 
-            var scale = Vector128.Create(maxValue);
+            Vector128<float> scale = Vector128.Create(maxValue);
 
             nint n = (nint)(uint)values.Component0.Length / Vector128<float>.Count;
             for (nint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykAvx.cs
index 76d188f457..61f64c3b79 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykAvx.cs
@@ -30,7 +30,7 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector256<float>>(ref MemoryMarshal.GetReference(values.Component3));
 
             // Used for the color conversion
-            var scale = Vector256.Create(1 / (this.MaximumValue * this.MaximumValue));
+            Vector256<float> scale = Vector256.Create(1 / (this.MaximumValue * this.MaximumValue));
 
             nuint n = values.Component0.Vector256Count<float>();
             for (nuint i = 0; i < n; i++)
@@ -69,7 +69,7 @@ public static void ConvertFromRgb(in ComponentValues values, float maxValue, Spa
             ref Vector256<float> srcB =
                 ref Unsafe.As<float, Vector256<float>>(ref MemoryMarshal.GetReference(bLane));
 
-            var scale = Vector256.Create(maxValue);
+            Vector256<float> scale = Vector256.Create(maxValue);
 
             nuint n = values.Component0.Vector256Count<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
index a59be009b7..e46d644adc 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
@@ -28,7 +28,7 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> kBase =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component3));
 
-            var scale = new Vector<float>(1 / (this.MaximumValue * this.MaximumValue));
+            Vector<float> scale = new Vector<float>(1 / (this.MaximumValue * this.MaximumValue));
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -76,7 +76,7 @@ public static void ConvertFromRgbInplaceVectorized(in ComponentValues values, fl
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(b));
 
             // Used for the color conversion
-            var scale = new Vector<float>(maxValue);
+            Vector<float> scale = new Vector<float>(maxValue);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -86,7 +86,7 @@ public static void ConvertFromRgbInplaceVectorized(in ComponentValues values, fl
                 Vector<float> ytmp = scale - Unsafe.Add(ref srcB, i);
                 Vector<float> ktmp = Vector.Min(ctmp, Vector.Min(mtmp, ytmp));
 
-                var kMask = Vector.Equals(ktmp, scale);
+                Vector<int> kMask = Vector.Equals(ktmp, scale);
                 ctmp = Vector.AndNot((ctmp - ktmp) / (scale - ktmp), kMask.As<int, float>());
                 mtmp = Vector.AndNot((mtmp - ktmp) / (scale - ktmp), kMask.As<int, float>());
                 ytmp = Vector.AndNot((ytmp - ktmp) / (scale - ktmp), kMask.As<int, float>());
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleArm.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleArm.cs
index 6bb8fd7aa3..7d3e3f563a 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleArm.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleArm.cs
@@ -25,7 +25,7 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector128<float>>(ref MemoryMarshal.GetReference(values.Component0));
 
             // Used for the color conversion
-            var scale = Vector128.Create(1 / this.MaximumValue);
+            Vector128<float> scale = Vector128.Create(1 / this.MaximumValue);
 
             nuint n = values.Component0.Vector128Count<float>();
             for (nuint i = 0; i < n; i++)
@@ -49,9 +49,9 @@ public override void ConvertFromRgb(in ComponentValues values, Span<float> rLane
                 ref Unsafe.As<float, Vector128<float>>(ref MemoryMarshal.GetReference(bLane));
 
             // Used for the color conversion
-            var f0299 = Vector128.Create(0.299f);
-            var f0587 = Vector128.Create(0.587f);
-            var f0114 = Vector128.Create(0.114f);
+            Vector128<float> f0299 = Vector128.Create(0.299f);
+            Vector128<float> f0587 = Vector128.Create(0.587f);
+            Vector128<float> f0114 = Vector128.Create(0.114f);
 
             nuint n = values.Component0.Vector128Count<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleAvx.cs
index a9e1c5d130..39658fcffd 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleAvx.cs
@@ -25,7 +25,7 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector256<float>>(ref MemoryMarshal.GetReference(values.Component0));
 
             // Used for the color conversion
-            var scale = Vector256.Create(1 / this.MaximumValue);
+            Vector256<float> scale = Vector256.Create(1 / this.MaximumValue);
 
             nuint n = values.Component0.Vector256Count<float>();
             for (nuint i = 0; i < n; i++)
@@ -49,9 +49,9 @@ public override void ConvertFromRgb(in ComponentValues values, Span<float> rLane
                 ref Unsafe.As<float, Vector256<float>>(ref MemoryMarshal.GetReference(bLane));
 
             // Used for the color conversion
-            var f0299 = Vector256.Create(0.299f);
-            var f0587 = Vector256.Create(0.587f);
-            var f0114 = Vector256.Create(0.114f);
+            Vector256<float> f0299 = Vector256.Create(0.299f);
+            Vector256<float> f0587 = Vector256.Create(0.587f);
+            Vector256<float> f0114 = Vector256.Create(0.114f);
 
             nuint n = values.Component0.Vector256Count<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
index cac10636f5..e5ff5dea43 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
@@ -22,7 +22,7 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> cBase =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component0));
 
-            var scale = new Vector<float>(1 / this.MaximumValue);
+            Vector<float> scale = new Vector<float>(1 / this.MaximumValue);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -49,9 +49,9 @@ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span
             ref Vector<float> srcB =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(bLane));
 
-            var rMult = new Vector<float>(0.299f);
-            var gMult = new Vector<float>(0.587f);
-            var bMult = new Vector<float>(0.114f);
+            Vector<float> rMult = new Vector<float>(0.299f);
+            Vector<float> gMult = new Vector<float>(0.587f);
+            Vector<float> bMult = new Vector<float>(0.114f);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbArm.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbArm.cs
index 75eeb17dd3..d47e4cae33 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbArm.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbArm.cs
@@ -29,7 +29,7 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector128<float>>(ref MemoryMarshal.GetReference(values.Component2));
 
             // Used for the color conversion
-            var scale = Vector128.Create(1 / this.MaximumValue);
+            Vector128<float> scale = Vector128.Create(1 / this.MaximumValue);
             nuint n = values.Component0.Vector128Count<float>();
             for (nuint i = 0; i < n; i++)
             {
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbAvx.cs
index b56728fa71..e99ab09988 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbAvx.cs
@@ -28,7 +28,7 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector256<float>>(ref MemoryMarshal.GetReference(values.Component2));
 
             // Used for the color conversion
-            var scale = Vector256.Create(1 / this.MaximumValue);
+            Vector256<float> scale = Vector256.Create(1 / this.MaximumValue);
             nuint n = values.Component0.Vector256Count<float>();
             for (nuint i = 0; i < n; i++)
             {
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
index bd3142fa13..8c15c7e1ef 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
@@ -26,7 +26,7 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> bBase =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component2));
 
-            var scale = new Vector<float>(1 / this.MaximumValue);
+            Vector<float> scale = new Vector<float>(1 / this.MaximumValue);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrArm.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrArm.cs
index 4f7cf1ed65..71cc5ef20f 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrArm.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrArm.cs
@@ -31,12 +31,12 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector128<float>>(ref MemoryMarshal.GetReference(values.Component2));
 
             // Used for the color conversion
-            var chromaOffset = Vector128.Create(-this.HalfValue);
-            var scale = Vector128.Create(1 / this.MaximumValue);
-            var rCrMult = Vector128.Create(YCbCrScalar.RCrMult);
-            var gCbMult = Vector128.Create(-YCbCrScalar.GCbMult);
-            var gCrMult = Vector128.Create(-YCbCrScalar.GCrMult);
-            var bCbMult = Vector128.Create(YCbCrScalar.BCbMult);
+            Vector128<float> chromaOffset = Vector128.Create(-this.HalfValue);
+            Vector128<float> scale = Vector128.Create(1 / this.MaximumValue);
+            Vector128<float> rCrMult = Vector128.Create(YCbCrScalar.RCrMult);
+            Vector128<float> gCbMult = Vector128.Create(-YCbCrScalar.GCbMult);
+            Vector128<float> gCrMult = Vector128.Create(-YCbCrScalar.GCrMult);
+            Vector128<float> bCbMult = Vector128.Create(YCbCrScalar.BCbMult);
 
             // Walking 8 elements at one step:
             nuint n = (uint)values.Component0.Length / (uint)Vector128<float>.Count;
@@ -88,16 +88,16 @@ public override void ConvertFromRgb(in ComponentValues values, Span<float> rLane
                 ref Unsafe.As<float, Vector128<float>>(ref MemoryMarshal.GetReference(bLane));
 
             // Used for the color conversion
-            var chromaOffset = Vector128.Create(this.HalfValue);
-
-            var f0299 = Vector128.Create(0.299f);
-            var f0587 = Vector128.Create(0.587f);
-            var f0114 = Vector128.Create(0.114f);
-            var fn0168736 = Vector128.Create(-0.168736f);
-            var fn0331264 = Vector128.Create(-0.331264f);
-            var fn0418688 = Vector128.Create(-0.418688f);
-            var fn0081312F = Vector128.Create(-0.081312F);
-            var f05 = Vector128.Create(0.5f);
+            Vector128<float> chromaOffset = Vector128.Create(this.HalfValue);
+
+            Vector128<float> f0299 = Vector128.Create(0.299f);
+            Vector128<float> f0587 = Vector128.Create(0.587f);
+            Vector128<float> f0114 = Vector128.Create(0.114f);
+            Vector128<float> fn0168736 = Vector128.Create(-0.168736f);
+            Vector128<float> fn0331264 = Vector128.Create(-0.331264f);
+            Vector128<float> fn0418688 = Vector128.Create(-0.418688f);
+            Vector128<float> fn0081312F = Vector128.Create(-0.081312F);
+            Vector128<float> f05 = Vector128.Create(0.5f);
 
             nuint n = (uint)values.Component0.Length / (uint)Vector128<float>.Count;
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrAvx.cs
index c5fa786e2c..80f5e6884c 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrAvx.cs
@@ -30,12 +30,12 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector256<float>>(ref MemoryMarshal.GetReference(values.Component2));
 
             // Used for the color conversion
-            var chromaOffset = Vector256.Create(-this.HalfValue);
-            var scale = Vector256.Create(1 / this.MaximumValue);
-            var rCrMult = Vector256.Create(YCbCrScalar.RCrMult);
-            var gCbMult = Vector256.Create(-YCbCrScalar.GCbMult);
-            var gCrMult = Vector256.Create(-YCbCrScalar.GCrMult);
-            var bCbMult = Vector256.Create(YCbCrScalar.BCbMult);
+            Vector256<float> chromaOffset = Vector256.Create(-this.HalfValue);
+            Vector256<float> scale = Vector256.Create(1 / this.MaximumValue);
+            Vector256<float> rCrMult = Vector256.Create(YCbCrScalar.RCrMult);
+            Vector256<float> gCbMult = Vector256.Create(-YCbCrScalar.GCbMult);
+            Vector256<float> gCrMult = Vector256.Create(-YCbCrScalar.GCrMult);
+            Vector256<float> bCbMult = Vector256.Create(YCbCrScalar.BCbMult);
 
             // Walking 8 elements at one step:
             nuint n = values.Component0.Vector256Count<float>();
@@ -87,16 +87,16 @@ public override void ConvertFromRgb(in ComponentValues values, Span<float> rLane
                 ref Unsafe.As<float, Vector256<float>>(ref MemoryMarshal.GetReference(bLane));
 
             // Used for the color conversion
-            var chromaOffset = Vector256.Create(this.HalfValue);
-
-            var f0299 = Vector256.Create(0.299f);
-            var f0587 = Vector256.Create(0.587f);
-            var f0114 = Vector256.Create(0.114f);
-            var fn0168736 = Vector256.Create(-0.168736f);
-            var fn0331264 = Vector256.Create(-0.331264f);
-            var fn0418688 = Vector256.Create(-0.418688f);
-            var fn0081312F = Vector256.Create(-0.081312F);
-            var f05 = Vector256.Create(0.5f);
+            Vector256<float> chromaOffset = Vector256.Create(this.HalfValue);
+
+            Vector256<float> f0299 = Vector256.Create(0.299f);
+            Vector256<float> f0587 = Vector256.Create(0.587f);
+            Vector256<float> f0114 = Vector256.Create(0.114f);
+            Vector256<float> fn0168736 = Vector256.Create(-0.168736f);
+            Vector256<float> fn0331264 = Vector256.Create(-0.331264f);
+            Vector256<float> fn0418688 = Vector256.Create(-0.418688f);
+            Vector256<float> fn0081312F = Vector256.Create(-0.081312F);
+            Vector256<float> f05 = Vector256.Create(0.5f);
 
             nuint n = values.Component0.Vector256Count<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
index a5d0c889e3..346e665ced 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
@@ -27,13 +27,13 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> c2Base =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component2));
 
-            var chromaOffset = new Vector<float>(-this.HalfValue);
+            Vector<float> chromaOffset = new Vector<float>(-this.HalfValue);
 
-            var scale = new Vector<float>(1 / this.MaximumValue);
-            var rCrMult = new Vector<float>(YCbCrScalar.RCrMult);
-            var gCbMult = new Vector<float>(-YCbCrScalar.GCbMult);
-            var gCrMult = new Vector<float>(-YCbCrScalar.GCrMult);
-            var bCbMult = new Vector<float>(YCbCrScalar.BCbMult);
+            Vector<float> scale = new Vector<float>(1 / this.MaximumValue);
+            Vector<float> rCrMult = new Vector<float>(YCbCrScalar.RCrMult);
+            Vector<float> gCbMult = new Vector<float>(-YCbCrScalar.GCbMult);
+            Vector<float> gCrMult = new Vector<float>(-YCbCrScalar.GCrMult);
+            Vector<float> bCbMult = new Vector<float>(YCbCrScalar.BCbMult);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -89,19 +89,19 @@ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span
             ref Vector<float> srcB =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(bLane));
 
-            var chromaOffset = new Vector<float>(this.HalfValue);
+            Vector<float> chromaOffset = new Vector<float>(this.HalfValue);
 
-            var rYMult = new Vector<float>(0.299f);
-            var gYMult = new Vector<float>(0.587f);
-            var bYMult = new Vector<float>(0.114f);
+            Vector<float> rYMult = new Vector<float>(0.299f);
+            Vector<float> gYMult = new Vector<float>(0.587f);
+            Vector<float> bYMult = new Vector<float>(0.114f);
 
-            var rCbMult = new Vector<float>(0.168736f);
-            var gCbMult = new Vector<float>(0.331264f);
-            var bCbMult = new Vector<float>(0.5f);
+            Vector<float> rCbMult = new Vector<float>(0.168736f);
+            Vector<float> gCbMult = new Vector<float>(0.331264f);
+            Vector<float> bCbMult = new Vector<float>(0.5f);
 
-            var rCrMult = new Vector<float>(0.5f);
-            var gCrMult = new Vector<float>(0.418688f);
-            var bCrMult = new Vector<float>(0.081312f);
+            Vector<float> rCrMult = new Vector<float>(0.5f);
+            Vector<float> gCrMult = new Vector<float>(0.418688f);
+            Vector<float> bCrMult = new Vector<float>(0.081312f);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKArm64.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKArm64.cs
index 285ba62cfd..d3e6d60c41 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKArm64.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKArm64.cs
@@ -32,13 +32,13 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector128<float>>(ref MemoryMarshal.GetReference(values.Component3));
 
             // Used for the color conversion
-            var chromaOffset = Vector128.Create(-this.HalfValue);
-            var scale = Vector128.Create(1 / (this.MaximumValue * this.MaximumValue));
-            var max = Vector128.Create(this.MaximumValue);
-            var rCrMult = Vector128.Create(YCbCrScalar.RCrMult);
-            var gCbMult = Vector128.Create(-YCbCrScalar.GCbMult);
-            var gCrMult = Vector128.Create(-YCbCrScalar.GCrMult);
-            var bCbMult = Vector128.Create(YCbCrScalar.BCbMult);
+            Vector128<float> chromaOffset = Vector128.Create(-this.HalfValue);
+            Vector128<float> scale = Vector128.Create(1 / (this.MaximumValue * this.MaximumValue));
+            Vector128<float> max = Vector128.Create(this.MaximumValue);
+            Vector128<float> rCrMult = Vector128.Create(YCbCrScalar.RCrMult);
+            Vector128<float> gCbMult = Vector128.Create(-YCbCrScalar.GCbMult);
+            Vector128<float> gCrMult = Vector128.Create(-YCbCrScalar.GCrMult);
+            Vector128<float> bCbMult = Vector128.Create(YCbCrScalar.BCbMult);
 
             // Walking 8 elements at one step:
             nuint n = (uint)values.Component0.Length / (uint)Vector128<float>.Count;
@@ -97,18 +97,18 @@ public override void ConvertFromRgb(in ComponentValues values, Span<float> rLane
             ref Vector128<float> srcB = ref destCr;
 
             // Used for the color conversion
-            var maxSampleValue = Vector128.Create(this.MaximumValue);
-
-            var chromaOffset = Vector128.Create(this.HalfValue);
-
-            var f0299 = Vector128.Create(0.299f);
-            var f0587 = Vector128.Create(0.587f);
-            var f0114 = Vector128.Create(0.114f);
-            var fn0168736 = Vector128.Create(-0.168736f);
-            var fn0331264 = Vector128.Create(-0.331264f);
-            var fn0418688 = Vector128.Create(-0.418688f);
-            var fn0081312F = Vector128.Create(-0.081312F);
-            var f05 = Vector128.Create(0.5f);
+            Vector128<float> maxSampleValue = Vector128.Create(this.MaximumValue);
+
+            Vector128<float> chromaOffset = Vector128.Create(this.HalfValue);
+
+            Vector128<float> f0299 = Vector128.Create(0.299f);
+            Vector128<float> f0587 = Vector128.Create(0.587f);
+            Vector128<float> f0114 = Vector128.Create(0.114f);
+            Vector128<float> fn0168736 = Vector128.Create(-0.168736f);
+            Vector128<float> fn0331264 = Vector128.Create(-0.331264f);
+            Vector128<float> fn0418688 = Vector128.Create(-0.418688f);
+            Vector128<float> fn0081312F = Vector128.Create(-0.081312F);
+            Vector128<float> f05 = Vector128.Create(0.5f);
 
             nuint n = (uint)values.Component0.Length / (uint)Vector128<float>.Count;
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKAvx.cs
index efe40ba085..62b5d67651 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKAvx.cs
@@ -31,13 +31,13 @@ public override void ConvertToRgbInplace(in ComponentValues values)
                 ref Unsafe.As<float, Vector256<float>>(ref MemoryMarshal.GetReference(values.Component3));
 
             // Used for the color conversion
-            var chromaOffset = Vector256.Create(-this.HalfValue);
-            var scale = Vector256.Create(1 / (this.MaximumValue * this.MaximumValue));
-            var max = Vector256.Create(this.MaximumValue);
-            var rCrMult = Vector256.Create(YCbCrScalar.RCrMult);
-            var gCbMult = Vector256.Create(-YCbCrScalar.GCbMult);
-            var gCrMult = Vector256.Create(-YCbCrScalar.GCrMult);
-            var bCbMult = Vector256.Create(YCbCrScalar.BCbMult);
+            Vector256<float> chromaOffset = Vector256.Create(-this.HalfValue);
+            Vector256<float> scale = Vector256.Create(1 / (this.MaximumValue * this.MaximumValue));
+            Vector256<float> max = Vector256.Create(this.MaximumValue);
+            Vector256<float> rCrMult = Vector256.Create(YCbCrScalar.RCrMult);
+            Vector256<float> gCbMult = Vector256.Create(-YCbCrScalar.GCbMult);
+            Vector256<float> gCrMult = Vector256.Create(-YCbCrScalar.GCrMult);
+            Vector256<float> bCbMult = Vector256.Create(YCbCrScalar.BCbMult);
 
             // Walking 8 elements at one step:
             nuint n = values.Component0.Vector256Count<float>();
@@ -96,18 +96,18 @@ public override void ConvertFromRgb(in ComponentValues values, Span<float> rLane
             ref Vector256<float> srcB = ref destCr;
 
             // Used for the color conversion
-            var maxSampleValue = Vector256.Create(this.MaximumValue);
-
-            var chromaOffset = Vector256.Create(this.HalfValue);
-
-            var f0299 = Vector256.Create(0.299f);
-            var f0587 = Vector256.Create(0.587f);
-            var f0114 = Vector256.Create(0.114f);
-            var fn0168736 = Vector256.Create(-0.168736f);
-            var fn0331264 = Vector256.Create(-0.331264f);
-            var fn0418688 = Vector256.Create(-0.418688f);
-            var fn0081312F = Vector256.Create(-0.081312F);
-            var f05 = Vector256.Create(0.5f);
+            Vector256<float> maxSampleValue = Vector256.Create(this.MaximumValue);
+
+            Vector256<float> chromaOffset = Vector256.Create(this.HalfValue);
+
+            Vector256<float> f0299 = Vector256.Create(0.299f);
+            Vector256<float> f0587 = Vector256.Create(0.587f);
+            Vector256<float> f0114 = Vector256.Create(0.114f);
+            Vector256<float> fn0168736 = Vector256.Create(-0.168736f);
+            Vector256<float> fn0331264 = Vector256.Create(-0.331264f);
+            Vector256<float> fn0418688 = Vector256.Create(-0.418688f);
+            Vector256<float> fn0081312F = Vector256.Create(-0.081312F);
+            Vector256<float> f05 = Vector256.Create(0.5f);
 
             nuint n = values.Component0.Vector256Count<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
index 570a401adf..7ea405cf43 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
@@ -28,13 +28,13 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> kBase =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component3));
 
-            var chromaOffset = new Vector<float>(-this.HalfValue);
-            var scale = new Vector<float>(1 / (this.MaximumValue * this.MaximumValue));
-            var max = new Vector<float>(this.MaximumValue);
-            var rCrMult = new Vector<float>(YCbCrScalar.RCrMult);
-            var gCbMult = new Vector<float>(-YCbCrScalar.GCbMult);
-            var gCrMult = new Vector<float>(-YCbCrScalar.GCrMult);
-            var bCbMult = new Vector<float>(YCbCrScalar.BCbMult);
+            Vector<float> chromaOffset = new Vector<float>(-this.HalfValue);
+            Vector<float> scale = new Vector<float>(1 / (this.MaximumValue * this.MaximumValue));
+            Vector<float> max = new Vector<float>(this.MaximumValue);
+            Vector<float> rCrMult = new Vector<float>(YCbCrScalar.RCrMult);
+            Vector<float> gCbMult = new Vector<float>(-YCbCrScalar.GCbMult);
+            Vector<float> gCrMult = new Vector<float>(-YCbCrScalar.GCrMult);
+            Vector<float> bCbMult = new Vector<float>(YCbCrScalar.BCbMult);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -91,21 +91,21 @@ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span
             ref Vector<float> srcG = ref destCb;
             ref Vector<float> srcB = ref destCr;
 
-            var maxSampleValue = new Vector<float>(this.MaximumValue);
+            Vector<float> maxSampleValue = new Vector<float>(this.MaximumValue);
 
-            var chromaOffset = new Vector<float>(this.HalfValue);
+            Vector<float> chromaOffset = new Vector<float>(this.HalfValue);
 
-            var rYMult = new Vector<float>(0.299f);
-            var gYMult = new Vector<float>(0.587f);
-            var bYMult = new Vector<float>(0.114f);
+            Vector<float> rYMult = new Vector<float>(0.299f);
+            Vector<float> gYMult = new Vector<float>(0.587f);
+            Vector<float> bYMult = new Vector<float>(0.114f);
 
-            var rCbMult = new Vector<float>(0.168736f);
-            var gCbMult = new Vector<float>(0.331264f);
-            var bCbMult = new Vector<float>(0.5f);
+            Vector<float> rCbMult = new Vector<float>(0.168736f);
+            Vector<float> gCbMult = new Vector<float>(0.331264f);
+            Vector<float> bCbMult = new Vector<float>(0.5f);
 
-            var rCrMult = new Vector<float>(0.5f);
-            var gCrMult = new Vector<float>(0.418688f);
-            var bCrMult = new Vector<float>(0.081312f);
+            Vector<float> rCrMult = new Vector<float>(0.5f);
+            Vector<float> gCrMult = new Vector<float>(0.418688f);
+            Vector<float> bCrMult = new Vector<float>(0.081312f);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs
index 56e0f1e985..250d638435 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs
@@ -184,7 +184,7 @@ private void ParseBaselineDataInterleaved()
                 for (int k = 0; k < this.scanComponentCount; k++)
                 {
                     int order = this.frame.ComponentOrder[k];
-                    var component = this.components[order] as JpegComponent;
+                    JpegComponent component = this.components[order] as JpegComponent;
 
                     ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DcTableId];
                     ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.AcTableId];
@@ -233,7 +233,7 @@ ref Unsafe.Add(ref blockRef, (uint)blockCol),
 
     private void ParseBaselineDataNonInterleaved()
     {
-        var component = this.components[this.frame.ComponentOrder[0]] as JpegComponent;
+        JpegComponent component = this.components[this.frame.ComponentOrder[0]] as JpegComponent;
         ref JpegBitReader buffer = ref this.scanBuffer;
 
         int w = component.WidthInBlocks;
@@ -394,7 +394,7 @@ private void ParseProgressiveDataInterleaved()
                 for (int k = 0; k < this.scanComponentCount; k++)
                 {
                     int order = this.frame.ComponentOrder[k];
-                    var component = this.components[order] as JpegComponent;
+                    JpegComponent component = this.components[order] as JpegComponent;
                     ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DcTableId];
 
                     int h = component.HorizontalSamplingFactor;
@@ -435,7 +435,7 @@ ref Unsafe.Add(ref blockRef, (uint)blockCol),
 
     private void ParseProgressiveDataNonInterleaved()
     {
-        var component = this.components[this.frame.ComponentOrder[0]] as JpegComponent;
+        JpegComponent component = this.components[this.frame.ComponentOrder[0]] as JpegComponent;
         ref JpegBitReader buffer = ref this.scanBuffer;
 
         int w = component.WidthInBlocks;
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs
index c33a8a1968..1704ae1e74 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs
@@ -241,7 +241,7 @@ static void MultiplyToAverage(Span<float> target, float multiplier)
                 ref Vector<float> targetVectorRef = ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(target));
 
                 nuint count = target.VectorCount<float>();
-                var multiplierVector = new Vector<float>(multiplier);
+                Vector<float> multiplierVector = new Vector<float>(multiplier);
                 for (nuint i = 0; i < count; i++)
                 {
                     Unsafe.Add(ref targetVectorRef, i) *= multiplierVector;
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs
index 90e16f6dff..fc58233b19 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs
@@ -409,7 +409,7 @@ private void EncodeScanBaselineInterleaved<TPixel>(JpegFrame frame, SpectralConv
                 {
                     this.FlushRemainingBytes();
                     this.WriteRestart(restarts % 8);
-                    foreach (var component in frame.Components)
+                    foreach (Component? component in frame.Components)
                     {
                         component.DcPredictor = 0;
                     }
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
index fc93db9bb0..ed9bcbaadd 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
@@ -47,7 +47,7 @@ public SpectralConverter(JpegFrame frame, Image<TPixel> image, Block8x8F[] dequa
         // component processors from spectral to Rgb24
         const int blockPixelWidth = 8;
         this.alignedPixelWidth = majorBlockWidth * blockPixelWidth;
-        var postProcessorBufferSize = new Size(this.alignedPixelWidth, this.pixelRowsPerStep);
+        Size postProcessorBufferSize = new Size(this.alignedPixelWidth, this.pixelRowsPerStep);
         this.componentProcessors = new ComponentProcessor[frame.Components.Length];
         for (int i = 0; i < this.componentProcessors.Length; i++)
         {
@@ -118,7 +118,7 @@ private void ConvertStride(int spectralStep)
             bLane.Slice(paddingStartIndex).Fill(bLane[paddingStartIndex - 1]);
 
             // Convert from rgb24 to target pixel type
-            var values = new JpegColorConverterBase.ComponentValues(this.componentProcessors, y);
+            JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.componentProcessors, y);
             this.colorConverter.ConvertFromRgb(values, rLane, gLane, bLane);
         }
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/FloatingPointDCT.Intrinsic.cs b/src/ImageSharp/Formats/Jpeg/Components/FloatingPointDCT.Intrinsic.cs
index 7e102f696d..27744752b6 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/FloatingPointDCT.Intrinsic.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/FloatingPointDCT.Intrinsic.cs
@@ -44,7 +44,7 @@ static void FDCT8x8_1D_Avx(ref Block8x8F block)
             block.V0 = Avx.Add(tmp10, tmp11);
             block.V4 = Avx.Subtract(tmp10, tmp11);
 
-            var mm256_F_0_7071 = Vector256.Create(0.707106781f);
+            Vector256<float> mm256_F_0_7071 = Vector256.Create(0.707106781f);
             Vector256<float> z1 = Avx.Multiply(Avx.Add(tmp12, tmp13), mm256_F_0_7071);
             block.V2 = Avx.Add(tmp13, z1);
             block.V6 = Avx.Subtract(tmp13, z1);
@@ -97,7 +97,7 @@ static void IDCT8x8_1D_Avx(ref Block8x8F block)
             Vector256<float> tmp10 = Avx.Add(z5, tmp2);
             Vector256<float> tmp11 = Avx.Subtract(z5, tmp2);
 
-            var mm256_F_1_4142 = Vector256.Create(1.414213562f);
+            Vector256<float> mm256_F_1_4142 = Vector256.Create(1.414213562f);
             Vector256<float> tmp13 = Avx.Add(tmp1, tmp3);
             Vector256<float> tmp12 = SimdUtils.HwIntrinsics.MultiplySubtract(tmp13, Avx.Subtract(tmp1, tmp3), mm256_F_1_4142);
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/SizeExtensions.cs b/src/ImageSharp/Formats/Jpeg/Components/SizeExtensions.cs
index c7212fc2df..6c1b3ce9d4 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/SizeExtensions.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/SizeExtensions.cs
@@ -27,7 +27,7 @@ internal static class SizeExtensions
     /// </summary>
     public static Size DivideRoundUp(this Size originalSize, int divX, int divY)
     {
-        var sizeVect = (Vector2)(SizeF)originalSize;
+        Vector2 sizeVect = (Vector2)(SizeF)originalSize;
         sizeVect /= new Vector2(divX, divY);
         sizeVect.X = MathF.Ceiling(sizeVect.X);
         sizeVect.Y = MathF.Ceiling(sizeVect.Y);
diff --git a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
index 71f852a092..729b578bd7 100644
--- a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
+++ b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
@@ -13,15 +13,15 @@ internal sealed unsafe partial class JpegEncoderCore
 {
     private static JpegFrameConfig[] CreateFrameConfigs()
     {
-        var defaultLuminanceHuffmanDC = new JpegHuffmanTableConfig(@class: 0, destIndex: 0, HuffmanSpec.LuminanceDC);
-        var defaultLuminanceHuffmanAC = new JpegHuffmanTableConfig(@class: 1, destIndex: 0, HuffmanSpec.LuminanceAC);
-        var defaultChrominanceHuffmanDC = new JpegHuffmanTableConfig(@class: 0, destIndex: 1, HuffmanSpec.ChrominanceDC);
-        var defaultChrominanceHuffmanAC = new JpegHuffmanTableConfig(@class: 1, destIndex: 1, HuffmanSpec.ChrominanceAC);
+        JpegHuffmanTableConfig? defaultLuminanceHuffmanDC = new JpegHuffmanTableConfig(@class: 0, destIndex: 0, HuffmanSpec.LuminanceDC);
+        JpegHuffmanTableConfig? defaultLuminanceHuffmanAC = new JpegHuffmanTableConfig(@class: 1, destIndex: 0, HuffmanSpec.LuminanceAC);
+        JpegHuffmanTableConfig? defaultChrominanceHuffmanDC = new JpegHuffmanTableConfig(@class: 0, destIndex: 1, HuffmanSpec.ChrominanceDC);
+        JpegHuffmanTableConfig? defaultChrominanceHuffmanAC = new JpegHuffmanTableConfig(@class: 1, destIndex: 1, HuffmanSpec.ChrominanceAC);
 
-        var defaultLuminanceQuantTable = new JpegQuantizationTableConfig(0, Quantization.LuminanceTable);
-        var defaultChrominanceQuantTable = new JpegQuantizationTableConfig(1, Quantization.ChrominanceTable);
+        JpegQuantizationTableConfig? defaultLuminanceQuantTable = new JpegQuantizationTableConfig(0, Quantization.LuminanceTable);
+        JpegQuantizationTableConfig? defaultChrominanceQuantTable = new JpegQuantizationTableConfig(1, Quantization.ChrominanceTable);
 
-        var yCbCrHuffmanConfigs = new JpegHuffmanTableConfig[]
+        JpegHuffmanTableConfig[]? yCbCrHuffmanConfigs = new JpegHuffmanTableConfig[]
         {
             defaultLuminanceHuffmanDC,
             defaultLuminanceHuffmanAC,
@@ -29,7 +29,7 @@ private static JpegFrameConfig[] CreateFrameConfigs()
             defaultChrominanceHuffmanAC,
         };
 
-        var yCbCrQuantTableConfigs = new JpegQuantizationTableConfig[]
+        JpegQuantizationTableConfig[]? yCbCrQuantTableConfigs = new JpegQuantizationTableConfig[]
         {
             defaultLuminanceQuantTable,
             defaultChrominanceQuantTable,
diff --git a/src/ImageSharp/Formats/Tga/TgaImageFormatDetector.cs b/src/ImageSharp/Formats/Tga/TgaImageFormatDetector.cs
index ad76bc3fbd..50d9920302 100644
--- a/src/ImageSharp/Formats/Tga/TgaImageFormatDetector.cs
+++ b/src/ImageSharp/Formats/Tga/TgaImageFormatDetector.cs
@@ -34,7 +34,7 @@ private bool IsSupportedFileFormat(ReadOnlySpan<byte> header)
             }
 
             // The third byte is the image type.
-            var imageType = (TgaImageType)header[2];
+            TgaImageType imageType = (TgaImageType)header[2];
             if (!imageType.IsValid())
             {
                 return false;
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
index 6881e3a7b3..dbd8cf29cd 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
@@ -29,7 +29,7 @@ public override void Initialize(int rowsPerStrip)
     public override void CompressStrip(Span<byte> rows, int height)
     {
         this.memoryStream.Seek(0, SeekOrigin.Begin);
-        using (var stream = new ZlibDeflateStream(this.Allocator, this.memoryStream, this.compressionLevel))
+        using (ZlibDeflateStream? stream = new ZlibDeflateStream(this.Allocator, this.memoryStream, this.compressionLevel))
         {
             if (this.Predictor == TiffPredictor.Horizontal)
             {
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/PackBitsWriter.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/PackBitsWriter.cs
index 1c0a473659..4229cfada5 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/PackBitsWriter.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/PackBitsWriter.cs
@@ -101,7 +101,7 @@ private static bool IsReplicateRun(ReadOnlySpan<byte> rowSpan, int startPos)
 
     private static int FindRunLength(ReadOnlySpan<byte> rowSpan, int startPos, int maxRunLength)
     {
-        var startByte = rowSpan[startPos];
+        byte startByte = rowSpan[startPos];
         int count = 1;
         for (int i = startPos + 1; i < rowSpan.Length; i++)
         {
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
index 08faa539a8..2b557a9cf2 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
@@ -29,8 +29,8 @@ public override void CompressStrip(Span<byte> rows, int height)
         int pixelCount = rows.Length / 3;
         int width = pixelCount / height;
 
-        using var memoryStream = new MemoryStream();
-        var image = Image.LoadPixelData<Rgb24>(rows, width, height);
+        using MemoryStream? memoryStream = new MemoryStream();
+        Image<Rgb24>? image = Image.LoadPixelData<Rgb24>(rows, width, height);
         image.Save(memoryStream, new JpegEncoder()
         {
             ColorType = JpegColorType.Rgb
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
index 27c311009c..6bb2e4a4b0 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
@@ -42,7 +42,7 @@ public DeflateTiffCompression(MemoryAllocator memoryAllocator, int width, int bi
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
         long pos = stream.Position;
-        using (var deframeStream = new ZlibInflateStream(
+        using (ZlibInflateStream? deframeStream = new ZlibInflateStream(
             stream,
             () =>
             {
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
index 01591e138b..f65ab86d91 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
@@ -36,7 +36,7 @@ public LzwTiffCompression(MemoryAllocator memoryAllocator, int width, int bitsPe
     /// <inheritdoc/>
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
-        var decoder = new TiffLzwDecoder(stream);
+        TiffLzwDecoder? decoder = new TiffLzwDecoder(stream);
         decoder.DecodePixels(buffer);
 
         if (this.Predictor == TiffPredictor.Horizontal)
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
index d2dbedc9cb..72e419a96e 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
@@ -41,7 +41,7 @@ public ModifiedHuffmanTiffCompression(MemoryAllocator allocator, TiffFillOrder f
     /// <inheritdoc/>
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
-        var bitReader = new ModifiedHuffmanBitReader(stream, this.FillOrder, byteCount);
+        ModifiedHuffmanBitReader? bitReader = new ModifiedHuffmanBitReader(stream, this.FillOrder, byteCount);
 
         buffer.Clear();
         nint bitsWritten = 0;
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
index 6bdcad2b81..137236f96b 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
@@ -60,7 +60,7 @@ protected override void Decompress(BufferedReadStream stream, int byteCount, int
         }
 
         bool eolPadding = this.faxCompressionOptions.HasFlag(FaxCompressionOptions.EolPadding);
-        var bitReader = new T4BitReader(stream, this.FillOrder, byteCount, eolPadding);
+        T4BitReader? bitReader = new T4BitReader(stream, this.FillOrder, byteCount, eolPadding);
 
         buffer.Clear();
         nint bitsWritten = 0;
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
index c868fec626..b1e6ece1d0 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
@@ -57,9 +57,9 @@ protected override void Decompress(BufferedReadStream stream, int byteCount, int
         Span<byte> scanLine = scanLineBuffer.GetSpan()[..this.width];
         Span<byte> referenceScanLineSpan = scanLineBuffer.GetSpan().Slice(this.width, this.width);
 
-        var bitReader = new T6BitReader(stream, this.FillOrder, byteCount);
+        T6BitReader? bitReader = new T6BitReader(stream, this.FillOrder, byteCount);
 
-        var referenceScanLine = new CcittReferenceScanline(this.isWhiteZero, this.width);
+        CcittReferenceScanline referenceScanLine = new CcittReferenceScanline(this.isWhiteZero, this.width);
         nint bitsWritten = 0;
         for (int y = 0; y < height; y++)
         {
diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrConverter.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrConverter.cs
index 0a1cf6ab98..d41749be66 100644
--- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrConverter.cs
+++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrConverter.cs
@@ -107,7 +107,7 @@ public YCbCrToRgbConverter(Rational lumaRed, Rational lumaGreen, Rational lumaBl
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public Rgba32 Convert(float y, float cb, float cr)
         {
-            var pixel = default(Rgba32);
+            Rgba32 pixel = default(Rgba32);
             pixel.R = RoundAndClampTo8Bit((cr * this.cr2R) + y);
             pixel.G = RoundAndClampTo8Bit((this.y2G * y) + (this.cr2G * cr) + (this.cb2G * cb));
             pixel.B = RoundAndClampTo8Bit((cb * this.cb2B) + y);
diff --git a/src/ImageSharp/Formats/Webp/Lossless/ColorSpaceTransformUtils.cs b/src/ImageSharp/Formats/Webp/Lossless/ColorSpaceTransformUtils.cs
index 9a6dfb66e8..f437b5cabc 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/ColorSpaceTransformUtils.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/ColorSpaceTransformUtils.cs
@@ -16,13 +16,13 @@ public static void CollectColorBlueTransforms(Span<uint> bgra, int stride, int t
         {
             const int span = 16;
             Span<ushort> values = stackalloc ushort[span];
-            var collectColorBlueTransformsShuffleLowMask256 = Vector256.Create(255, 2, 255, 6, 255, 10, 255, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 18, 255, 22, 255, 26, 255, 30, 255, 255, 255, 255, 255, 255, 255, 255);
-            var collectColorBlueTransformsShuffleHighMask256 = Vector256.Create(255, 255, 255, 255, 255, 255, 255, 255, 255, 2, 255, 6, 255, 10, 255, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 18, 255, 22, 255, 26, 255, 30);
-            var collectColorBlueTransformsGreenBlueMask256 = Vector256.Create(255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0);
-            var collectColorBlueTransformsGreenMask256 = Vector256.Create(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
-            var collectColorBlueTransformsBlueMask256 = Vector256.Create(255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0);
-            var multsr = Vector256.Create(LosslessUtils.Cst5b(redToBlue));
-            var multsg = Vector256.Create(LosslessUtils.Cst5b(greenToBlue));
+            Vector256<byte> collectColorBlueTransformsShuffleLowMask256 = Vector256.Create(255, 2, 255, 6, 255, 10, 255, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 18, 255, 22, 255, 26, 255, 30, 255, 255, 255, 255, 255, 255, 255, 255);
+            Vector256<byte> collectColorBlueTransformsShuffleHighMask256 = Vector256.Create(255, 255, 255, 255, 255, 255, 255, 255, 255, 2, 255, 6, 255, 10, 255, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 18, 255, 22, 255, 26, 255, 30);
+            Vector256<byte> collectColorBlueTransformsGreenBlueMask256 = Vector256.Create(255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0);
+            Vector256<byte> collectColorBlueTransformsGreenMask256 = Vector256.Create(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
+            Vector256<byte> collectColorBlueTransformsBlueMask256 = Vector256.Create(255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0);
+            Vector256<short> multsr = Vector256.Create(LosslessUtils.Cst5b(redToBlue));
+            Vector256<short> multsg = Vector256.Create(LosslessUtils.Cst5b(greenToBlue));
             for (int y = 0; y < tileHeight; y++)
             {
                 Span<uint> srcSpan = bgra[(y * stride)..];
@@ -66,13 +66,13 @@ public static void CollectColorBlueTransforms(Span<uint> bgra, int stride, int t
         {
             const int span = 8;
             Span<ushort> values = stackalloc ushort[span];
-            var collectColorBlueTransformsShuffleLowMask = Vector128.Create(255, 2, 255, 6, 255, 10, 255, 14, 255, 255, 255, 255, 255, 255, 255, 255);
-            var collectColorBlueTransformsShuffleHighMask = Vector128.Create(255, 255, 255, 255, 255, 255, 255, 255, 255, 2, 255, 6, 255, 10, 255, 14);
-            var collectColorBlueTransformsGreenBlueMask = Vector128.Create(255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0);
-            var collectColorBlueTransformsGreenMask = Vector128.Create(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
-            var collectColorBlueTransformsBlueMask = Vector128.Create(255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0);
-            var multsr = Vector128.Create(LosslessUtils.Cst5b(redToBlue));
-            var multsg = Vector128.Create(LosslessUtils.Cst5b(greenToBlue));
+            Vector128<byte> collectColorBlueTransformsShuffleLowMask = Vector128.Create(255, 2, 255, 6, 255, 10, 255, 14, 255, 255, 255, 255, 255, 255, 255, 255);
+            Vector128<byte> collectColorBlueTransformsShuffleHighMask = Vector128.Create(255, 255, 255, 255, 255, 255, 255, 255, 255, 2, 255, 6, 255, 10, 255, 14);
+            Vector128<byte> collectColorBlueTransformsGreenBlueMask = Vector128.Create(255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0);
+            Vector128<byte> collectColorBlueTransformsGreenMask = Vector128.Create(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
+            Vector128<byte> collectColorBlueTransformsBlueMask = Vector128.Create(255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0);
+            Vector128<short> multsr = Vector128.Create(LosslessUtils.Cst5b(redToBlue));
+            Vector128<short> multsg = Vector128.Create(LosslessUtils.Cst5b(greenToBlue));
             for (int y = 0; y < tileHeight; y++)
             {
                 Span<uint> srcSpan = bgra[(y * stride)..];
@@ -139,7 +139,7 @@ public static void CollectColorRedTransforms(Span<uint> bgra, int stride, int ti
         {
             Vector256<byte> collectColorRedTransformsGreenMask256 = Vector256.Create(0x00ff00).AsByte();
             Vector256<byte> collectColorRedTransformsAndMask256 = Vector256.Create((short)0xff).AsByte();
-            var multsg = Vector256.Create(LosslessUtils.Cst5b(greenToRed));
+            Vector256<short> multsg = Vector256.Create(LosslessUtils.Cst5b(greenToRed));
             const int span = 16;
             Span<ushort> values = stackalloc ushort[span];
             for (int y = 0; y < tileHeight; y++)
@@ -182,7 +182,7 @@ public static void CollectColorRedTransforms(Span<uint> bgra, int stride, int ti
         {
             Vector128<byte> collectColorRedTransformsGreenMask = Vector128.Create(0x00ff00).AsByte();
             Vector128<byte> collectColorRedTransformsAndMask = Vector128.Create((short)0xff).AsByte();
-            var multsg = Vector128.Create(LosslessUtils.Cst5b(greenToRed));
+            Vector128<short> multsg = Vector128.Create(LosslessUtils.Cst5b(greenToRed));
             const int span = 8;
             Span<ushort> values = stackalloc ushort[span];
             for (int y = 0; y < tileHeight; y++)
diff --git a/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs b/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
index 63ce9dbec6..a6c6ee6180 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
@@ -49,7 +49,7 @@ public CostManager(MemoryAllocator memoryAllocator, IMemoryOwner<ushort> distArr
         }
 
         // Fill in the cache intervals.
-        var cur = new CostCacheInterval()
+        CostCacheInterval? cur = new CostCacheInterval()
         {
             Start = 0,
             End = 1,
diff --git a/src/ImageSharp/Formats/Webp/Lossless/PredictorEncoder.cs b/src/ImageSharp/Formats/Webp/Lossless/PredictorEncoder.cs
index 736070a1c9..19dc08fc5b 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/PredictorEncoder.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/PredictorEncoder.cs
@@ -122,8 +122,8 @@ public static void ColorSpaceTransform(int width, int height, int bits, uint qua
         int tileYSize = LosslessUtils.SubSampleSize(height, bits);
         int[] accumulatedRedHisto = new int[256];
         int[] accumulatedBlueHisto = new int[256];
-        var prevX = default(Vp8LMultipliers);
-        var prevY = default(Vp8LMultipliers);
+        Vp8LMultipliers prevX = default(Vp8LMultipliers);
+        Vp8LMultipliers prevY = default(Vp8LMultipliers);
         for (int tileY = 0; tileY < tileYSize; tileY++)
         {
             for (int tileX = 0; tileX < tileXSize; tileX++)
@@ -856,7 +856,7 @@ private static Vp8LMultipliers GetBestColorTransformForTile(
         int tileHeight = allYMax - tileYOffset;
         Span<uint> tileArgb = argb[((tileYOffset * xSize) + tileXOffset)..];
 
-        var bestTx = default(Vp8LMultipliers);
+        Vp8LMultipliers bestTx = default(Vp8LMultipliers);
 
         GetBestGreenToRed(tileArgb, xSize, scratch, tileWidth, tileHeight, prevX, prevY, quality, accumulatedRedHisto, ref bestTx);
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/LossyUtils.cs b/src/ImageSharp/Formats/Webp/Lossy/LossyUtils.cs
index aae4181ce0..67a921a37c 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/LossyUtils.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/LossyUtils.cs
@@ -66,16 +66,16 @@ public static int Vp8_Sse4x4(Span<byte> a, Span<byte> b)
             // Load values.
             ref byte aRef = ref MemoryMarshal.GetReference(a);
             ref byte bRef = ref MemoryMarshal.GetReference(b);
-            var a0 = Vector256.Create(
+            Vector256<byte> a0 = Vector256.Create(
                 Unsafe.As<byte, Vector128<byte>>(ref aRef),
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref aRef, WebpConstants.Bps)));
-            var a1 = Vector256.Create(
+            Vector256<byte> a1 = Vector256.Create(
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref aRef, WebpConstants.Bps * 2)),
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref aRef, WebpConstants.Bps * 3)));
-            var b0 = Vector256.Create(
+            Vector256<byte> b0 = Vector256.Create(
                 Unsafe.As<byte, Vector128<byte>>(ref bRef),
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref bRef, WebpConstants.Bps)));
-            var b1 = Vector256.Create(
+            Vector256<byte> b1 = Vector256.Create(
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref bRef, WebpConstants.Bps * 2)),
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref bRef, WebpConstants.Bps * 3)));
 
@@ -192,16 +192,16 @@ private static int Vp8_Sse16xN_Avx2(Span<byte> a, Span<byte> b, int numPairs)
         for (int i = 0; i < numPairs; i++)
         {
             // Load values.
-            var a0 = Vector256.Create(
+            Vector256<byte> a0 = Vector256.Create(
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref aRef, offset)),
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref aRef, offset + WebpConstants.Bps)));
-            var b0 = Vector256.Create(
+            Vector256<byte> b0 = Vector256.Create(
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref bRef, offset)),
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref bRef, offset + WebpConstants.Bps)));
-            var a1 = Vector256.Create(
+            Vector256<byte> a1 = Vector256.Create(
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref aRef, offset + (2 * WebpConstants.Bps))),
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref aRef, offset + (3 * WebpConstants.Bps))));
-            var b1 = Vector256.Create(
+            Vector256<byte> b1 = Vector256.Create(
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref bRef, offset + (2 * WebpConstants.Bps))),
                 Unsafe.As<byte, Vector128<byte>>(ref Unsafe.Add(ref bRef, offset + (3 * WebpConstants.Bps))));
 
@@ -1057,19 +1057,19 @@ public static void TransformTwo(Span<short> src, Span<byte> dst, Span<int> scrat
             // Load and concatenate the transform coefficients (we'll do two transforms
             // in parallel).
             ref short srcRef = ref MemoryMarshal.GetReference(src);
-            var in0 = Vector128.Create(Unsafe.As<short, long>(ref srcRef), 0);
-            var in1 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 4)), 0);
-            var in2 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 8)), 0);
-            var in3 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 12)), 0);
+            Vector128<long> in0 = Vector128.Create(Unsafe.As<short, long>(ref srcRef), 0);
+            Vector128<long> in1 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 4)), 0);
+            Vector128<long> in2 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 8)), 0);
+            Vector128<long> in3 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 12)), 0);
 
             // a00 a10 a20 a30   x x x x
             // a01 a11 a21 a31   x x x x
             // a02 a12 a22 a32   x x x x
             // a03 a13 a23 a33   x x x x
-            var inb0 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 16)), 0);
-            var inb1 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 20)), 0);
-            var inb2 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 24)), 0);
-            var inb3 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 28)), 0);
+            Vector128<long> inb0 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 16)), 0);
+            Vector128<long> inb1 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 20)), 0);
+            Vector128<long> inb2 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 24)), 0);
+            Vector128<long> inb3 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 28)), 0);
 
             in0 = Sse2.UnpackLow(in0, inb0);
             in1 = Sse2.UnpackLow(in1, inb1);
@@ -1086,8 +1086,8 @@ public static void TransformTwo(Span<short> src, Span<byte> dst, Span<int> scrat
             Vector128<short> a = Sse2.Add(in0.AsInt16(), in2.AsInt16());
             Vector128<short> b = Sse2.Subtract(in0.AsInt16(), in2.AsInt16());
 
-            var k1 = Vector128.Create((short)20091);
-            var k2 = Vector128.Create((short)-30068);
+            Vector128<short> k1 = Vector128.Create((short)20091);
+            Vector128<short> k2 = Vector128.Create((short)-30068);
 
             // c = MUL(in1, K2) - MUL(in3, K1) = MUL(in1, k2) - MUL(in3, k1) + in1 - in3
             Vector128<short> c1 = Sse2.MultiplyHigh(in1.AsInt16(), k2);
@@ -1193,10 +1193,10 @@ public static void TransformOne(Span<short> src, Span<byte> dst, Span<int> scrat
         {
             // Load and concatenate the transform coefficients.
             ref short srcRef = ref MemoryMarshal.GetReference(src);
-            var in0 = Vector128.Create(Unsafe.As<short, long>(ref srcRef), 0);
-            var in1 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 4)), 0);
-            var in2 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 8)), 0);
-            var in3 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 12)), 0);
+            Vector128<long> in0 = Vector128.Create(Unsafe.As<short, long>(ref srcRef), 0);
+            Vector128<long> in1 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 4)), 0);
+            Vector128<long> in2 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 8)), 0);
+            Vector128<long> in3 = Vector128.Create(Unsafe.As<short, long>(ref Unsafe.Add(ref srcRef, 12)), 0);
 
             // a00 a10 a20 a30   x x x x
             // a01 a11 a21 a31   x x x x
@@ -1208,8 +1208,8 @@ public static void TransformOne(Span<short> src, Span<byte> dst, Span<int> scrat
             Vector128<short> a = Sse2.Add(in0.AsInt16(), in2.AsInt16());
             Vector128<short> b = Sse2.Subtract(in0.AsInt16(), in2.AsInt16());
 
-            var k1 = Vector128.Create((short)20091);
-            var k2 = Vector128.Create((short)-30068);
+            Vector128<short> k1 = Vector128.Create((short)20091);
+            Vector128<short> k2 = Vector128.Create((short)-30068);
 
             // c = MUL(in1, K2) - MUL(in3, K1) = MUL(in1, k2) - MUL(in3, k1) + in1 - in3
             Vector128<short> c1 = Sse2.MultiplyHigh(in1.AsInt16(), k2);
@@ -2017,7 +2017,7 @@ private static void DoFilter2(Span<byte> p, int offset, int step)
     // Applies filter on 2 pixels (p0 and q0)
     private static void DoFilter2Sse2(ref Vector128<byte> p1, ref Vector128<byte> p0, ref Vector128<byte> q0, ref Vector128<byte> q1, int thresh)
     {
-        var signBit = Vector128.Create((byte)0x80);
+        Vector128<byte> signBit = Vector128.Create((byte)0x80);
 
         // Convert p1/q1 to byte (for GetBaseDelta).
         Vector128<byte> p1s = Sse2.Xor(p1, signBit);
@@ -2046,7 +2046,7 @@ private static void DoFilter4Sse2(ref Vector128<byte> p1, ref Vector128<byte> p0
         // Compute hev mask.
         Vector128<byte> notHev = GetNotHev(ref p1, ref p0, ref q0, ref q1, tresh);
 
-        var signBit = Vector128.Create((byte)0x80);
+        Vector128<byte> signBit = Vector128.Create((byte)0x80);
 
         // Convert to signed values.
         p1 = Sse2.Xor(p1, signBit);
@@ -2090,7 +2090,7 @@ private static void DoFilter6Sse2(ref Vector128<byte> p2, ref Vector128<byte> p1
         Vector128<byte> notHev = GetNotHev(ref p1, ref p0, ref q0, ref q1, tresh);
 
         // Convert to signed values.
-        var signBit = Vector128.Create((byte)0x80);
+        Vector128<byte> signBit = Vector128.Create((byte)0x80);
         p1 = Sse2.Xor(p1, signBit);
         p0 = Sse2.Xor(p0, signBit);
         q0 = Sse2.Xor(q0, signBit);
@@ -2111,11 +2111,11 @@ private static void DoFilter6Sse2(ref Vector128<byte> p2, ref Vector128<byte> p1
         Vector128<byte> flow = Sse2.UnpackLow(Vector128<byte>.Zero, f);
         Vector128<byte> fhigh = Sse2.UnpackHigh(Vector128<byte>.Zero, f);
 
-        var nine = Vector128.Create((short)0x0900);
+        Vector128<short> nine = Vector128.Create((short)0x0900);
         Vector128<short> f9Low = Sse2.MultiplyHigh(flow.AsInt16(), nine); // Filter (lo) * 9
         Vector128<short> f9High = Sse2.MultiplyHigh(fhigh.AsInt16(), nine); // Filter (hi) * 9
 
-        var sixtyThree = Vector128.Create((short)63);
+        Vector128<short> sixtyThree = Vector128.Create((short)63);
         Vector128<short> a2Low = Sse2.Add(f9Low, sixtyThree); // Filter * 9 + 63
         Vector128<short> a2High = Sse2.Add(f9High, sixtyThree); // Filter * 9 + 63
 
@@ -2146,7 +2146,7 @@ private static Vector128<byte> GetNotHev(ref Vector128<byte> p1, ref Vector128<b
         Vector128<byte> t1 = Abs(p1, p0);
         Vector128<byte> t2 = Abs(q1, q0);
 
-        var h = Vector128.Create((byte)hevThresh);
+        Vector128<byte> h = Vector128.Create((byte)hevThresh);
         Vector128<byte> tMax = Sse2.Max(t1, t2);
 
         Vector128<byte> tMaxH = Sse2.SubtractSaturate(tMax, h);
@@ -2235,9 +2235,9 @@ private static bool NeedsFilter2(Span<byte> p, int offset, int step, int t, int
 
     private static Vector128<byte> NeedsFilter(Vector128<byte> p1, Vector128<byte> p0, Vector128<byte> q0, Vector128<byte> q1, int thresh)
     {
-        var mthresh = Vector128.Create((byte)thresh);
+        Vector128<byte> mthresh = Vector128.Create((byte)thresh);
         Vector128<byte> t1 = Abs(p1, q1); // abs(p1 - q1)
-        var fe = Vector128.Create((byte)0xFE);
+        Vector128<byte> fe = Vector128.Create((byte)0xFE);
         Vector128<byte> t2 = Sse2.And(t1, fe); // set lsb of each byte to zero.
         Vector128<short> t3 = Sse2.ShiftRightLogical(t2.AsInt16(), 1); // abs(p1 - q1) / 2
 
@@ -2383,7 +2383,7 @@ private static Vector128<sbyte> SignedShift8b(Vector128<byte> x)
     [MethodImpl(InliningOptions.ShortMethod)]
     private static void ComplexMask(Vector128<byte> p1, Vector128<byte> p0, Vector128<byte> q0, Vector128<byte> q1, int thresh, int ithresh, ref Vector128<byte> mask)
     {
-        var it = Vector128.Create((byte)ithresh);
+        Vector128<byte> it = Vector128.Create((byte)ithresh);
         Vector128<byte> diff = Sse2.SubtractSaturate(mask, it);
         Vector128<byte> threshMask = Sse2.CompareEqual(diff, Vector128<byte>.Zero);
         Vector128<byte> filterMask = NeedsFilter(p1, p0, q0, q1, thresh);
@@ -2397,7 +2397,7 @@ private static void ComplexMask(Vector128<byte> p1, Vector128<byte> p0, Vector12
     // Pixels 'pi' and 'qi' are int8_t on input, uint8_t on output (sign flip).
     private static void Update2Pixels(ref Vector128<byte> pi, ref Vector128<byte> qi, Vector128<short> a0Low, Vector128<short> a0High)
     {
-        var signBit = Vector128.Create((byte)0x80);
+        Vector128<byte> signBit = Vector128.Create((byte)0x80);
         Vector128<short> a1Low = Sse2.ShiftRightArithmetic(a0Low, 7);
         Vector128<short> a1High = Sse2.ShiftRightArithmetic(a0High, 7);
         Vector128<sbyte> delta = Sse2.PackSignedSaturate(a1Low, a1High);
@@ -2410,8 +2410,8 @@ private static void Update2Pixels(ref Vector128<byte> pi, ref Vector128<byte> qi
     [MethodImpl(InliningOptions.ShortMethod)]
     private static Vector128<byte> LoadUvEdge(ref byte uRef, ref byte vRef, int offset)
     {
-        var uVec = Vector128.Create(Unsafe.As<byte, long>(ref Unsafe.Add(ref uRef, (uint)offset)), 0);
-        var vVec = Vector128.Create(Unsafe.As<byte, long>(ref Unsafe.Add(ref vRef, (uint)offset)), 0);
+        Vector128<long> uVec = Vector128.Create(Unsafe.As<byte, long>(ref Unsafe.Add(ref uRef, (uint)offset)), 0);
+        Vector128<long> vVec = Vector128.Create(Unsafe.As<byte, long>(ref Unsafe.Add(ref vRef, (uint)offset)), 0);
         return Sse2.UnpackLow(uVec, vVec).AsByte();
     }
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs b/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
index e9eb1110b0..915ea48c2a 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
@@ -36,8 +36,8 @@ public static void PickBestIntra16(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Se
         int tlambda = dqm.TLambda;
         Span<byte> src = it.YuvIn.AsSpan(Vp8EncIterator.YOffEnc);
         Span<int> scratch = it.Scratch3;
-        var rdTmp = new Vp8ModeScore();
-        var res = new Vp8Residual();
+        Vp8ModeScore? rdTmp = new Vp8ModeScore();
+        Vp8Residual? res = new Vp8Residual();
         Vp8ModeScore rdCur = rdTmp;
         Vp8ModeScore rdBest = rd;
         int mode;
@@ -107,7 +107,7 @@ public static bool PickBestIntra4(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Seg
         Span<byte> bestBlocks = it.YuvOut2.AsSpan(Vp8EncIterator.YOffEnc);
         Span<int> scratch = it.Scratch3;
         int totalHeaderBits = 0;
-        var rdBest = new Vp8ModeScore();
+        Vp8ModeScore? rdBest = new Vp8ModeScore();
 
         if (maxI4HeaderBits == 0)
         {
@@ -118,9 +118,9 @@ public static bool PickBestIntra4(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Seg
         rdBest.H = 211;  // '211' is the value of VP8BitCost(0, 145)
         rdBest.SetRdScore(dqm.LambdaMode);
         it.StartI4();
-        var rdi4 = new Vp8ModeScore();
-        var rdTmp = new Vp8ModeScore();
-        var res = new Vp8Residual();
+        Vp8ModeScore? rdi4 = new Vp8ModeScore();
+        Vp8ModeScore? rdTmp = new Vp8ModeScore();
+        Vp8Residual? res = new Vp8Residual();
         Span<short> tmpLevels = stackalloc short[16];
         do
         {
@@ -220,9 +220,9 @@ public static void PickBestUv(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Segment
         Span<byte> tmpDst = it.YuvOut2.AsSpan(Vp8EncIterator.UOffEnc);
         Span<byte> dst0 = it.YuvOut.AsSpan(Vp8EncIterator.UOffEnc);
         Span<byte> dst = dst0;
-        var rdBest = new Vp8ModeScore();
-        var rdUv = new Vp8ModeScore();
-        var res = new Vp8Residual();
+        Vp8ModeScore? rdBest = new Vp8ModeScore();
+        Vp8ModeScore? rdUv = new Vp8ModeScore();
+        Vp8Residual? res = new Vp8Residual();
         int mode;
 
         rd.ModeUv = -1;
@@ -628,7 +628,7 @@ public static int QuantizeBlock(Span<short> input, Span<short> output, ref Vp8Ma
             Vector128<short> out8 = Sse2.PackSignedSaturate(out08.AsInt32(), out12.AsInt32());
 
             // if (coeff > 2047) coeff = 2047
-            var maxCoeff2047 = Vector128.Create((short)MaxLevel);
+            Vector128<short> maxCoeff2047 = Vector128.Create((short)MaxLevel);
             out0 = Sse2.Min(out0, maxCoeff2047);
             out8 = Sse2.Min(out8, maxCoeff2047);
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs b/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs
index 40146c6af8..fe0c05587c 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs
@@ -708,9 +708,9 @@ private static void ConvertYuv444ToBgrSse41(ref byte y, ref byte u, ref byte v,
         // R = (19077 * y             + 26149 * v - 14234) >> 6
         // G = (19077 * y -  6419 * u - 13320 * v +  8708) >> 6
         // B = (19077 * y + 33050 * u             - 17685) >> 6
-        var k19077 = Vector128.Create((ushort)19077);
-        var k26149 = Vector128.Create((ushort)26149);
-        var k14234 = Vector128.Create((ushort)14234);
+        Vector128<ushort> k19077 = Vector128.Create((ushort)19077);
+        Vector128<ushort> k26149 = Vector128.Create((ushort)26149);
+        Vector128<ushort> k14234 = Vector128.Create((ushort)14234);
 
         Vector128<ushort> y1 = Sse2.MultiplyHigh(y0.AsUInt16(), k19077);
         Vector128<ushort> r0 = Sse2.MultiplyHigh(v0.AsUInt16(), k26149);
diff --git a/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs b/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
index 4220b3df77..361b7fabcc 100644
--- a/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
+++ b/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
@@ -18,7 +18,7 @@ public static class GraphicOptionsDefaultsExtensions
     /// <returns>The passed in <paramref name="context"/> to allow chaining.</returns>
     public static IImageProcessingContext SetGraphicsOptions(this IImageProcessingContext context, Action<GraphicsOptions> optionsBuilder)
     {
-        var cloned = context.GetGraphicsOptions().DeepClone();
+        GraphicsOptions? cloned = context.GetGraphicsOptions().DeepClone();
         optionsBuilder(cloned);
         context.Properties[typeof(GraphicsOptions)] = cloned;
         return context;
@@ -31,7 +31,7 @@ public static IImageProcessingContext SetGraphicsOptions(this IImageProcessingCo
     /// <param name="optionsBuilder">The default options to use.</param>
     public static void SetGraphicsOptions(this Configuration configuration, Action<GraphicsOptions> optionsBuilder)
     {
-        var cloned = configuration.GetGraphicsOptions().DeepClone();
+        GraphicsOptions? cloned = configuration.GetGraphicsOptions().DeepClone();
         optionsBuilder(cloned);
         configuration.Properties[typeof(GraphicsOptions)] = cloned;
     }
@@ -65,7 +65,7 @@ public static void SetGraphicsOptions(this Configuration configuration, Graphics
     /// <returns>The globaly configued default options.</returns>
     public static GraphicsOptions GetGraphicsOptions(this IImageProcessingContext context)
     {
-        if (context.Properties.TryGetValue(typeof(GraphicsOptions), out var options) && options is GraphicsOptions go)
+        if (context.Properties.TryGetValue(typeof(GraphicsOptions), out object? options) && options is GraphicsOptions go)
         {
             return go;
         }
@@ -82,12 +82,12 @@ public static GraphicsOptions GetGraphicsOptions(this IImageProcessingContext co
     /// <returns>The globaly configued default options.</returns>
     public static GraphicsOptions GetGraphicsOptions(this Configuration configuration)
     {
-        if (configuration.Properties.TryGetValue(typeof(GraphicsOptions), out var options) && options is GraphicsOptions go)
+        if (configuration.Properties.TryGetValue(typeof(GraphicsOptions), out object? options) && options is GraphicsOptions go)
         {
             return go;
         }
 
-        var configOptions = new GraphicsOptions();
+        GraphicsOptions? configOptions = new GraphicsOptions();
 
         // capture the fallback so the same instance will always be returned in case its mutated
         configuration.Properties[typeof(GraphicsOptions)] = configOptions;
diff --git a/src/ImageSharp/ImageFrame.LoadPixelData.cs b/src/ImageSharp/ImageFrame.LoadPixelData.cs
index 61f4c0ea9d..b08d270615 100644
--- a/src/ImageSharp/ImageFrame.LoadPixelData.cs
+++ b/src/ImageSharp/ImageFrame.LoadPixelData.cs
@@ -40,7 +40,7 @@ internal static ImageFrame<TPixel> LoadPixelData<TPixel>(Configuration configura
         int count = width * height;
         Guard.MustBeGreaterThanOrEqualTo(data.Length, count, nameof(data));
 
-        var image = new ImageFrame<TPixel>(configuration, width, height);
+        ImageFrame<TPixel>? image = new ImageFrame<TPixel>(configuration, width, height);
 
         data = data[..count];
         data.CopyTo(image.PixelBuffer.FastMemoryGroup);
diff --git a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
index 24bf52b1f9..2a8c734059 100644
--- a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
+++ b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
@@ -11,7 +11,7 @@ public UnmanagedBuffer<T> CreateGuardedBuffer<T>(
         bool clear)
         where T : struct
     {
-        var buffer = new UnmanagedBuffer<T>(lengthInElements, new ReturnToPoolBufferLifetimeGuard(this, handle));
+        UnmanagedBuffer<T>? buffer = new UnmanagedBuffer<T>(lengthInElements, new ReturnToPoolBufferLifetimeGuard(this, handle));
         if (clear)
         {
             buffer.Clear();
diff --git a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
index 621073a3db..c61a027cdd 100644
--- a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
+++ b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
@@ -96,7 +96,7 @@ public override IMemoryOwner<T> Allocate<T>(
 
         if (lengthInBytes <= (ulong)this.sharedArrayPoolThresholdInBytes)
         {
-            var buffer = new SharedArrayPoolBuffer<T>(length);
+            SharedArrayPoolBuffer<T>? buffer = new SharedArrayPoolBuffer<T>(length);
             if (options.Has(AllocationOptions.Clean))
             {
                 buffer.GetSpan().Clear();
@@ -127,7 +127,7 @@ internal override MemoryGroup<T> AllocateGroupCore<T>(
     {
         if (totalLengthInBytes <= this.sharedArrayPoolThresholdInBytes)
         {
-            var buffer = new SharedArrayPoolBuffer<T>((int)totalLengthInElements);
+            SharedArrayPoolBuffer<T>? buffer = new SharedArrayPoolBuffer<T>((int)totalLengthInElements);
             return MemoryGroup<T>.CreateContiguous(buffer, options.Has(AllocationOptions.Clean));
         }
 
diff --git a/src/ImageSharp/Memory/Allocators/UnmanagedMemoryAllocator.cs b/src/ImageSharp/Memory/Allocators/UnmanagedMemoryAllocator.cs
index da202aa596..06cfd30e1f 100644
--- a/src/ImageSharp/Memory/Allocators/UnmanagedMemoryAllocator.cs
+++ b/src/ImageSharp/Memory/Allocators/UnmanagedMemoryAllocator.cs
@@ -20,7 +20,7 @@ internal class UnmanagedMemoryAllocator : MemoryAllocator
 
     public override IMemoryOwner<T> Allocate<T>(int length, AllocationOptions options = AllocationOptions.None)
     {
-        var buffer = UnmanagedBuffer<T>.Allocate(length);
+        UnmanagedBuffer<T>? buffer = UnmanagedBuffer<T>.Allocate(length);
         if (options.Has(AllocationOptions.Clean))
         {
             buffer.GetSpan().Clear();
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupExtensions.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupExtensions.cs
index e2e933f3cc..d2e4d00fb0 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupExtensions.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupExtensions.cs
@@ -77,7 +77,7 @@ internal static void CopyTo<T>(this IMemoryGroup<T> source, Span<T> target)
         Guard.NotNull(source, nameof(source));
         Guard.MustBeGreaterThanOrEqualTo(target.Length, source.TotalLength, nameof(target));
 
-        var cur = new MemoryGroupCursor<T>(source);
+        MemoryGroupCursor<T> cur = new MemoryGroupCursor<T>(source);
         long position = 0;
         while (position < source.TotalLength)
         {
@@ -100,7 +100,7 @@ internal static void CopyTo<T>(this ReadOnlySpan<T> source, IMemoryGroup<T> targ
         Guard.NotNull(target, nameof(target));
         Guard.MustBeGreaterThanOrEqualTo(target.TotalLength, source.Length, nameof(target));
 
-        var cur = new MemoryGroupCursor<T>(target);
+        MemoryGroupCursor<T> cur = new MemoryGroupCursor<T>(target);
 
         while (!source.IsEmpty)
         {
@@ -126,8 +126,8 @@ internal static void CopyTo<T>(this IMemoryGroup<T>? source, IMemoryGroup<T>? ta
         }
 
         long position = 0;
-        var srcCur = new MemoryGroupCursor<T>(source);
-        var trgCur = new MemoryGroupCursor<T>(target);
+        MemoryGroupCursor<T> srcCur = new MemoryGroupCursor<T>(source);
+        MemoryGroupCursor<T> trgCur = new MemoryGroupCursor<T>(target);
 
         while (position < source.TotalLength)
         {
@@ -162,8 +162,8 @@ internal static void TransformTo<TSource, TTarget>(
         }
 
         long position = 0;
-        var srcCur = new MemoryGroupCursor<TSource>(source);
-        var trgCur = new MemoryGroupCursor<TTarget>(target);
+        MemoryGroupCursor<TSource> srcCur = new MemoryGroupCursor<TSource>(source);
+        MemoryGroupCursor<TTarget> trgCur = new MemoryGroupCursor<TTarget>(target);
 
         while (position < source.TotalLength)
         {
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
index 9da0139e6e..614eedeb03 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
@@ -66,14 +66,14 @@ private static IMemoryOwner<T>[] CreateBuffers(
             int sizeOfLastBuffer,
             AllocationOptions options)
         {
-            var result = new IMemoryOwner<T>[pooledBuffers.Length];
+            IMemoryOwner<T>[]? result = new IMemoryOwner<T>[pooledBuffers.Length];
             for (int i = 0; i < pooledBuffers.Length - 1; i++)
             {
-                var currentBuffer = ObservedBuffer.Create(pooledBuffers[i], bufferLength, options);
+                ObservedBuffer? currentBuffer = ObservedBuffer.Create(pooledBuffers[i], bufferLength, options);
                 result[i] = currentBuffer;
             }
 
-            var lastBuffer = ObservedBuffer.Create(pooledBuffers[pooledBuffers.Length - 1], sizeOfLastBuffer, options);
+            ObservedBuffer? lastBuffer = ObservedBuffer.Create(pooledBuffers[pooledBuffers.Length - 1], sizeOfLastBuffer, options);
             result[result.Length - 1] = lastBuffer;
             return result;
         }
@@ -193,7 +193,7 @@ public static ObservedBuffer Create(
                 int lengthInElements,
                 AllocationOptions options)
             {
-                var buffer = new ObservedBuffer(handle, lengthInElements);
+                ObservedBuffer? buffer = new ObservedBuffer(handle, lengthInElements);
                 if (options.Has(AllocationOptions.Clean))
                 {
                     buffer.GetSpan().Clear();
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
index 03c29a7231..699707068c 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
@@ -97,7 +97,7 @@ public static MemoryGroup<T> Allocate(
 
         if (totalLengthInElements == 0)
         {
-            var buffers0 = new IMemoryOwner<T>[1] { allocator.Allocate<T>(0, options) };
+            IMemoryOwner<T>[]? buffers0 = new IMemoryOwner<T>[1] { allocator.Allocate<T>(0, options) };
             return new Owned(buffers0, 0, 0, true);
         }
 
@@ -120,7 +120,7 @@ public static MemoryGroup<T> Allocate(
             bufferCount++;
         }
 
-        var buffers = new IMemoryOwner<T>[bufferCount];
+        IMemoryOwner<T>[]? buffers = new IMemoryOwner<T>[bufferCount];
         for (int i = 0; i < buffers.Length - 1; i++)
         {
             buffers[i] = allocator.Allocate<T>(bufferLength, options);
@@ -142,7 +142,7 @@ public static MemoryGroup<T> CreateContiguous(IMemoryOwner<T> buffer, bool clear
         }
 
         int length = buffer.Memory.Length;
-        var buffers = new IMemoryOwner<T>[1] { buffer };
+        IMemoryOwner<T>[]? buffers = new IMemoryOwner<T>[1] { buffer };
         return new Owned(buffers, length, length, true);
     }
 
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs
index b7756e62bd..0b3e11483f 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs
@@ -102,7 +102,7 @@ private bool SetSingle(ulong value)
 
     private bool SetArray(long[] values)
     {
-        var numbers = new ulong[values.Length];
+        ulong[]? numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)(values[i] < 0 ? 0 : values[i]);
@@ -120,7 +120,7 @@ private bool SetArray(ulong[] values)
 
     private bool SetArray(int[] values)
     {
-        var numbers = new ulong[values.Length];
+        ulong[]? numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)Numerics.Clamp(values[i], 0, int.MaxValue);
@@ -132,7 +132,7 @@ private bool SetArray(int[] values)
 
     private bool SetArray(uint[] values)
     {
-        var numbers = new ulong[values.Length];
+        ulong[]? numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)values[i];
@@ -144,7 +144,7 @@ private bool SetArray(uint[] values)
 
     private bool SetArray(short[] values)
     {
-        var numbers = new ulong[values.Length];
+        ulong[]? numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)Numerics.Clamp(values[i], 0, short.MaxValue);
@@ -156,7 +156,7 @@ private bool SetArray(short[] values)
 
     private bool SetArray(ushort[] values)
     {
-        var numbers = new ulong[values.Length];
+        ulong[]? numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)values[i];
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs
index 1162c25ea9..f1299e6b3a 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs
@@ -86,7 +86,7 @@ private bool SetSingle(Number value)
 
     private bool SetArray(int[] values)
     {
-        var numbers = new Number[values.Length];
+        Number[]? numbers = new Number[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = values[i];
@@ -98,7 +98,7 @@ private bool SetArray(int[] values)
 
     private bool SetArray(uint[] values)
     {
-        var numbers = new Number[values.Length];
+        Number[]? numbers = new Number[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = values[i];
@@ -110,7 +110,7 @@ private bool SetArray(uint[] values)
 
     private bool SetArray(short[] values)
     {
-        var numbers = new Number[values.Length];
+        Number[]? numbers = new Number[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = values[i];
@@ -122,7 +122,7 @@ private bool SetArray(short[] values)
 
     private bool SetArray(ushort[] values)
     {
-        var numbers = new Number[values.Length];
+        Number[]? numbers = new Number[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = values[i];
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
index ac6453edc7..03bf266dc2 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
@@ -56,7 +56,7 @@ private bool TrySetSignedArray(SignedRational[] signed)
             return false;
         }
 
-        var unsigned = new Rational[signed.Length];
+        Rational[]? unsigned = new Rational[signed.Length];
         for (int i = 0; i < signed.Length; i++)
         {
             SignedRational s = signed[i];
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifShortArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifShortArray.cs
index a205e77dee..b8fcca22c5 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifShortArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifShortArray.cs
@@ -71,7 +71,7 @@ private bool TrySetSignedIntArray(int[] signed)
             return false;
         }
 
-        var unsigned = new ushort[signed.Length];
+        ushort[]? unsigned = new ushort[signed.Length];
         for (int i = 0; i < signed.Length; i++)
         {
             int s = signed[i];
@@ -89,7 +89,7 @@ private bool TrySetSignedShortArray(short[] signed)
             return false;
         }
 
-        var unsigned = new ushort[signed.Length];
+        ushort[]? unsigned = new ushort[signed.Length];
         for (int i = 0; i < signed.Length; i++)
         {
             short s = signed[i];
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifSignedShortArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifSignedShortArray.cs
index 206417f667..ace4853ca7 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifSignedShortArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifSignedShortArray.cs
@@ -56,7 +56,7 @@ private bool TrySetSignedArray(int[] intArray)
             return false;
         }
 
-        var value = new short[intArray.Length];
+        short[]? value = new short[intArray.Length];
         for (int i = 0; i < intArray.Length; i++)
         {
             int s = intArray[i];
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Curves.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Curves.cs
index 3cf66c0c16..d4a86da80e 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Curves.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Curves.cs
@@ -18,13 +18,13 @@ public IccOneDimensionalCurve ReadOneDimensionalCurve()
     {
         ushort segmentCount = this.ReadUInt16();
         this.AddIndex(2);   // 2 bytes reserved
-        var breakPoints = new float[segmentCount - 1];
+        float[]? breakPoints = new float[segmentCount - 1];
         for (int i = 0; i < breakPoints.Length; i++)
         {
             breakPoints[i] = this.ReadSingle();
         }
 
-        var segments = new IccCurveSegment[segmentCount];
+        IccCurveSegment[]? segments = new IccCurveSegment[segmentCount];
         for (int i = 0; i < segmentCount; i++)
         {
             segments[i] = this.ReadCurveSegment();
@@ -40,20 +40,20 @@ public IccOneDimensionalCurve ReadOneDimensionalCurve()
     /// <returns>The read curve</returns>
     public IccResponseCurve ReadResponseCurve(int channelCount)
     {
-        var type = (IccCurveMeasurementEncodings)this.ReadUInt32();
-        var measurement = new uint[channelCount];
+        IccCurveMeasurementEncodings type = (IccCurveMeasurementEncodings)this.ReadUInt32();
+        uint[]? measurement = new uint[channelCount];
         for (int i = 0; i < channelCount; i++)
         {
             measurement[i] = this.ReadUInt32();
         }
 
-        var xyzValues = new Vector3[channelCount];
+        Vector3[]? xyzValues = new Vector3[channelCount];
         for (int i = 0; i < channelCount; i++)
         {
             xyzValues[i] = this.ReadXyzNumber();
         }
 
-        var response = new IccResponseNumber[channelCount][];
+        IccResponseNumber[][]? response = new IccResponseNumber[channelCount][];
         for (int i = 0; i < channelCount; i++)
         {
             response[i] = new IccResponseNumber[measurement[i]];
@@ -121,7 +121,7 @@ public IccParametricCurve ReadParametricCurve()
     /// <returns>The read segment</returns>
     public IccCurveSegment ReadCurveSegment()
     {
-        var signature = (IccCurveSegmentSignature)this.ReadUInt32();
+        IccCurveSegmentSignature signature = (IccCurveSegmentSignature)this.ReadUInt32();
         this.AddIndex(4);   // 4 bytes reserved
 
         switch (signature)
@@ -141,7 +141,7 @@ public IccCurveSegment ReadCurveSegment()
     /// <returns>The read segment</returns>
     public IccFormulaCurveElement ReadFormulaCurveElement()
     {
-        var type = (IccFormulaCurveType)this.ReadUInt16();
+        IccFormulaCurveType type = (IccFormulaCurveType)this.ReadUInt16();
         this.AddIndex(2);   // 2 bytes reserved
         float gamma, a, b, c, d, e;
         gamma = d = e = 0;
@@ -175,7 +175,7 @@ public IccFormulaCurveElement ReadFormulaCurveElement()
     public IccSampledCurveElement ReadSampledCurveElement()
     {
         uint count = this.ReadUInt32();
-        var entries = new float[count];
+        float[]? entries = new float[count];
         for (int i = 0; i < count; i++)
         {
             entries[i] = this.ReadSingle();
@@ -191,7 +191,7 @@ public IccSampledCurveElement ReadSampledCurveElement()
     /// <returns>The curve data</returns>
     private IccTagDataEntry[] ReadCurves(int count)
     {
-        var tdata = new IccTagDataEntry[count];
+        IccTagDataEntry[]? tdata = new IccTagDataEntry[count];
         for (int i = 0; i < count; i++)
         {
             IccTypeSignature type = this.ReadTagDataEntryHeader();
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
index e88dd8d9e1..bd8b69b018 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
@@ -24,7 +24,7 @@ public IccLut ReadLut8()
     /// <returns>The read LUT</returns>
     public IccLut ReadLut16(int count)
     {
-        var values = new ushort[count];
+        ushort[]? values = new ushort[count];
         for (int i = 0; i < count; i++)
         {
             values[i] = this.ReadUInt16();
@@ -44,7 +44,7 @@ public IccLut ReadLut16(int count)
     public IccClut ReadClut(int inChannelCount, int outChannelCount, bool isFloat)
     {
         // Grid-points are always 16 bytes long but only 0-inChCount are used
-        var gridPointCount = new byte[inChannelCount];
+        byte[]? gridPointCount = new byte[inChannelCount];
         Buffer.BlockCopy(this.data, this.AddIndex(16), gridPointCount, 0, inChannelCount);
 
         if (!isFloat)
@@ -86,7 +86,7 @@ public IccClut ReadClut8(int inChannelCount, int outChannelCount, byte[] gridPoi
 
         const float Max = byte.MaxValue;
 
-        var values = new float[length][];
+        float[][]? values = new float[length][];
         for (int i = 0; i < length; i++)
         {
             values[i] = new float[outChannelCount];
@@ -120,7 +120,7 @@ public IccClut ReadClut16(int inChannelCount, int outChannelCount, byte[] gridPo
 
         const float Max = ushort.MaxValue;
 
-        var values = new float[length][];
+        float[][]? values = new float[length][];
         for (int i = 0; i < length; i++)
         {
             values[i] = new float[outChannelCount];
@@ -152,7 +152,7 @@ public IccClut ReadClutF32(int inChCount, int outChCount, byte[] gridPointCount)
 
         length /= inChCount;
 
-        var values = new float[length][];
+        float[][]? values = new float[length][];
         for (int i = 0; i < length; i++)
         {
             values[i] = new float[outChCount];
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Matrix.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Matrix.cs
index 61ecda4aab..c945fe4979 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Matrix.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Matrix.cs
@@ -17,7 +17,7 @@ internal sealed partial class IccDataReader
     /// <returns>The read matrix</returns>
     public float[,] ReadMatrix(int xCount, int yCount, bool isSingle)
     {
-        var matrix = new float[xCount, yCount];
+        float[,]? matrix = new float[xCount, yCount];
         for (int y = 0; y < yCount; y++)
         {
             for (int x = 0; x < xCount; x++)
@@ -44,7 +44,7 @@ internal sealed partial class IccDataReader
     /// <returns>The read matrix</returns>
     public float[] ReadMatrix(int yCount, bool isSingle)
     {
-        var matrix = new float[yCount];
+        float[]? matrix = new float[yCount];
         for (int i = 0; i < yCount; i++)
         {
             if (isSingle)
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
index 5baa904048..7aee626fa0 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
@@ -48,7 +48,7 @@ public IccMultiProcessElement ReadMultiProcessElement()
     /// <returns>The read <see cref="IccCurveSetProcessElement"/></returns>
     public IccCurveSetProcessElement ReadCurveSetProcessElement(int inChannelCount, int outChannelCount)
     {
-        var curves = new IccOneDimensionalCurve[inChannelCount];
+        IccOneDimensionalCurve[]? curves = new IccOneDimensionalCurve[inChannelCount];
         for (int i = 0; i < inChannelCount; i++)
         {
             curves[i] = this.ReadOneDimensionalCurve();
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
index d5369e5fc4..d5b9e83628 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
@@ -104,7 +104,7 @@ public IccNamedColor ReadNamedColor(uint deviceCoordCount)
     {
         string name = this.ReadAsciiString(32);
         ushort[] pcsCoord = { this.ReadUInt16(), this.ReadUInt16(), this.ReadUInt16() };
-        var deviceCoord = new ushort[deviceCoordCount];
+        ushort[]? deviceCoord = new ushort[deviceCoordCount];
 
         for (int i = 0; i < deviceCoordCount; i++)
         {
@@ -122,8 +122,8 @@ public IccProfileDescription ReadProfileDescription()
     {
         uint manufacturer = this.ReadUInt32();
         uint model = this.ReadUInt32();
-        var attributes = (IccDeviceAttribute)this.ReadInt64();
-        var technologyInfo = (IccProfileTag)this.ReadUInt32();
+        IccDeviceAttribute attributes = (IccDeviceAttribute)this.ReadInt64();
+        IccProfileTag technologyInfo = (IccProfileTag)this.ReadUInt32();
 
         IccMultiLocalizedUnicodeTagDataEntry manufacturerInfo = ReadText();
         IccMultiLocalizedUnicodeTagDataEntry modelInfo = ReadText();
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Primitives.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Primitives.cs
index 47d946d443..b86c2c3849 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Primitives.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Primitives.cs
@@ -164,7 +164,7 @@ public float ReadUFix8()
     /// <returns>The read bytes</returns>
     public byte[] ReadBytes(int count)
     {
-        var bytes = new byte[count];
+        byte[]? bytes = new byte[count];
         Buffer.BlockCopy(this.data, this.AddIndex(count), bytes, 0, count);
         return bytes;
     }
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.TagDataEntry.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.TagDataEntry.cs
index ddfc625152..5c22ec66c7 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.TagDataEntry.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.TagDataEntry.cs
@@ -106,7 +106,7 @@ public IccTagDataEntry ReadTagDataEntry(IccTagTableEntry info)
     /// <returns>The read signature</returns>
     public IccTypeSignature ReadTagDataEntryHeader()
     {
-        var type = (IccTypeSignature)this.ReadUInt32();
+        IccTypeSignature type = (IccTypeSignature)this.ReadUInt32();
         this.AddIndex(4); // 4 bytes are not used
         return type;
     }
@@ -142,7 +142,7 @@ public IccUnknownTagDataEntry ReadUnknownTagDataEntry(uint size)
     public IccChromaticityTagDataEntry ReadChromaticityTagDataEntry()
     {
         ushort channelCount = this.ReadUInt16();
-        var colorant = (IccColorantEncoding)this.ReadUInt16();
+        IccColorantEncoding colorant = (IccColorantEncoding)this.ReadUInt16();
 
         if (Enum.IsDefined(colorant) && colorant != IccColorantEncoding.Unknown)
         {
@@ -181,7 +181,7 @@ public IccColorantOrderTagDataEntry ReadColorantOrderTagDataEntry()
     public IccColorantTableTagDataEntry ReadColorantTableTagDataEntry()
     {
         uint colorantCount = this.ReadUInt32();
-        var cdata = new IccColorantTableEntry[colorantCount];
+        IccColorantTableEntry[] cdata = new IccColorantTableEntry[colorantCount];
         for (int i = 0; i < colorantCount; i++)
         {
             cdata[i] = this.ReadColorantTableEntry();
@@ -263,7 +263,7 @@ public IccLut16TagDataEntry ReadLut16TagDataEntry()
         ushort outTableCount = this.ReadUInt16();
 
         // Input LUT
-        var inValues = new IccLut[inChCount];
+        IccLut[] inValues = new IccLut[inChCount];
         byte[] gridPointCount = new byte[inChCount];
         for (int i = 0; i < inChCount; i++)
         {
@@ -275,7 +275,7 @@ public IccLut16TagDataEntry ReadLut16TagDataEntry()
         IccClut clut = this.ReadClut16(inChCount, outChCount, gridPointCount);
 
         // Output LUT
-        var outValues = new IccLut[outChCount];
+        IccLut[] outValues = new IccLut[outChCount];
         for (int i = 0; i < outChCount; i++)
         {
             outValues[i] = this.ReadLut16(outTableCount);
@@ -298,7 +298,7 @@ public IccLut8TagDataEntry ReadLut8TagDataEntry()
         float[,] matrix = this.ReadMatrix(3, 3, false);
 
         // Input LUT
-        var inValues = new IccLut[inChCount];
+        IccLut[] inValues = new IccLut[inChCount];
         byte[] gridPointCount = new byte[inChCount];
         for (int i = 0; i < inChCount; i++)
         {
@@ -310,7 +310,7 @@ public IccLut8TagDataEntry ReadLut8TagDataEntry()
         IccClut clut = this.ReadClut8(inChCount, outChCount, gridPointCount);
 
         // Output LUT
-        var outValues = new IccLut[outChCount];
+        IccLut[] outValues = new IccLut[outChCount];
         for (int i = 0; i < outChCount; i++)
         {
             outValues[i] = this.ReadLut8();
@@ -461,9 +461,9 @@ public IccMultiLocalizedUnicodeTagDataEntry ReadMultiLocalizedUnicodeTagDataEntr
         uint recordCount = this.ReadUInt32();
 
         this.ReadUInt32();  // Record size (always 12)
-        var text = new IccLocalizedString[recordCount];
+        IccLocalizedString[] text = new IccLocalizedString[recordCount];
 
-        var culture = new CultureInfo[recordCount];
+        CultureInfo[] culture = new CultureInfo[recordCount];
         uint[] length = new uint[recordCount];
         uint[] offset = new uint[recordCount];
 
@@ -528,13 +528,13 @@ public IccMultiProcessElementsTagDataEntry ReadMultiProcessElementsTagDataEntry(
         this.ReadUInt16();
         uint elementCount = this.ReadUInt32();
 
-        var positionTable = new IccPositionNumber[elementCount];
+        IccPositionNumber[] positionTable = new IccPositionNumber[elementCount];
         for (int i = 0; i < elementCount; i++)
         {
             positionTable[i] = this.ReadPositionNumber();
         }
 
-        var elements = new IccMultiProcessElement[elementCount];
+        IccMultiProcessElement[] elements = new IccMultiProcessElement[elementCount];
         for (int i = 0; i < elementCount; i++)
         {
             this.currentIndex = (int)positionTable[i].Offset + start;
@@ -556,7 +556,7 @@ public IccNamedColor2TagDataEntry ReadNamedColor2TagDataEntry()
         string prefix = this.ReadAsciiString(32);
         string suffix = this.ReadAsciiString(32);
 
-        var colors = new IccNamedColor[colorCount];
+        IccNamedColor[] colors = new IccNamedColor[colorCount];
         for (int i = 0; i < colorCount; i++)
         {
             colors[i] = this.ReadNamedColor(coordCount);
@@ -581,7 +581,7 @@ public IccParametricCurveTagDataEntry ReadParametricCurveTagDataEntry()
     public IccProfileSequenceDescTagDataEntry ReadProfileSequenceDescTagDataEntry()
     {
         uint count = this.ReadUInt32();
-        var description = new IccProfileDescription[count];
+        IccProfileDescription[] description = new IccProfileDescription[count];
         for (int i = 0; i < count; i++)
         {
             description[i] = this.ReadProfileDescription();
@@ -598,13 +598,13 @@ public IccProfileSequenceIdentifierTagDataEntry ReadProfileSequenceIdentifierTag
     {
         int start = this.currentIndex - 8; // 8 is the tag header size
         uint count = this.ReadUInt32();
-        var table = new IccPositionNumber[count];
+        IccPositionNumber[] table = new IccPositionNumber[count];
         for (int i = 0; i < count; i++)
         {
             table[i] = this.ReadPositionNumber();
         }
 
-        var entries = new IccProfileSequenceIdentifier[count];
+        IccProfileSequenceIdentifier[] entries = new IccProfileSequenceIdentifier[count];
         for (int i = 0; i < count; i++)
         {
             this.currentIndex = (int)(start + table[i].Offset);
@@ -633,7 +633,7 @@ public IccResponseCurveSet16TagDataEntry ReadResponseCurveSet16TagDataEntry()
             offset[i] = this.ReadUInt32();
         }
 
-        var curves = new IccResponseCurve[measurementCount];
+        IccResponseCurve[] curves = new IccResponseCurve[measurementCount];
         for (int i = 0; i < measurementCount; i++)
         {
             this.currentIndex = (int)(start + offset[i]);
@@ -780,7 +780,7 @@ public IccViewingConditionsTagDataEntry ReadViewingConditionsTagDataEntry()
     public IccXyzTagDataEntry ReadXyzTagDataEntry(uint size)
     {
         uint count = (size - 8) / 12;
-        var arrayData = new Vector3[count];
+        Vector3[] arrayData = new Vector3[count];
         for (int i = 0; i < count; i++)
         {
             arrayData[i] = this.ReadXyzNumber();
@@ -859,9 +859,9 @@ public IccCrdInfoTagDataEntry ReadCrdInfoTagDataEntry()
     /// <returns>The read entry</returns>
     public IccScreeningTagDataEntry ReadScreeningTagDataEntry()
     {
-        var flags = (IccScreeningFlag)this.ReadInt32();
+        IccScreeningFlag flags = (IccScreeningFlag)this.ReadInt32();
         uint channelCount = this.ReadUInt32();
-        var channels = new IccScreeningChannel[channelCount];
+        IccScreeningChannel[] channels = new IccScreeningChannel[channelCount];
         for (int i = 0; i < channels.Length; i++)
         {
             channels[i] = this.ReadScreeningChannel();
diff --git a/src/ImageSharp/Metadata/Profiles/IPTC/IptcValue.cs b/src/ImageSharp/Metadata/Profiles/IPTC/IptcValue.cs
index 78f7f6de08..c8ae0ff5ee 100644
--- a/src/ImageSharp/Metadata/Profiles/IPTC/IptcValue.cs
+++ b/src/ImageSharp/Metadata/Profiles/IPTC/IptcValue.cs
@@ -191,7 +191,7 @@ public bool Equals(IptcValue? other)
     /// <returns>A <see cref="byte"/> array.</returns>
     public byte[] ToByteArray()
     {
-        var result = new byte[this.data.Length];
+        byte[]? result = new byte[this.data.Length];
         this.data.CopyTo(result, 0);
         return result;
     }
diff --git a/src/ImageSharp/Primitives/SignedRational.cs b/src/ImageSharp/Primitives/SignedRational.cs
index d56ea825e6..bce32d454a 100644
--- a/src/ImageSharp/Primitives/SignedRational.cs
+++ b/src/ImageSharp/Primitives/SignedRational.cs
@@ -42,7 +42,7 @@ public SignedRational(int numerator, int denominator, bool simplify)
     {
         if (simplify)
         {
-            var rational = new LongRational(numerator, denominator).Simplify();
+            LongRational rational = new LongRational(numerator, denominator).Simplify();
 
             this.Numerator = (int)rational.Numerator;
             this.Denominator = (int)rational.Denominator;
@@ -70,7 +70,7 @@ public SignedRational(double value)
     /// <param name="bestPrecision">Whether to use the best possible precision when parsing the value.</param>
     public SignedRational(double value, bool bestPrecision)
     {
-        var rational = LongRational.FromDouble(value, bestPrecision);
+        LongRational rational = LongRational.FromDouble(value, bestPrecision);
 
         this.Numerator = (int)rational.Numerator;
         this.Denominator = (int)rational.Denominator;
@@ -142,8 +142,8 @@ public override bool Equals(object? obj)
     /// <inheritdoc/>
     public bool Equals(SignedRational other)
     {
-        var left = new LongRational(this.Numerator, this.Denominator);
-        var right = new LongRational(other.Numerator, other.Denominator);
+        LongRational left = new LongRational(this.Numerator, this.Denominator);
+        LongRational right = new LongRational(other.Numerator, other.Denominator);
 
         return left.Equals(right);
     }
@@ -151,7 +151,7 @@ public bool Equals(SignedRational other)
     /// <inheritdoc/>
     public override int GetHashCode()
     {
-        var self = new LongRational(this.Numerator, this.Denominator);
+        LongRational self = new LongRational(this.Numerator, this.Denominator);
         return self.GetHashCode();
     }
 
@@ -182,7 +182,7 @@ public override string ToString()
     /// <returns>The <see cref="string"/></returns>
     public string ToString(IFormatProvider provider)
     {
-        var rational = new LongRational(this.Numerator, this.Denominator);
+        LongRational rational = new LongRational(this.Numerator, this.Denominator);
         return rational.ToString(provider);
     }
 }
diff --git a/src/ImageSharp/Primitives/Size.cs b/src/ImageSharp/Primitives/Size.cs
index 945b680daa..c61eb768dc 100644
--- a/src/ImageSharp/Primitives/Size.cs
+++ b/src/ImageSharp/Primitives/Size.cs
@@ -237,7 +237,7 @@ public Size(Point point)
     /// <returns>A transformed size.</returns>
     public static SizeF Transform(Size size, Matrix3x2 matrix)
     {
-        var v = Vector2.Transform(new Vector2(size.Width, size.Height), matrix);
+        Vector2 v = Vector2.Transform(new Vector2(size.Width, size.Height), matrix);
 
         return new SizeF(v.X, v.Y);
     }
diff --git a/src/ImageSharp/Primitives/SizeF.cs b/src/ImageSharp/Primitives/SizeF.cs
index 36cf9eb8ef..81c749875f 100644
--- a/src/ImageSharp/Primitives/SizeF.cs
+++ b/src/ImageSharp/Primitives/SizeF.cs
@@ -191,7 +191,7 @@ public SizeF(PointF point)
     /// <returns>A transformed size.</returns>
     public static SizeF Transform(SizeF size, Matrix3x2 matrix)
     {
-        var v = Vector2.Transform(new Vector2(size.Width, size.Height), matrix);
+        Vector2 v = Vector2.Transform(new Vector2(size.Width, size.Height), matrix);
 
         return new SizeF(v.X, v.Y);
     }
diff --git a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
index b6db0172dc..a6d37fea46 100644
--- a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
+++ b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
@@ -30,7 +30,7 @@ public static IImageProcessingContext Pad(this IImageProcessingContext source, i
     public static IImageProcessingContext Pad(this IImageProcessingContext source, int width, int height, Color color)
     {
         Size size = source.GetCurrentSize();
-        var options = new ResizeOptions
+        ResizeOptions? options = new ResizeOptions
         {
             // Prevent downsizing.
             Size = new Size(Math.Max(width, size.Width), Math.Max(height, size.Height)),
diff --git a/src/ImageSharp/Processing/Extensions/Transforms/ResizeExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/ResizeExtensions.cs
index 01f296d096..b47e769f0f 100644
--- a/src/ImageSharp/Processing/Extensions/Transforms/ResizeExtensions.cs
+++ b/src/ImageSharp/Processing/Extensions/Transforms/ResizeExtensions.cs
@@ -118,7 +118,7 @@ public static IImageProcessingContext Resize(
         Rectangle targetRectangle,
         bool compand)
     {
-        var options = new ResizeOptions
+        ResizeOptions? options = new ResizeOptions
         {
             Size = new Size(width, height),
             Mode = ResizeMode.Manual,
@@ -151,7 +151,7 @@ public static IImageProcessingContext Resize(
         Rectangle targetRectangle,
         bool compand)
     {
-        var options = new ResizeOptions
+        ResizeOptions? options = new ResizeOptions
         {
             Size = new Size(width, height),
             Mode = ResizeMode.Manual,
diff --git a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
index ff3b30e9c1..fc11556962 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
@@ -68,7 +68,7 @@ public BoxBlurProcessor(
     /// <inheritdoc/>
     protected override void OnFrameApply(ImageFrame<TPixel> source)
     {
-        using var processor = new Convolution2PassProcessor<TPixel>(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY);
+        using Convolution2PassProcessor<TPixel>? processor = new Convolution2PassProcessor<TPixel>(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY);
 
         processor.Apply(source);
     }
@@ -80,7 +80,7 @@ protected override void OnFrameApply(ImageFrame<TPixel> source)
     /// <returns>The <see cref="DenseMatrix{T}"/>.</returns>
     private static float[] CreateBoxKernel(int kernelSize)
     {
-        var kernel = new float[kernelSize];
+        float[]? kernel = new float[kernelSize];
 
         kernel.AsSpan().Fill(1F / kernelSize);
 
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Convolution2DRowOperation{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/Convolution2DRowOperation{TPixel}.cs
index 2a4a1abf02..08e8425bbf 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Convolution2DRowOperation{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Convolution2DRowOperation{TPixel}.cs
@@ -75,7 +75,7 @@ private void Convolve3(int y, Span<Vector4> span)
         Span<Vector4> targetYBuffer = span.Slice(boundsWidth, boundsWidth);
         Span<Vector4> targetXBuffer = span.Slice(boundsWidth * 2, boundsWidth);
 
-        var state = new Convolution2DState(in this.kernelMatrixY, in this.kernelMatrixX, this.map);
+        Convolution2DState state = new Convolution2DState(in this.kernelMatrixY, in this.kernelMatrixX, this.map);
         ref int sampleRowBase = ref state.GetSampleRow((uint)(y - this.bounds.Y));
 
         // Clear the target buffers for each row run.
@@ -141,7 +141,7 @@ private void Convolve4(int y, Span<Vector4> span)
         Span<Vector4> targetYBuffer = span.Slice(boundsWidth, boundsWidth);
         Span<Vector4> targetXBuffer = span.Slice(boundsWidth * 2, boundsWidth);
 
-        var state = new Convolution2DState(in this.kernelMatrixY, in this.kernelMatrixX, this.map);
+        Convolution2DState state = new Convolution2DState(in this.kernelMatrixY, in this.kernelMatrixX, this.map);
         ref int sampleRowBase = ref state.GetSampleRow((uint)(y - this.bounds.Y));
 
         // Clear the target buffers for each row run.
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
index 5af4360442..9a103619a9 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
@@ -55,7 +55,7 @@ protected override void BeforeImageApply()
     /// <inheritdoc />
     protected override void OnFrameApply(ImageFrame<TPixel> source)
     {
-        using var processor = new Convolution2DProcessor<TPixel>(
+        using Convolution2DProcessor<TPixel>? processor = new Convolution2DProcessor<TPixel>(
             this.Configuration,
             in this.kernelX,
             in this.kernelY,
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Kernels/Implementation/LaplacianKernelFactory.cs b/src/ImageSharp/Processing/Processors/Convolution/Kernels/Implementation/LaplacianKernelFactory.cs
index 7efcbf3a6c..cd9f4d7aba 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Kernels/Implementation/LaplacianKernelFactory.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Kernels/Implementation/LaplacianKernelFactory.cs
@@ -19,7 +19,7 @@ public static DenseMatrix<float> CreateKernel(uint length)
         Guard.MustBeGreaterThanOrEqualTo(length, 3u, nameof(length));
         Guard.IsFalse(length % 2 == 0, nameof(length), "The kernel length must be an odd number.");
 
-        var kernel = new DenseMatrix<float>((int)length);
+        DenseMatrix<float> kernel = new DenseMatrix<float>((int)length);
         kernel.Fill(-1);
 
         int mid = (int)(length / 2);
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs b/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
index 565a5746d1..0330a9e311 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
@@ -90,7 +90,7 @@ public static BokehBlurKernelData GetBokehBlurKernelData(
         int componentsCount)
     {
         // Reuse the initialized values from the cache, if possible
-        var parameters = new BokehBlurParameters(radius, componentsCount);
+        BokehBlurParameters parameters = new BokehBlurParameters(radius, componentsCount);
         if (!Cache.TryGetValue(parameters, out BokehBlurKernelData info))
         {
             // Initialize the complex kernels and parameters with the current arguments
@@ -130,7 +130,7 @@ private static Complex64[][] CreateComplexKernels(
         int kernelSize,
         float kernelsScale)
     {
-        var kernels = new Complex64[kernelParameters.Length][];
+        Complex64[][]? kernels = new Complex64[kernelParameters.Length][];
         ref Vector4 baseRef = ref MemoryMarshal.GetReference(kernelParameters.AsSpan());
         for (int i = 0; i < kernelParameters.Length; i++)
         {
@@ -156,7 +156,7 @@ private static Complex64[] CreateComplex1DKernel(
         float a,
         float b)
     {
-        var kernel = new Complex64[kernelSize];
+        Complex64[]? kernel = new Complex64[kernelSize];
         ref Complex64 baseRef = ref MemoryMarshal.GetReference(kernel.AsSpan());
         int r = radius, n = -r;
 
diff --git a/src/ImageSharp/Processing/Processors/Dithering/OrderedDither.cs b/src/ImageSharp/Processing/Processors/Dithering/OrderedDither.cs
index d1f46c7441..d4dd10b739 100644
--- a/src/ImageSharp/Processing/Processors/Dithering/OrderedDither.cs
+++ b/src/ImageSharp/Processing/Processors/Dithering/OrderedDither.cs
@@ -32,7 +32,7 @@ public OrderedDither(uint length)
         // We don't want to adjust the original matrix generation code as that
         // creates known, easy to test values.
         // https://en.wikipedia.org/wiki/Ordered_dithering#Algorithm
-        var thresholdMatrix = new DenseMatrix<float>((int)length);
+        DenseMatrix<float> thresholdMatrix = new DenseMatrix<float>((int)length);
         float m2 = length * length;
         for (int y = 0; y < length; y++)
         {
diff --git a/src/ImageSharp/Processing/Processors/Dithering/OrderedDitherFactory.cs b/src/ImageSharp/Processing/Processors/Dithering/OrderedDitherFactory.cs
index 7f8b347243..9fa331d7b7 100644
--- a/src/ImageSharp/Processing/Processors/Dithering/OrderedDitherFactory.cs
+++ b/src/ImageSharp/Processing/Processors/Dithering/OrderedDitherFactory.cs
@@ -29,7 +29,7 @@ public static DenseMatrix<uint> CreateDitherMatrix(uint length)
         while (length > bayerLength);
 
         // Create our Bayer matrix that matches the given exponent and dimensions
-        var matrix = new DenseMatrix<uint>((int)length);
+        DenseMatrix<uint> matrix = new DenseMatrix<uint>((int)length);
         uint i = 0;
         for (int y = 0; y < length; y++)
         {
diff --git a/src/ImageSharp/Processing/Processors/Normalization/GrayscaleLevelsRowOperation{TPixel}.cs b/src/ImageSharp/Processing/Processors/Normalization/GrayscaleLevelsRowOperation{TPixel}.cs
index 0a8690ba70..3584f2954a 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/GrayscaleLevelsRowOperation{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/GrayscaleLevelsRowOperation{TPixel}.cs
@@ -56,7 +56,7 @@ public void Invoke(int y, Span<Vector4> span)
 
         for (int x = 0; x < this.bounds.Width; x++)
         {
-            var vector = Unsafe.Add(ref vectorRef, (uint)x);
+            Vector4 vector = Unsafe.Add(ref vectorRef, (uint)x);
             int luminance = ColorNumerics.GetBT709Luminance(ref vector, levels);
             Interlocked.Increment(ref Unsafe.Add(ref histogramBase, (uint)luminance));
         }
diff --git a/src/ImageSharp/Processing/Processors/Transforms/CropProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/CropProcessor{TPixel}.cs
index 1d82dd12ad..5465b502bf 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/CropProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/CropProcessor{TPixel}.cs
@@ -50,7 +50,7 @@ protected override void OnFrameApply(ImageFrame<TPixel> source, ImageFrame<TPixe
         ParallelExecutionSettings parallelSettings =
             ParallelExecutionSettings.FromConfiguration(this.Configuration).MultiplyMinimumPixelsPerTask(4);
 
-        var operation = new RowOperation(bounds, source.PixelBuffer, destination.PixelBuffer);
+        RowOperation operation = new RowOperation(bounds, source.PixelBuffer, destination.PixelBuffer);
 
         ParallelRowIterator.IterateRows(
             bounds,
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
index cfc30edc0f..7f6c83ffe1 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
@@ -81,7 +81,7 @@ public void ApplyTransform<TResampler>(in TResampler sampler)
             return;
         }
 
-        var interest = Rectangle.Intersect(destinationRectangle, destination.Bounds);
+        Rectangle interest = Rectangle.Intersect(destinationRectangle, destination.Bounds);
 
         if (sampler is NearestNeighborResampler)
         {
@@ -110,13 +110,13 @@ public void ApplyTransform<TResampler>(in TResampler sampler)
         // Since all image frame dimensions have to be the same we can calculate
         // the kernel maps and reuse for all frames.
         MemoryAllocator allocator = configuration.MemoryAllocator;
-        using var horizontalKernelMap = ResizeKernelMap.Calculate(
+        using ResizeKernelMap? horizontalKernelMap = ResizeKernelMap.Calculate(
             in sampler,
             destinationRectangle.Width,
             sourceRectangle.Width,
             allocator);
 
-        using var verticalKernelMap = ResizeKernelMap.Calculate(
+        using ResizeKernelMap? verticalKernelMap = ResizeKernelMap.Calculate(
             in sampler,
             destinationRectangle.Height,
             sourceRectangle.Height,
@@ -158,7 +158,7 @@ private static void ApplyNNResizeFrameTransform(
         float widthFactor = sourceRectangle.Width / (float)destinationRectangle.Width;
         float heightFactor = sourceRectangle.Height / (float)destinationRectangle.Height;
 
-        var operation = new NNRowOperation(
+        NNRowOperation operation = new NNRowOperation(
             sourceRectangle,
             destinationRectangle,
             interest,
@@ -208,7 +208,7 @@ private static void ApplyResizeFrameTransform(
 
         // To reintroduce parallel processing, we would launch multiple workers
         // for different row intervals of the image.
-        using var worker = new ResizeWorker<TPixel>(
+        using ResizeWorker<TPixel>? worker = new ResizeWorker<TPixel>(
             configuration,
             sourceRegion,
             conversionModifiers,
@@ -218,7 +218,7 @@ private static void ApplyResizeFrameTransform(
             destinationRectangle.Location);
         worker.Initialize();
 
-        var workingInterval = new RowInterval(interest.Top, interest.Bottom);
+        RowInterval workingInterval = new RowInterval(interest.Top, interest.Bottom);
         worker.FillDestinationPixels(workingInterval, destination.PixelBuffer);
     }
 
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Bmp/DecodeBmp.cs b/tests/ImageSharp.Benchmarks/Codecs/Bmp/DecodeBmp.cs
index eb5b3c49d9..8a72b8d076 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Bmp/DecodeBmp.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Bmp/DecodeBmp.cs
@@ -32,16 +32,16 @@ public void ReadImages()
     [Benchmark(Baseline = true, Description = "System.Drawing Bmp")]
     public SDSize BmpSystemDrawing()
     {
-        using var memoryStream = new MemoryStream(this.bmpBytes);
-        using var image = SDImage.FromStream(memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(this.bmpBytes);
+        using SDImage image = SDImage.FromStream(memoryStream);
         return image.Size;
     }
 
     [Benchmark(Description = "ImageSharp Bmp")]
     public Size BmpImageSharp()
     {
-        using var memoryStream = new MemoryStream(this.bmpBytes);
-        using var image = Image.Load<Rgba32>(memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(this.bmpBytes);
+        using Image<Rgba32> image = Image.Load<Rgba32>(memoryStream);
         return new Size(image.Width, image.Height);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Bmp/EncodeBmp.cs b/tests/ImageSharp.Benchmarks/Codecs/Bmp/EncodeBmp.cs
index 3e6cfa51b0..97dd664b40 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Bmp/EncodeBmp.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Bmp/EncodeBmp.cs
@@ -40,14 +40,14 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "System.Drawing Bmp")]
     public void BmpSystemDrawing()
     {
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         this.bmpDrawing.Save(memoryStream, ImageFormat.Bmp);
     }
 
     [Benchmark(Description = "ImageSharp Bmp")]
     public void BmpImageSharp()
     {
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         this.bmpCore.SaveAsBmp(memoryStream);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Gif/DecodeGif.cs b/tests/ImageSharp.Benchmarks/Codecs/Gif/DecodeGif.cs
index ef5db2f1e1..b63f1c1a18 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Gif/DecodeGif.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Gif/DecodeGif.cs
@@ -32,16 +32,16 @@ public void ReadImages()
     [Benchmark(Baseline = true, Description = "System.Drawing Gif")]
     public SDSize GifSystemDrawing()
     {
-        using var memoryStream = new MemoryStream(this.gifBytes);
-        using var image = SDImage.FromStream(memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(this.gifBytes);
+        using SDImage image = SDImage.FromStream(memoryStream);
         return image.Size;
     }
 
     [Benchmark(Description = "ImageSharp Gif")]
     public Size GifImageSharp()
     {
-        using var memoryStream = new MemoryStream(this.gifBytes);
-        using var image = Image.Load<Rgba32>(memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(this.gifBytes);
+        using Image<Rgba32> image = Image.Load<Rgba32>(memoryStream);
         return new Size(image.Width, image.Height);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGif.cs b/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGif.cs
index c3644221e1..09693f7b93 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGif.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGif.cs
@@ -53,14 +53,14 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "System.Drawing Gif")]
     public void GifSystemDrawing()
     {
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         this.bmpDrawing.Save(memoryStream, ImageFormat.Gif);
     }
 
     [Benchmark(Description = "ImageSharp Gif")]
     public void GifImageSharp()
     {
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         this.bmpCore.SaveAsGif(memoryStream, this.encoder);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGifMultiple.cs b/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGifMultiple.cs
index 9557f616ca..1554f0fa2d 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGifMultiple.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGifMultiple.cs
@@ -22,7 +22,7 @@ public void EncodeGifImageSharp()
         => this.ForEachImageSharpImage((img, ms) =>
         {
             // Try to get as close to System.Drawing's output as possible
-            var options = new GifEncoder
+            GifEncoder options = new GifEncoder
             {
                 Quantizer = new WebSafePaletteQuantizer(new QuantizerOptions { Dither = KnownDitherings.Bayer4x4 })
             };
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_CopyTo2x2.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_CopyTo2x2.cs
index 72b6bb72e8..29a3ae5de0 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_CopyTo2x2.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_CopyTo2x2.cs
@@ -185,15 +185,15 @@ private static void WidenCopyImpl2x2_Vector2(ref Block8x8F src, ref Vector2 dest
         ref Vector2 dBottomLeft = ref Unsafe.Add(ref dTopLeft, (uint)destStride);
         ref Vector2 dBottomRight = ref Unsafe.Add(ref dBottomLeft, 4);
 
-        var xLeft = new Vector2(sLeft.X);
-        var yLeft = new Vector2(sLeft.Y);
-        var zLeft = new Vector2(sLeft.Z);
-        var wLeft = new Vector2(sLeft.W);
+        Vector2 xLeft = new Vector2(sLeft.X);
+        Vector2 yLeft = new Vector2(sLeft.Y);
+        Vector2 zLeft = new Vector2(sLeft.Z);
+        Vector2 wLeft = new Vector2(sLeft.W);
 
-        var xRight = new Vector2(sRight.X);
-        var yRight = new Vector2(sRight.Y);
-        var zRight = new Vector2(sRight.Z);
-        var wRight = new Vector2(sRight.W);
+        Vector2 xRight = new Vector2(sRight.X);
+        Vector2 yRight = new Vector2(sRight.Y);
+        Vector2 zRight = new Vector2(sRight.Z);
+        Vector2 wRight = new Vector2(sRight.W);
 
         dTopLeft = xLeft;
         Unsafe.Add(ref dTopLeft, 1) = yLeft;
@@ -245,15 +245,15 @@ private static void WidenCopyImpl2x2_Vector4(ref Block8x8F src, ref Vector2 dest
         ref Vector2 dBottomLeft = ref Unsafe.Add(ref dTopLeft, (uint)destStride);
         ref Vector2 dBottomRight = ref Unsafe.Add(ref dBottomLeft, 4);
 
-        var xLeft = new Vector4(sLeft.X);
-        var yLeft = new Vector4(sLeft.Y);
-        var zLeft = new Vector4(sLeft.Z);
-        var wLeft = new Vector4(sLeft.W);
+        Vector4 xLeft = new Vector4(sLeft.X);
+        Vector4 yLeft = new Vector4(sLeft.Y);
+        Vector4 zLeft = new Vector4(sLeft.Z);
+        Vector4 wLeft = new Vector4(sLeft.W);
 
-        var xRight = new Vector4(sRight.X);
-        var yRight = new Vector4(sRight.Y);
-        var zRight = new Vector4(sRight.Z);
-        var wRight = new Vector4(sRight.W);
+        Vector4 xRight = new Vector4(sRight.X);
+        Vector4 yRight = new Vector4(sRight.Y);
+        Vector4 zRight = new Vector4(sRight.Z);
+        Vector4 wRight = new Vector4(sRight.W);
 
         Unsafe.As<Vector2, Vector4>(ref dTopLeft) = xLeft;
         Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref dTopLeft, 1)) = yLeft;
@@ -303,15 +303,15 @@ private static void WidenCopyImpl2x2_Vector4_SafeRightCorner(ref Block8x8F src,
         ref Vector2 dTopLeft = ref Unsafe.Add(ref destBase, (uint)(2 * row * destStride));
         ref Vector2 dBottomLeft = ref Unsafe.Add(ref dTopLeft, (uint)destStride);
 
-        var xLeft = new Vector4(sLeft.X);
-        var yLeft = new Vector4(sLeft.Y);
-        var zLeft = new Vector4(sLeft.Z);
-        var wLeft = new Vector4(sLeft.W);
+        Vector4 xLeft = new Vector4(sLeft.X);
+        Vector4 yLeft = new Vector4(sLeft.Y);
+        Vector4 zLeft = new Vector4(sLeft.Z);
+        Vector4 wLeft = new Vector4(sLeft.W);
 
-        var xRight = new Vector4(sRight.X);
-        var yRight = new Vector4(sRight.Y);
-        var zRight = new Vector4(sRight.Z);
-        var wRight = new Vector2(sRight.W);
+        Vector4 xRight = new Vector4(sRight.X);
+        Vector4 yRight = new Vector4(sRight.Y);
+        Vector4 zRight = new Vector4(sRight.Z);
+        Vector2 wRight = new Vector2(sRight.W);
 
         Unsafe.As<Vector2, Vector4>(ref dTopLeft) = xLeft;
         Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref dTopLeft, 1)) = yLeft;
@@ -362,25 +362,25 @@ private static void WidenCopyImpl2x2_Vector4_V2(ref Block8x8F src, ref Vector2 d
         ref Vector4 dTopLeft = ref Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref destBase, (uint)offset));
         ref Vector4 dBottomLeft = ref Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref destBase, (uint)(offset + destStride)));
 
-        var xyLeft = new Vector4(sLeft.X)
+        Vector4 xyLeft = new Vector4(sLeft.X)
         {
             Z = sLeft.Y,
             W = sLeft.Y
         };
 
-        var zwLeft = new Vector4(sLeft.Z)
+        Vector4 zwLeft = new Vector4(sLeft.Z)
         {
             Z = sLeft.W,
             W = sLeft.W
         };
 
-        var xyRight = new Vector4(sRight.X)
+        Vector4 xyRight = new Vector4(sRight.X)
         {
             Z = sRight.Y,
             W = sRight.Y
         };
 
-        var zwRight = new Vector4(sRight.Z)
+        Vector4 zwRight = new Vector4(sRight.Z)
         {
             Z = sRight.W,
             W = sRight.W
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_DivideRound.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_DivideRound.cs
index efc347586c..ea8a1c47be 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_DivideRound.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_DivideRound.cs
@@ -140,7 +140,7 @@ private static void DivideRoundAll(ref Block8x8F a, ref Block8x8F b)
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     private static Vector4 DivideRound(Vector4 dividend, Vector4 divisor)
     {
-        var sign = Vector4.Min(dividend, Vector4.One);
+        Vector4 sign = Vector4.Min(dividend, Vector4.One);
         sign = Vector4.Max(sign, MinusOne);
 
         return (dividend / divisor) + (sign * Half);
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_MultiplyInPlaceBlock.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_MultiplyInPlaceBlock.cs
index 722b095870..3c03f3e056 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_MultiplyInPlaceBlock.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_MultiplyInPlaceBlock.cs
@@ -20,7 +20,7 @@ public void MultiplyInPlaceBlock()
 
     private static Block8x8F Create8x8FloatData()
     {
-        var result = new float[64];
+        float[] result = new float[64];
         for (int i = 0; i < 8; i++)
         {
             for (int j = 0; j < 8; j++)
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/CmykColorConversion.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/CmykColorConversion.cs
index 9189bec376..c88d722826 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/CmykColorConversion.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/CmykColorConversion.cs
@@ -17,7 +17,7 @@ public CmykColorConversion()
     [Benchmark(Baseline = true)]
     public void Scalar()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.CmykScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVector8()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.CmykVector(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVector8()
     [Benchmark]
     public void SimdVectorAvx()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.CmykAvx(8).ConvertToRgbInplace(values);
     }
@@ -41,7 +41,7 @@ public void SimdVectorAvx()
     [Benchmark]
     public void SimdVectorArm64()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.CmykArm64(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/ColorConversionBenchmark.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/ColorConversionBenchmark.cs
index 8964667b74..959522d812 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/ColorConversionBenchmark.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/ColorConversionBenchmark.cs
@@ -38,11 +38,11 @@ private static Buffer2D<float>[] CreateRandomValues(
         float minVal = 0f,
         float maxVal = 255f)
     {
-        var rnd = new Random(42);
-        var buffers = new Buffer2D<float>[componentCount];
+        Random rnd = new Random(42);
+        Buffer2D<float>[] buffers = new Buffer2D<float>[componentCount];
         for (int i = 0; i < componentCount; i++)
         {
-            var values = new float[inputBufferLength];
+            float[] values = new float[inputBufferLength];
 
             for (int j = 0; j < inputBufferLength; j++)
             {
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/GrayscaleColorConversion.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/GrayscaleColorConversion.cs
index a1d85ef466..99f6abbabf 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/GrayscaleColorConversion.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/GrayscaleColorConversion.cs
@@ -17,7 +17,7 @@ public GrayscaleColorConversion()
     [Benchmark(Baseline = true)]
     public void Scalar()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.GrayscaleScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVectorAvx()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.GrayscaleAvx(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVectorAvx()
     [Benchmark]
     public void SimdVectorArm()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.GrayscaleArm(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/RgbColorConversion.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/RgbColorConversion.cs
index 5e2b6fe860..e5e5e95e7b 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/RgbColorConversion.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/RgbColorConversion.cs
@@ -17,7 +17,7 @@ public RgbColorConversion()
     [Benchmark(Baseline = true)]
     public void Scalar()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.RgbScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVector8()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.RgbVector(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVector8()
     [Benchmark]
     public void SimdVectorAvx()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.RgbAvx(8).ConvertToRgbInplace(values);
     }
@@ -41,7 +41,7 @@ public void SimdVectorAvx()
     [Benchmark]
     public void SimdVectorArm()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.RgbArm(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YCbCrColorConversion.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YCbCrColorConversion.cs
index f8621c2500..c206a38150 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YCbCrColorConversion.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YCbCrColorConversion.cs
@@ -17,7 +17,7 @@ public YCbCrColorConversion()
     [Benchmark]
     public void Scalar()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.YCbCrScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVector8()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.YCbCrVector(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVector8()
     [Benchmark]
     public void SimdVectorAvx()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.YCbCrAvx(8).ConvertToRgbInplace(values);
     }
@@ -41,7 +41,7 @@ public void SimdVectorAvx()
     [Benchmark]
     public void SimdVectorArm()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.YCbCrArm(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YccKColorConverter.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YccKColorConverter.cs
index a414b6ed47..8408ac7a2f 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YccKColorConverter.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YccKColorConverter.cs
@@ -17,7 +17,7 @@ public YccKColorConverter()
     [Benchmark(Baseline = true)]
     public void Scalar()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.YccKScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVector8()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.YccKVector(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVector8()
     [Benchmark]
     public void SimdVectorAvx2()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.YccKAvx(8).ConvertToRgbInplace(values);
     }
@@ -41,7 +41,7 @@ public void SimdVectorAvx2()
     [Benchmark]
     public void SimdVectorArm64()
     {
-        var values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
 
         new JpegColorConverterBase.YccKArm64(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs
index f5178390f6..02167c1f33 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs
@@ -27,20 +27,20 @@ public void Setup()
     [Benchmark(Baseline = true, Description = "System.Drawing FULL")]
     public SDSize JpegSystemDrawing()
     {
-        using var memoryStream = new MemoryStream(this.jpegBytes);
-        using var image = System.Drawing.Image.FromStream(memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(this.jpegBytes);
+        using System.Drawing.Image image = System.Drawing.Image.FromStream(memoryStream);
         return image.Size;
     }
 
     [Benchmark(Description = "JpegDecoderCore.ParseStream")]
     public void ParseStream()
     {
-        using var memoryStream = new MemoryStream(this.jpegBytes);
-        using var bufferedStream = new BufferedReadStream(Configuration.Default, memoryStream);
-        var options = new JpegDecoderOptions() { GeneralOptions = new() { SkipMetadata = true } };
+        using MemoryStream memoryStream = new MemoryStream(this.jpegBytes);
+        using BufferedReadStream bufferedStream = new BufferedReadStream(Configuration.Default, memoryStream);
+        JpegDecoderOptions options = new JpegDecoderOptions() { GeneralOptions = new() { SkipMetadata = true } };
 
-        using var decoder = new JpegDecoderCore(options);
-        var spectralConverter = new NoopSpectralConverter();
+        using JpegDecoderCore decoder = new JpegDecoderCore(options);
+        NoopSpectralConverter spectralConverter = new NoopSpectralConverter();
         decoder.ParseStream(bufferedStream, spectralConverter, cancellationToken: default);
     }
 
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs
index 08df2580db..870d17a007 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs
@@ -45,16 +45,16 @@ public void ReadImages()
     [Benchmark(Baseline = true)]
     public SDSize SystemDrawing()
     {
-        using var memoryStream = new MemoryStream(this.jpegBytes);
-        using var image = SDImage.FromStream(memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(this.jpegBytes);
+        using SDImage image = SDImage.FromStream(memoryStream);
         return image.Size;
     }
 
     [Benchmark]
     public Size ImageSharp()
     {
-        using var memoryStream = new MemoryStream(this.jpegBytes);
-        using var image = Image.Load(new DecoderOptions() { SkipMetadata = true }, memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(this.jpegBytes);
+        using Image image = Image.Load(new DecoderOptions() { SkipMetadata = true }, memoryStream);
         return new Size(image.Width, image.Height);
     }
 
diff --git a/tests/ImageSharp.Benchmarks/Codecs/MultiImageBenchmarkBase.cs b/tests/ImageSharp.Benchmarks/Codecs/MultiImageBenchmarkBase.cs
index b75d012f97..9cd8c4b3d3 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/MultiImageBenchmarkBase.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/MultiImageBenchmarkBase.cs
@@ -126,7 +126,7 @@ protected void ForEachStream(Func<MemoryStream, object> operation)
     {
         foreach (KeyValuePair<string, byte[]> kv in this.FileNames2Bytes)
         {
-            using var memoryStream = new MemoryStream(kv.Value);
+            using MemoryStream memoryStream = new MemoryStream(kv.Value);
             try
             {
                 object obj = operation(memoryStream);
@@ -150,7 +150,7 @@ protected override void ReadFilesImpl()
                 byte[] bytes = kv.Value;
                 string fn = kv.Key;
 
-                using (var ms1 = new MemoryStream(bytes))
+                using (MemoryStream ms1 = new MemoryStream(bytes))
                 {
                     this.FileNamesToImageSharpImages[fn] = Image.Load<Rgba32>(ms1);
                 }
@@ -191,7 +191,7 @@ protected void ForEachImageSharpImage(Func<Image<Rgba32>, object> operation)
 
         protected void ForEachImageSharpImage(Func<Image<Rgba32>, MemoryStream, object> operation)
         {
-            using var workStream = new MemoryStream();
+            using MemoryStream workStream = new MemoryStream();
             this.ForEachImageSharpImage(
                 img =>
                 {
@@ -222,7 +222,7 @@ protected void ForEachSystemDrawingImage(Func<Bitmap, object> operation)
 
         protected void ForEachSystemDrawingImage(Func<Bitmap, MemoryStream, object> operation)
         {
-            using var workStream = new MemoryStream();
+            using MemoryStream workStream = new MemoryStream();
             this.ForEachSystemDrawingImage(
                 img =>
                 {
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Png/EncodeIndexedPng.cs b/tests/ImageSharp.Benchmarks/Codecs/Png/EncodeIndexedPng.cs
index a45e7aea9b..71bc866971 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Png/EncodeIndexedPng.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Png/EncodeIndexedPng.cs
@@ -43,48 +43,48 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "ImageSharp Octree Png")]
     public void PngCoreOctree()
     {
-        using var memoryStream = new MemoryStream();
-        var options = new PngEncoder { Quantizer = KnownQuantizers.Octree };
+        using MemoryStream memoryStream = new MemoryStream();
+        PngEncoder options = new PngEncoder { Quantizer = KnownQuantizers.Octree };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Octree NoDither Png")]
     public void PngCoreOctreeNoDither()
     {
-        using var memoryStream = new MemoryStream();
-        var options = new PngEncoder { Quantizer = new OctreeQuantizer(new QuantizerOptions { Dither = null }) };
+        using MemoryStream memoryStream = new MemoryStream();
+        PngEncoder options = new PngEncoder { Quantizer = new OctreeQuantizer(new QuantizerOptions { Dither = null }) };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Palette Png")]
     public void PngCorePalette()
     {
-        using var memoryStream = new MemoryStream();
-        var options = new PngEncoder { Quantizer = KnownQuantizers.WebSafe };
+        using MemoryStream memoryStream = new MemoryStream();
+        PngEncoder options = new PngEncoder { Quantizer = KnownQuantizers.WebSafe };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Palette NoDither Png")]
     public void PngCorePaletteNoDither()
     {
-        using var memoryStream = new MemoryStream();
-        var options = new PngEncoder { Quantizer = new WebSafePaletteQuantizer(new QuantizerOptions { Dither = null }) };
+        using MemoryStream memoryStream = new MemoryStream();
+        PngEncoder options = new PngEncoder { Quantizer = new WebSafePaletteQuantizer(new QuantizerOptions { Dither = null }) };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Wu Png")]
     public void PngCoreWu()
     {
-        using var memoryStream = new MemoryStream();
-        var options = new PngEncoder { Quantizer = KnownQuantizers.Wu };
+        using MemoryStream memoryStream = new MemoryStream();
+        PngEncoder options = new PngEncoder { Quantizer = KnownQuantizers.Wu };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Wu NoDither Png")]
     public void PngCoreWuNoDither()
     {
-        using var memoryStream = new MemoryStream();
-        var options = new PngEncoder { Quantizer = new WuQuantizer(new QuantizerOptions { Dither = null }), ColorType = PngColorType.Palette };
+        using MemoryStream memoryStream = new MemoryStream();
+        PngEncoder options = new PngEncoder { Quantizer = new WuQuantizer(new QuantizerOptions { Dither = null }), ColorType = PngColorType.Palette };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Png/EncodePng.cs b/tests/ImageSharp.Benchmarks/Codecs/Png/EncodePng.cs
index 4287914783..d0954415e3 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Png/EncodePng.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Png/EncodePng.cs
@@ -46,15 +46,15 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "System.Drawing Png")]
     public void PngSystemDrawing()
     {
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         this.bmpDrawing.Save(memoryStream, ImageFormat.Png);
     }
 
     [Benchmark(Description = "ImageSharp Png")]
     public void PngCore()
     {
-        using var memoryStream = new MemoryStream();
-        var encoder = new PngEncoder { FilterMethod = PngFilterMethod.None };
+        using MemoryStream memoryStream = new MemoryStream();
+        PngEncoder encoder = new PngEncoder { FilterMethod = PngFilterMethod.None };
         this.bmpCore.SaveAsPng(memoryStream, encoder);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Tga/EncodeTga.cs b/tests/ImageSharp.Benchmarks/Codecs/Tga/EncodeTga.cs
index a7f5e35893..6874278e7e 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Tga/EncodeTga.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Tga/EncodeTga.cs
@@ -41,14 +41,14 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "Magick Tga")]
     public void MagickTga()
     {
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         this.tgaMagick.Write(memoryStream, MagickFormat.Tga);
     }
 
     [Benchmark(Description = "ImageSharp Tga")]
     public void ImageSharpTga()
     {
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         this.tga.SaveAsTga(memoryStream);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Tiff/EncodeTiff.cs b/tests/ImageSharp.Benchmarks/Codecs/Tiff/EncodeTiff.cs
index d3e3944051..57a50014f3 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Tiff/EncodeTiff.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Tiff/EncodeTiff.cs
@@ -60,12 +60,12 @@ public void Cleanup()
     public void SystemDrawing()
     {
         ImageCodecInfo codec = FindCodecForType("image/tiff");
-        using var parameters = new EncoderParameters(1)
+        using EncoderParameters parameters = new EncoderParameters(1)
         {
             Param = { [0] = new EncoderParameter(Encoder.Compression, (long)Cast(this.Compression)) }
         };
 
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         this.drawing.Save(memoryStream, codec, parameters);
     }
 
@@ -77,8 +77,8 @@ public void TiffCore()
                 TiffPhotometricInterpretation.WhiteIsZero :
                 TiffPhotometricInterpretation.Rgb;
 
-        var encoder = new TiffEncoder() { Compression = this.Compression, PhotometricInterpretation = photometricInterpretation };
-        using var memoryStream = new MemoryStream();
+        TiffEncoder encoder = new TiffEncoder() { Compression = this.Compression, PhotometricInterpretation = photometricInterpretation };
+        using MemoryStream memoryStream = new MemoryStream();
         this.core.SaveAsTiff(memoryStream, encoder);
     }
 
diff --git a/tests/ImageSharp.Benchmarks/General/BasicMath/ClampSpan.cs b/tests/ImageSharp.Benchmarks/General/BasicMath/ClampSpan.cs
index d47fcb687e..458927a352 100644
--- a/tests/ImageSharp.Benchmarks/General/BasicMath/ClampSpan.cs
+++ b/tests/ImageSharp.Benchmarks/General/BasicMath/ClampSpan.cs
@@ -12,7 +12,7 @@ public class ClampSpan
 
     public void Setup()
     {
-        var r = new Random();
+        Random r = new Random();
 
         for (int i = 0; i < A.Length; i++)
         {
diff --git a/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs b/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs
index 9560d6ee71..3f9b36dcf1 100644
--- a/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs
+++ b/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs
@@ -205,8 +205,8 @@ public int ArrayReadByte()
 
     private static byte[] CreateTestBytes()
     {
-        var buffer = new byte[Configuration.Default.StreamProcessingBufferSize * 3];
-        var random = new Random();
+        byte[] buffer = new byte[Configuration.Default.StreamProcessingBufferSize * 3];
+        Random random = new Random();
         random.NextBytes(buffer);
 
         return buffer;
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_PackFromRgbPlanes.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_PackFromRgbPlanes.cs
index a42c6c253c..226dcc7775 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_PackFromRgbPlanes.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_PackFromRgbPlanes.cs
@@ -209,7 +209,7 @@ public void Rgba32_Avx2_Float()
 
         Vector256<int> vcontrol = SimdUtils.HwIntrinsics.PermuteMaskEvenOdd8x32().AsInt32();
 
-        var va = Vector256.Create(1F);
+        Vector256<float> va = Vector256.Create(1F);
 
         for (nuint i = 0; i < count; i++)
         {
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_Rgba32_To_Bgra32.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_Rgba32_To_Bgra32.cs
index f4fb9e4204..21808b5ef7 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_Rgba32_To_Bgra32.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_Rgba32_To_Bgra32.cs
@@ -252,8 +252,8 @@ private struct C
     private static void BitopsSimdImpl(ref Octet<uint> s, ref Octet<uint> d)
     {
         Vector<uint> sVec = Unsafe.As<Octet<uint>, Vector<uint>>(ref s);
-        var aMask = new Vector<uint>(0xFF00FF00);
-        var bMask = new Vector<uint>(0x00FF00FF);
+        Vector<uint> aMask = new Vector<uint>(0xFF00FF00);
+        Vector<uint> bMask = new Vector<uint>(0x00FF00FF);
 
         Vector<uint> aa = sVec & aMask;
         Vector<uint> bb = sVec & bMask;
diff --git a/tests/ImageSharp.Benchmarks/General/Vector4Constants.cs b/tests/ImageSharp.Benchmarks/General/Vector4Constants.cs
index 2cd6a5a52a..d956df80be 100644
--- a/tests/ImageSharp.Benchmarks/General/Vector4Constants.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vector4Constants.cs
@@ -39,8 +39,8 @@ public Vector4 Static()
 
         Vector4 x = (p * A / B) + (p * C / D);
         Vector4 y = (p / A * B) + (p / C * D);
-        var z = Vector4.Min(p, A);
-        var w = Vector4.Max(p, B);
+        Vector4 z = Vector4.Min(p, A);
+        Vector4 w = Vector4.Max(p, B);
         return x + y + z + w;
     }
 
@@ -51,8 +51,8 @@ public Vector4 Inlined()
 
         Vector4 x = (p * new Vector4(1.2f) / new Vector4(2.3f)) + (p * new Vector4(4.5f) / new Vector4(6.7f));
         Vector4 y = (p / new Vector4(1.2f) * new Vector4(2.3f)) + (p / new Vector4(4.5f) * new Vector4(6.7f));
-        var z = Vector4.Min(p, new Vector4(1.2f));
-        var w = Vector4.Max(p, new Vector4(2.3f));
+        Vector4 z = Vector4.Min(p, new Vector4(1.2f));
+        Vector4 w = Vector4.Max(p, new Vector4(2.3f));
         return x + y + z + w;
     }
 
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/BitwiseOrUint32.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/BitwiseOrUint32.cs
index 4d8d9b1ed6..69babfb92f 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/BitwiseOrUint32.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/BitwiseOrUint32.cs
@@ -43,11 +43,11 @@ public void Standard()
     [Benchmark]
     public void Simd()
     {
-        var v = new Vector<uint>(this.testValue);
+        Vector<uint> v = new Vector<uint>(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            var a = new Vector<uint>(this.input, i);
+            Vector<uint> a = new Vector<uint>(this.input, i);
             a = Vector.BitwiseOr(a, v);
             a.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/DivFloat.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/DivFloat.cs
index 1b2c56ab97..2c30cd103c 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/DivFloat.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/DivFloat.cs
@@ -43,11 +43,11 @@ public void Standard()
     [Benchmark]
     public void Simd()
     {
-        var v = new Vector<float>(this.testValue);
+        Vector<float> v = new Vector<float>(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            var a = new Vector<float>(this.input, i);
+            Vector<float> a = new Vector<float>(this.input, i);
             a = a / v;
             a.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/DivUInt32.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/DivUInt32.cs
index d102164e2c..6bdbccace7 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/DivUInt32.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/DivUInt32.cs
@@ -44,11 +44,11 @@ public void Standard()
     [Benchmark]
     public void Simd()
     {
-        var v = new Vector<uint>(this.testValue);
+        Vector<uint> v = new Vector<uint>(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            var a = new Vector<uint>(this.input, i);
+            Vector<uint> a = new Vector<uint>(this.input, i);
 
             a = a / v;
             a.CopyTo(this.result, i);
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/MulFloat.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/MulFloat.cs
index a2eb8d417a..8d5d66c4ba 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/MulFloat.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/MulFloat.cs
@@ -43,11 +43,11 @@ public void Standard()
     [Benchmark]
     public void SimdMultiplyByVector()
     {
-        var v = new Vector<float>(this.testValue);
+        Vector<float> v = new Vector<float>(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            var a = new Vector<float>(this.input, i);
+            Vector<float> a = new Vector<float>(this.input, i);
             a = a * v;
             a.CopyTo(this.result, i);
         }
@@ -60,7 +60,7 @@ public void SimdMultiplyByScalar()
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            var a = new Vector<float>(this.input, i);
+            Vector<float> a = new Vector<float>(this.input, i);
             a = a * v;
             a.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/MulUInt32.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/MulUInt32.cs
index a234970a51..d8079423fa 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/MulUInt32.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/MulUInt32.cs
@@ -43,11 +43,11 @@ public void Standard()
     [Benchmark]
     public void Simd()
     {
-        var v = new Vector<uint>(this.testValue);
+        Vector<uint> v = new Vector<uint>(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            var a = new Vector<uint>(this.input, i);
+            Vector<uint> a = new Vector<uint>(this.input, i);
             a = a * v;
             a.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/Premultiply.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/Premultiply.cs
index 29b90accc5..8129222c3c 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/Premultiply.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/Premultiply.cs
@@ -12,14 +12,14 @@ public class Premultiply
     [Benchmark(Baseline = true)]
     public Vector4 PremultiplyByVal()
     {
-        var input = new Vector4(.5F);
+        Vector4 input = new Vector4(.5F);
         return Vector4Utils.Premultiply(input);
     }
 
     [Benchmark]
     public Vector4 PremultiplyByRef()
     {
-        var input = new Vector4(.5F);
+        Vector4 input = new Vector4(.5F);
         Vector4Utils.PremultiplyRef(ref input);
         return input;
     }
@@ -27,7 +27,7 @@ public Vector4 PremultiplyByRef()
     [Benchmark]
     public Vector4 PremultiplyRefWithPropertyAssign()
     {
-        var input = new Vector4(.5F);
+        Vector4 input = new Vector4(.5F);
         Vector4Utils.PremultiplyRefWithPropertyAssign(ref input);
         return input;
     }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/ReinterpretUInt32AsFloat.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/ReinterpretUInt32AsFloat.cs
index 7d626d7856..d7204d96d8 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/ReinterpretUInt32AsFloat.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/ReinterpretUInt32AsFloat.cs
@@ -53,8 +53,8 @@ public void Simd()
     {
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            var a = new Vector<uint>(this.input, i);
-            var b = Vector.AsVectorSingle(a);
+            Vector<uint> a = new Vector<uint>(this.input, i);
+            Vector<float> b = Vector.AsVectorSingle(a);
             b.CopyTo(this.result, i);
         }
     }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/UInt32ToSingle.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/UInt32ToSingle.cs
index 5f1f5666de..54e9622a38 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/UInt32ToSingle.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/UInt32ToSingle.cs
@@ -27,20 +27,20 @@ public void MagicMethod()
 
         nuint n = Count / (uint)Vector<float>.Count;
 
-        var bVec = new Vector<float>(256.0f / 255.0f);
-        var magicFloat = new Vector<float>(32768.0f);
-        var magicInt = new Vector<uint>(1191182336); // reinterpreted value of 32768.0f
-        var mask = new Vector<uint>(255);
+        Vector<float> bVec = new Vector<float>(256.0f / 255.0f);
+        Vector<float> magicFloat = new Vector<float>(32768.0f);
+        Vector<uint> magicInt = new Vector<uint>(1191182336); // reinterpreted value of 32768.0f
+        Vector<uint> mask = new Vector<uint>(255);
 
         for (nuint i = 0; i < n; i++)
         {
             ref Vector<float> df = ref Unsafe.Add(ref b, i);
 
-            var vi = Vector.AsVectorUInt32(df);
+            Vector<uint> vi = Vector.AsVectorUInt32(df);
             vi &= mask;
             vi |= magicInt;
 
-            var vf = Vector.AsVectorSingle(vi);
+            Vector<float> vf = Vector.AsVectorSingle(vi);
             vf = (vf - magicFloat) * bVec;
 
             df = vf;
@@ -55,7 +55,7 @@ public void StandardSimd()
         ref Vector<float> bf = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
         ref Vector<uint> bu = ref Unsafe.As<Vector<float>, Vector<uint>>(ref bf);
 
-        var scale = new Vector<float>(1f / 255f);
+        Vector<float> scale = new Vector<float>(1f / 255f);
 
         for (nuint i = 0; i < n; i++)
         {
@@ -74,7 +74,7 @@ public void StandardSimdFromInt()
         ref Vector<float> bf = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
         ref Vector<int> bu = ref Unsafe.As<Vector<float>, Vector<int>>(ref bf);
 
-        var scale = new Vector<float>(1f / 255f);
+        Vector<float> scale = new Vector<float>(1f / 255f);
 
         for (nuint i = 0; i < n; i++)
         {
@@ -91,7 +91,7 @@ public void StandardSimdFromInt_RefCast()
         nuint n = Count / (uint)Vector<float>.Count;
 
         ref Vector<float> bf = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
-        var scale = new Vector<float>(1f / 255f);
+        Vector<float> scale = new Vector<float>(1f / 255f);
 
         for (nuint i = 0; i < n; i++)
         {
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/VectorFetching.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/VectorFetching.cs
index 5d20f29d18..e8b6626cd4 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/VectorFetching.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/VectorFetching.cs
@@ -47,11 +47,11 @@ public void Baseline()
     [Benchmark]
     public void FetchWithVectorConstructor()
     {
-        var v = new Vector<float>(this.testValue);
+        Vector<float> v = new Vector<float>(this.testValue);
 
         for (int i = 0; i < this.data.Length; i += Vector<uint>.Count)
         {
-            var a = new Vector<float>(this.data, i);
+            Vector<float> a = new Vector<float>(this.data, i);
             a = a * v;
             a.CopyTo(this.data, i);
         }
@@ -60,7 +60,7 @@ public void FetchWithVectorConstructor()
     [Benchmark]
     public void FetchWithUnsafeCast()
     {
-        var v = new Vector<float>(this.testValue);
+        Vector<float> v = new Vector<float>(this.testValue);
         ref Vector<float> start = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
 
         nuint n = (uint)this.InputSize / (uint)Vector<uint>.Count;
@@ -79,7 +79,7 @@ public void FetchWithUnsafeCast()
     [Benchmark]
     public void FetchWithUnsafeCastNoTempVector()
     {
-        var v = new Vector<float>(this.testValue);
+        Vector<float> v = new Vector<float>(this.testValue);
         ref Vector<float> start = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
 
         nuint n = (uint)this.InputSize / (uint)Vector<uint>.Count;
@@ -94,9 +94,9 @@ public void FetchWithUnsafeCastNoTempVector()
     [Benchmark]
     public void FetchWithUnsafeCastFromReference()
     {
-        var v = new Vector<float>(this.testValue);
+        Vector<float> v = new Vector<float>(this.testValue);
 
-        var span = new Span<float>(this.data);
+        Span<float> span = new Span<float>(this.data);
 
         ref Vector<float> start = ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(span));
 
diff --git a/tests/ImageSharp.Benchmarks/Processing/Crop.cs b/tests/ImageSharp.Benchmarks/Processing/Crop.cs
index 0432b76249..c889b33870 100644
--- a/tests/ImageSharp.Benchmarks/Processing/Crop.cs
+++ b/tests/ImageSharp.Benchmarks/Processing/Crop.cs
@@ -17,9 +17,9 @@ public class Crop
     [Benchmark(Baseline = true, Description = "System.Drawing Crop")]
     public SDSize CropSystemDrawing()
     {
-        using var source = new Bitmap(800, 800);
-        using var destination = new Bitmap(100, 100);
-        using var graphics = Graphics.FromImage(destination);
+        using Bitmap source = new Bitmap(800, 800);
+        using Bitmap destination = new Bitmap(100, 100);
+        using Graphics graphics = Graphics.FromImage(destination);
 
         graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
         graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
@@ -32,7 +32,7 @@ public SDSize CropSystemDrawing()
     [Benchmark(Description = "ImageSharp Crop")]
     public Size CropImageSharp()
     {
-        using var image = new Image<Rgba32>(800, 800);
+        using Image<Rgba32> image = new Image<Rgba32>(800, 800);
         image.Mutate(x => x.Crop(100, 100));
         return new Size(image.Width, image.Height);
     }
diff --git a/tests/ImageSharp.Benchmarks/Processing/Resize.cs b/tests/ImageSharp.Benchmarks/Processing/Resize.cs
index 05baceb6a0..41dd0f26b6 100644
--- a/tests/ImageSharp.Benchmarks/Processing/Resize.cs
+++ b/tests/ImageSharp.Benchmarks/Processing/Resize.cs
@@ -35,7 +35,7 @@ public virtual void Setup()
 
             this.sourceImage = Image.Load<TPixel>(this.bytes);
 
-            var ms1 = new MemoryStream(this.bytes);
+            MemoryStream ms1 = new MemoryStream(this.bytes);
             this.sourceBitmap = SDImage.FromStream(ms1);
             this.DestSize = this.sourceBitmap.Width / 2;
         }
@@ -52,9 +52,9 @@ public void Cleanup()
     [Benchmark(Baseline = true)]
     public int SystemDrawing()
     {
-        using (var destination = new Bitmap(this.DestSize, this.DestSize))
+        using (Bitmap destination = new Bitmap(this.DestSize, this.DestSize))
         {
-            using (var g = Graphics.FromImage(destination))
+            using (Graphics g = Graphics.FromImage(destination))
             {
                 g.CompositingMode = CompositingMode.SourceCopy;
                 g.InterpolationMode = InterpolationMode.HighQualityBicubic;
diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs
index 248912b14f..87380ab727 100644
--- a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs
+++ b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs
@@ -38,7 +38,7 @@ public static void Run(string[] args)
         Console.WriteLine($"64 bit: {Environment.Is64BitProcess}");
         CommandLineOptions options = args.Length > 0 ? CommandLineOptions.Parse(args) : null;
 
-        var lrs = new LoadResizeSaveParallelMemoryStress();
+        LoadResizeSaveParallelMemoryStress lrs = new LoadResizeSaveParallelMemoryStress();
         if (options != null)
         {
             lrs.Benchmarks.MaxDegreeOfParallelism = options.MaxDegreeOfParallelism;
@@ -108,7 +108,7 @@ public static void Run(string[] args)
             }
         }
 
-        var stats = new Stats(timer, lrs.Benchmarks.TotalProcessedMegapixels);
+        Stats stats = new Stats(timer, lrs.Benchmarks.TotalProcessedMegapixels);
         Console.WriteLine($"Total Megapixels: {stats.TotalMegapixels}, TotalOomRetries: {UnmanagedMemoryHandle.TotalOomRetries}, TotalOutstandingHandles: {UnmanagedMemoryHandle.TotalOutstandingHandles}, Total Gen2 GC count: {GC.CollectionCount(2)}");
         Console.WriteLine(stats.GetMarkdown());
         if (options?.FileOutput != null)
@@ -203,7 +203,7 @@ public Stats(Stopwatch sw, double totalMegapixels)
 
         public string GetMarkdown()
         {
-            var bld = new StringBuilder();
+            StringBuilder bld = new StringBuilder();
             bld.AppendLine($"| {nameof(this.TotalSeconds)} | {nameof(this.MegapixelsPerSec)} | {nameof(this.MegapixelsPerSecPerCpu)} |");
             bld.AppendLine(
                 $"| {L(nameof(this.TotalSeconds))} | {L(nameof(this.MegapixelsPerSec))} | {L(nameof(this.MegapixelsPerSecPerCpu))} |");
diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs b/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
index b5c8b70cde..43e17f5c9e 100644
--- a/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
+++ b/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
@@ -64,13 +64,13 @@ private static Version GetNetCoreVersion()
 
     private static void RunResizeProfilingTest()
     {
-        var test = new ResizeProfilingBenchmarks(new ConsoleOutput());
+        ResizeProfilingBenchmarks test = new ResizeProfilingBenchmarks(new ConsoleOutput());
         test.ResizeBicubic(4000, 4000);
     }
 
     private static void RunToVector4ProfilingTest()
     {
-        var tests = new PixelOperationsTests.Rgba32_OperationsTests(new ConsoleOutput());
+        PixelOperationsTests.Rgba32_OperationsTests tests = new PixelOperationsTests.Rgba32_OperationsTests(new ConsoleOutput());
         tests.Benchmark_ToVector4();
     }
 }
diff --git a/tests/ImageSharp.Tests/Color/ColorTests.CastTo.cs b/tests/ImageSharp.Tests/Color/ColorTests.CastTo.cs
index 4247345c7b..d760dffd43 100644
--- a/tests/ImageSharp.Tests/Color/ColorTests.CastTo.cs
+++ b/tests/ImageSharp.Tests/Color/ColorTests.CastTo.cs
@@ -13,10 +13,10 @@ public class CastTo
         [Fact]
         public void Rgba64()
         {
-            var source = new Rgba64(100, 2222, 3333, 4444);
+            Rgba64 source = new Rgba64(100, 2222, 3333, 4444);
 
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             Rgba64 data = color.ToPixel<Rgba64>();
@@ -26,10 +26,10 @@ public void Rgba64()
         [Fact]
         public void Rgba32()
         {
-            var source = new Rgba32(1, 22, 33, 231);
+            Rgba32 source = new Rgba32(1, 22, 33, 231);
 
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             Rgba32 data = color.ToPixel<Rgba32>();
@@ -39,10 +39,10 @@ public void Rgba32()
         [Fact]
         public void Argb32()
         {
-            var source = new Argb32(1, 22, 33, 231);
+            Argb32 source = new Argb32(1, 22, 33, 231);
 
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             Argb32 data = color.ToPixel<Argb32>();
@@ -52,10 +52,10 @@ public void Argb32()
         [Fact]
         public void Bgra32()
         {
-            var source = new Bgra32(1, 22, 33, 231);
+            Bgra32 source = new Bgra32(1, 22, 33, 231);
 
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             Bgra32 data = color.ToPixel<Bgra32>();
@@ -65,10 +65,10 @@ public void Bgra32()
         [Fact]
         public void Abgr32()
         {
-            var source = new Abgr32(1, 22, 33, 231);
+            Abgr32 source = new Abgr32(1, 22, 33, 231);
 
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             Abgr32 data = color.ToPixel<Abgr32>();
@@ -78,10 +78,10 @@ public void Abgr32()
         [Fact]
         public void Rgb24()
         {
-            var source = new Rgb24(1, 22, 231);
+            Rgb24 source = new Rgb24(1, 22, 231);
 
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             Rgb24 data = color.ToPixel<Rgb24>();
@@ -91,10 +91,10 @@ public void Rgb24()
         [Fact]
         public void Bgr24()
         {
-            var source = new Bgr24(1, 22, 231);
+            Bgr24 source = new Bgr24(1, 22, 231);
 
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             Bgr24 data = color.ToPixel<Bgr24>();
@@ -129,7 +129,7 @@ private static void AssertGenericPixelRoundTrip<TPixel>(TPixel source)
             where TPixel : unmanaged, IPixel<TPixel>
         {
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             TPixel actual = color.ToPixel<TPixel>();
@@ -150,7 +150,7 @@ private static void AssertGenericPixelDifferentPrecision<TPixel, TPixel2>(TPixel
             where TPixel2 : unmanaged, IPixel<TPixel2>
         {
             // Act:
-            var color = Color.FromPixel(source);
+            Color color = Color.FromPixel(source);
 
             // Assert:
             TPixel2 actual = color.ToPixel<TPixel2>();
diff --git a/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs b/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
index 190bfe1dc6..db2da6a697 100644
--- a/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
@@ -10,7 +10,7 @@ public class EncoderExtensionsTests
     [Fact]
     public void GetString_EmptyBuffer_ReturnsEmptyString()
     {
-        var buffer = default(ReadOnlySpan<byte>);
+        ReadOnlySpan<byte> buffer = default(ReadOnlySpan<byte>);
 
         string result = Encoding.UTF8.GetString(buffer);
 
@@ -20,7 +20,7 @@ public void GetString_EmptyBuffer_ReturnsEmptyString()
     [Fact]
     public void GetString_Buffer_ReturnsString()
     {
-        var buffer = new ReadOnlySpan<byte>(new byte[] { 73, 109, 97, 103, 101, 83, 104, 97, 114, 112 });
+        ReadOnlySpan<byte> buffer = new ReadOnlySpan<byte>(new byte[] { 73, 109, 97, 103, 101, 83, 104, 97, 114, 112 });
 
         string result = Encoding.UTF8.GetString(buffer);
 
diff --git a/tests/ImageSharp.Tests/Common/NumericsTests.cs b/tests/ImageSharp.Tests/Common/NumericsTests.cs
index 2b92769436..69f8f9c2cd 100644
--- a/tests/ImageSharp.Tests/Common/NumericsTests.cs
+++ b/tests/ImageSharp.Tests/Common/NumericsTests.cs
@@ -28,7 +28,7 @@ public void DivideCeil_DivideZero()
     [InlineData(1, 100)]
     public void DivideCeil_RandomValues(int seed, int count)
     {
-        var rng = new Random(seed);
+        Random rng = new Random(seed);
         for (int i = 0; i < count; i++)
         {
             uint value = (uint)rng.Next();
diff --git a/tests/ImageSharp.Tests/Common/StreamExtensionsTests.cs b/tests/ImageSharp.Tests/Common/StreamExtensionsTests.cs
index 1931109448..3df5e8f30d 100644
--- a/tests/ImageSharp.Tests/Common/StreamExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/Common/StreamExtensionsTests.cs
@@ -10,7 +10,7 @@ public class StreamExtensionsTests
     [InlineData(-1)]
     public void Skip_CountZeroOrLower_PositionNotChanged(int count)
     {
-        using (var memStream = new MemoryStream(5))
+        using (MemoryStream memStream = new MemoryStream(5))
         {
             memStream.Position = 4;
             memStream.Skip(count);
@@ -22,7 +22,7 @@ public void Skip_CountZeroOrLower_PositionNotChanged(int count)
     [Fact]
     public void Skip_SeekableStream_SeekIsCalled()
     {
-        using (var seekableStream = new SeekableStream(4))
+        using (SeekableStream seekableStream = new SeekableStream(4))
         {
             seekableStream.Skip(4);
 
@@ -34,7 +34,7 @@ public void Skip_SeekableStream_SeekIsCalled()
     [Fact]
     public void Skip_NonSeekableStream_BytesAreRead()
     {
-        using (var nonSeekableStream = new NonSeekableStream())
+        using (NonSeekableStream nonSeekableStream = new NonSeekableStream())
         {
             nonSeekableStream.Skip(5);
 
@@ -49,7 +49,7 @@ public void Skip_NonSeekableStream_BytesAreRead()
     [Fact]
     public void Skip_EofStream_NoExceptionIsThrown()
     {
-        using (var eofStream = new EofStream(7))
+        using (EofStream eofStream = new EofStream(7))
         {
             eofStream.Skip(7);
 
diff --git a/tests/ImageSharp.Tests/ConfigurationTests.cs b/tests/ImageSharp.Tests/ConfigurationTests.cs
index c8e6cd2657..5c249b8505 100644
--- a/tests/ImageSharp.Tests/ConfigurationTests.cs
+++ b/tests/ImageSharp.Tests/ConfigurationTests.cs
@@ -58,7 +58,7 @@ public void TestDefaultConfigurationMaxDegreeOfParallelism()
     {
         Assert.True(this.DefaultConfiguration.MaxDegreeOfParallelism == Environment.ProcessorCount);
 
-        var cfg = new Configuration();
+        Configuration cfg = new Configuration();
         Assert.True(cfg.MaxDegreeOfParallelism == Environment.ProcessorCount);
     }
 
@@ -71,7 +71,7 @@ public void TestDefaultConfigurationMaxDegreeOfParallelism()
     [InlineData(5, false)]
     public void MaxDegreeOfParallelism_CompatibleWith_ParallelOptions(int maxDegreeOfParallelism, bool throws)
     {
-        var cfg = new Configuration();
+        Configuration cfg = new Configuration();
         if (throws)
         {
             Assert.Throws<ArgumentOutOfRangeException>(
@@ -87,8 +87,8 @@ public void MaxDegreeOfParallelism_CompatibleWith_ParallelOptions(int maxDegreeO
     [Fact]
     public void ConstructorCallConfigureOnFormatProvider()
     {
-        var provider = new Mock<IImageFormatConfigurationModule>();
-        var config = new Configuration(provider.Object);
+        Mock<IImageFormatConfigurationModule> provider = new Mock<IImageFormatConfigurationModule>();
+        Configuration config = new Configuration(provider.Object);
 
         provider.Verify(x => x.Configure(config));
     }
@@ -96,8 +96,8 @@ public void ConstructorCallConfigureOnFormatProvider()
     [Fact]
     public void AddFormatCallsConfig()
     {
-        var provider = new Mock<IImageFormatConfigurationModule>();
-        var config = new Configuration();
+        Mock<IImageFormatConfigurationModule> provider = new Mock<IImageFormatConfigurationModule>();
+        Configuration config = new Configuration();
         config.Configure(provider.Object);
 
         provider.Verify(x => x.Configure(config));
@@ -118,7 +118,7 @@ public void ConfigurationCannotAddDuplicates()
     [Fact]
     public void DefaultConfigurationHasCorrectFormatCount()
     {
-        var config = Configuration.CreateDefaultInstance();
+        Configuration config = Configuration.CreateDefaultInstance();
 
         Assert.Equal(this.expectedDefaultConfigurationCount, config.ImageFormats.Count());
     }
@@ -140,7 +140,7 @@ public void StreamBufferSize_DefaultIsCorrect()
     [Fact]
     public void StreamBufferSize_CannotGoBelowMinimum()
     {
-        var config = new Configuration();
+        Configuration config = new Configuration();
 
         Assert.Throws<ArgumentOutOfRangeException>(
                 () => config.StreamProcessingBufferSize = 0);
@@ -150,14 +150,14 @@ public void StreamBufferSize_CannotGoBelowMinimum()
     public void MemoryAllocator_Setter_Roundtrips()
     {
         MemoryAllocator customAllocator = new SimpleGcMemoryAllocator();
-        var config = new Configuration() { MemoryAllocator = customAllocator };
+        Configuration config = new Configuration() { MemoryAllocator = customAllocator };
         Assert.Same(customAllocator, config.MemoryAllocator);
     }
 
     [Fact]
     public void MemoryAllocator_SetNull_ThrowsArgumentNullException()
     {
-        var config = new Configuration();
+        Configuration config = new Configuration();
         Assert.Throws<ArgumentNullException>(() => config.MemoryAllocator = null);
     }
 
@@ -168,9 +168,9 @@ public void InheritsDefaultMemoryAllocatorInstance()
 
         static void RunTest()
         {
-            var c1 = new Configuration();
-            var c2 = new Configuration(new MockConfigurationModule());
-            var c3 = Configuration.CreateDefaultInstance();
+            Configuration c1 = new Configuration();
+            Configuration c2 = new Configuration(new MockConfigurationModule());
+            Configuration c3 = Configuration.CreateDefaultInstance();
 
             Assert.Same(MemoryAllocator.Default, Configuration.Default.MemoryAllocator);
             Assert.Same(MemoryAllocator.Default, c1.MemoryAllocator);
diff --git a/tests/ImageSharp.Tests/Formats/Bmp/BmpFileHeaderTests.cs b/tests/ImageSharp.Tests/Formats/Bmp/BmpFileHeaderTests.cs
index d8ec7c9009..8b48576456 100644
--- a/tests/ImageSharp.Tests/Formats/Bmp/BmpFileHeaderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Bmp/BmpFileHeaderTests.cs
@@ -11,9 +11,9 @@ public class BmpFileHeaderTests
     [Fact]
     public void TestWrite()
     {
-        var header = new BmpFileHeader(1, 2, 3, 4);
+        BmpFileHeader header = new BmpFileHeader(1, 2, 3, 4);
 
-        var buffer = new byte[14];
+        byte[] buffer = new byte[14];
 
         header.WriteTo(buffer);
 
diff --git a/tests/ImageSharp.Tests/Formats/Icon/Cur/CurEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Icon/Cur/CurEncoderTests.cs
index bf94e1d489..45973f2631 100644
--- a/tests/ImageSharp.Tests/Formats/Icon/Cur/CurEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Icon/Cur/CurEncoderTests.cs
@@ -121,7 +121,7 @@ public void Encode_WithTransparentColorBehaviorClear_Works()
                 {
                     if (expectedColor != rowSpan[x])
                     {
-                        var xx = 0;
+                        int xx = 0;
                     }
 
 
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8FTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8FTests.cs
index cde9e776b2..54d9882f46 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8FTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8FTests.cs
@@ -43,7 +43,7 @@ public void Indexer()
             Times,
             () =>
             {
-                var block = default(Block8x8F);
+                Block8x8F block = default(Block8x8F);
 
                 for (int i = 0; i < Block8x8F.Size; i++)
                 {
@@ -240,7 +240,7 @@ public void RoundInto()
         float[] data = Create8x8RandomFloatData(-1000, 1000);
 
         Block8x8F source = Block8x8F.Load(data);
-        var dest = default(Block8x8);
+        Block8x8 dest = default(Block8x8);
 
         source.RoundInto(ref dest);
 
@@ -352,7 +352,7 @@ public void LoadFromUInt16Scalar()
 
         short[] data = Create8x8ShortData();
 
-        var source = Block8x8.Load(data);
+        Block8x8 source = Block8x8.Load(data);
 
         Block8x8F dest = default;
         dest.LoadFromInt16Scalar(ref source);
@@ -373,7 +373,7 @@ public void LoadFromUInt16ExtendedAvx2()
 
         short[] data = Create8x8ShortData();
 
-        var source = Block8x8.Load(data);
+        Block8x8 source = Block8x8.Load(data);
 
         Block8x8F dest = default;
         dest.LoadFromInt16ExtendedAvx2(ref source);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
index b5d364dd38..ce2c40dd3a 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
@@ -21,7 +21,7 @@ public void Construct_And_Indexer_Get()
     {
         short[] data = Create8x8ShortData();
 
-        var block = Block8x8.Load(data);
+        Block8x8 block = Block8x8.Load(data);
 
         for (int i = 0; i < Block8x8.Size; i++)
         {
@@ -47,7 +47,7 @@ public void AsFloatBlock()
     {
         short[] data = Create8x8ShortData();
 
-        var source = Block8x8.Load(data);
+        Block8x8 source = Block8x8.Load(data);
 
         Block8x8F dest = source.AsFloatBlock();
 
@@ -61,7 +61,7 @@ public void AsFloatBlock()
     public void ToArray()
     {
         short[] data = Create8x8ShortData();
-        var block = Block8x8.Load(data);
+        Block8x8 block = Block8x8.Load(data);
 
         short[] result = block.ToArray();
 
@@ -72,8 +72,8 @@ public void ToArray()
     public void Equality_WhenFalse()
     {
         short[] data = Create8x8ShortData();
-        var block1 = Block8x8.Load(data);
-        var block2 = Block8x8.Load(data);
+        Block8x8 block1 = Block8x8.Load(data);
+        Block8x8 block2 = Block8x8.Load(data);
 
         block1[0] = 42;
         block2[0] = 666;
@@ -96,8 +96,8 @@ public void IndexerXY()
     public void TotalDifference()
     {
         short[] data = Create8x8ShortData();
-        var block1 = Block8x8.Load(data);
-        var block2 = Block8x8.Load(data);
+        Block8x8 block1 = Block8x8.Load(data);
+        Block8x8 block2 = Block8x8.Load(data);
 
         block2[10] += 7;
         block2[63] += 8;
@@ -157,7 +157,7 @@ public void GetLastNonZeroIndex_RandomFilledSingle(int seed)
         static void RunTest(string seedSerialized)
         {
             int seed = FeatureTestRunner.Deserialize<int>(seedSerialized);
-            var rng = new Random(seed);
+            Random rng = new Random(seed);
 
             for (int i = 0; i < 1000; i++)
             {
@@ -188,7 +188,7 @@ public void GetLastNonZeroIndex_RandomFilledPartially(int seed)
         static void RunTest(string seedSerialized)
         {
             int seed = FeatureTestRunner.Deserialize<int>(seedSerialized);
-            var rng = new Random(seed);
+            Random rng = new Random(seed);
 
             for (int i = 0; i < 1000; i++)
             {
@@ -223,7 +223,7 @@ public void GetLastNonZeroIndex_RandomFilledFragmented(int seed)
         static void RunTest(string seedSerialized)
         {
             int seed = FeatureTestRunner.Deserialize<int>(seedSerialized);
-            var rng = new Random(seed);
+            Random rng = new Random(seed);
 
             for (int i = 0; i < 1000; i++)
             {
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs
index 5a1488c411..71174a843c 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs
@@ -46,7 +46,7 @@ public void LLM_TransformIDCT_CompareToNonOptimized(int seed)
         {
             float[] sourceArray = Create8x8RandomFloatData(MinInputValue, MaxInputValue, seed);
 
-            var srcBlock = Block8x8F.Load(sourceArray);
+            Block8x8F srcBlock = Block8x8F.Load(sourceArray);
 
             // reference
             Block8x8F expected = ReferenceImplementations.LLM_FloatingPoint_DCT.TransformIDCT(ref srcBlock);
@@ -79,7 +79,7 @@ public void LLM_TransformIDCT_CompareToAccurate(int seed)
         {
             float[] sourceArray = Create8x8RandomFloatData(MinInputValue, MaxInputValue, seed);
 
-            var srcBlock = Block8x8F.Load(sourceArray);
+            Block8x8F srcBlock = Block8x8F.Load(sourceArray);
 
             // reference
             Block8x8F expected = ReferenceImplementations.AccurateDCT.TransformIDCT(ref srcBlock);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
index b89d9ad27a..625932e2ab 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
@@ -69,7 +69,7 @@ public void GetHuffmanEncodingLength_Random(int seed)
     {
         int maxNumber = 1 << 16;
 
-        var rng = new Random(seed);
+        Random rng = new Random(seed);
         for (int i = 0; i < 1000; i++)
         {
             uint number = (uint)rng.Next(0, maxNumber);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegFileMarkerTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegFileMarkerTests.cs
index df74d266cb..1f8bdd67a6 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegFileMarkerTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegFileMarkerTests.cs
@@ -14,7 +14,7 @@ public void MarkerConstructorAssignsProperties()
     {
         const byte app1 = JpegConstants.Markers.APP1;
         const int position = 5;
-        var marker = new JpegFileMarker(app1, position);
+        JpegFileMarker marker = new JpegFileMarker(app1, position);
 
         Assert.Equal(app1, marker.Marker);
         Assert.Equal(position, marker.Position);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
index 19b5265a17..df0595d7bf 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
@@ -12,8 +12,8 @@ public class JpegMetadataTests
     [Fact]
     public void CloneIsDeep()
     {
-        var meta = new JpegMetadata { ColorType = JpegColorType.Luminance };
-        var clone = (JpegMetadata)meta.DeepClone();
+        JpegMetadata meta = new JpegMetadata { ColorType = JpegColorType.Luminance };
+        JpegMetadata clone = (JpegMetadata)meta.DeepClone();
 
         clone.ColorType = JpegColorType.YCbCrRatio420;
 
@@ -23,7 +23,7 @@ public void CloneIsDeep()
     [Fact]
     public void Quality_DefaultQuality()
     {
-        var meta = new JpegMetadata();
+        JpegMetadata meta = new JpegMetadata();
 
         Assert.Equal(meta.Quality, ImageSharp.Formats.Jpeg.Components.Quantization.DefaultQualityFactor);
     }
@@ -33,7 +33,7 @@ public void Quality_LuminanceOnlyQuality()
     {
         int quality = 50;
 
-        var meta = new JpegMetadata { LuminanceQuality = quality };
+        JpegMetadata meta = new JpegMetadata { LuminanceQuality = quality };
 
         Assert.Equal(meta.Quality, quality);
     }
@@ -43,7 +43,7 @@ public void Quality_BothComponentsQuality()
     {
         int quality = 50;
 
-        var meta = new JpegMetadata { LuminanceQuality = quality, ChrominanceQuality = quality };
+        JpegMetadata meta = new JpegMetadata { LuminanceQuality = quality, ChrominanceQuality = quality };
 
         Assert.Equal(meta.Quality, quality);
     }
@@ -54,7 +54,7 @@ public void Quality_ReturnsMaxQuality()
         int qualityLuma = 50;
         int qualityChroma = 30;
 
-        var meta = new JpegMetadata { LuminanceQuality = qualityLuma, ChrominanceQuality = qualityChroma };
+        JpegMetadata meta = new JpegMetadata { LuminanceQuality = qualityLuma, ChrominanceQuality = qualityChroma };
 
         Assert.Equal(meta.Quality, qualityLuma);
     }
@@ -62,7 +62,7 @@ public void Quality_ReturnsMaxQuality()
     [Fact]
     public void Comment_EmptyComment()
     {
-        var meta = new JpegMetadata();
+        JpegMetadata meta = new JpegMetadata();
 
         Assert.True(Array.Empty<JpegComData>().SequenceEqual(meta.Comments));
     }
@@ -71,9 +71,9 @@ public void Comment_EmptyComment()
     public void Comment_OnlyComment()
     {
         string comment = "test comment";
-        var expectedCollection = new Collection<string> { comment };
+        Collection<string> expectedCollection = new Collection<string> { comment };
 
-        var meta = new JpegMetadata();
+        JpegMetadata meta = new JpegMetadata();
         meta.Comments.Add(JpegComData.FromString(comment));
 
         Assert.Equal(1, meta.Comments.Count);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
index b202fd9ec3..e9821db4cf 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
@@ -27,7 +27,7 @@ public ParseStreamTests(ITestOutputHelper output)
     [InlineData(TestImages.Jpeg.Baseline.Cmyk, JpegColorSpace.Cmyk)]
     public void ColorSpace_IsDeducedCorrectly(string imageFile, object expectedColorSpaceValue)
     {
-        var expectedColorSpace = (JpegColorSpace)expectedColorSpaceValue;
+        JpegColorSpace expectedColorSpace = (JpegColorSpace)expectedColorSpaceValue;
 
         using (JpegDecoderCore decoder = JpegFixture.ParseJpegStream(imageFile, metaDataOnly: true))
         {
@@ -47,7 +47,7 @@ public void ComponentScalingIsCorrect_1ChannelJpeg()
 
             Assert.Equal(expectedSizeInBlocks, decoder.Frame.McuSize);
 
-            var uniform1 = new Size(1, 1);
+            Size uniform1 = new Size(1, 1);
             IJpegComponent c0 = decoder.Components[0];
             VerifyJpeg.VerifyComponent(c0, expectedSizeInBlocks, uniform1, uniform1);
         }
@@ -62,7 +62,7 @@ public void ComponentScalingIsCorrect_1ChannelJpeg()
     [InlineData(TestImages.Jpeg.Baseline.Cmyk)]
     public void PrintComponentData(string imageFile)
     {
-        var sb = new StringBuilder();
+        StringBuilder sb = new StringBuilder();
 
         using (JpegDecoderCore decoder = JpegFixture.ParseJpegStream(imageFile))
         {
@@ -98,8 +98,8 @@ public void ComponentScalingIsCorrect_MultiChannelJpeg(
         object expectedLumaFactors,
         object expectedChromaFactors)
     {
-        var fLuma = (Size)expectedLumaFactors;
-        var fChroma = (Size)expectedChromaFactors;
+        Size fLuma = (Size)expectedLumaFactors;
+        Size fChroma = (Size)expectedChromaFactors;
 
         using (JpegDecoderCore decoder = JpegFixture.ParseJpegStream(imageFile))
         {
@@ -110,7 +110,7 @@ public void ComponentScalingIsCorrect_MultiChannelJpeg(
             IJpegComponent c1 = decoder.Components[1];
             IJpegComponent c2 = decoder.Components[2];
 
-            var uniform1 = new Size(1, 1);
+            Size uniform1 = new Size(1, 1);
 
             Size expectedLumaSizeInBlocks = decoder.Frame.McuSize.MultiplyBy(fLuma);
 
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.FastFloatingPointDCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.FastFloatingPointDCT.cs
index f5d7c159ba..2fcd953ae0 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.FastFloatingPointDCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ReferenceImplementationsTests.FastFloatingPointDCT.cs
@@ -53,7 +53,7 @@ public void LLM_IDCT_IsEquivalentTo_AccurateImplementation(int seed, int range)
         {
             float[] sourceArray = Create8x8RandomFloatData(-range, range, seed);
 
-            var source = Block8x8F.Load(sourceArray);
+            Block8x8F source = Block8x8F.Load(sourceArray);
 
             Block8x8F expected = ReferenceImplementations.AccurateDCT.TransformIDCT(ref source);
 
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
index 805ee586a8..248547717f 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
@@ -46,13 +46,13 @@ public void Decoder_ParseStream_SaveSpectralResult<TPixel>(TestImageProvider<TPi
         byte[] sourceBytes = TestFile.Create(provider.SourceFileOrDescription).Bytes;
         JpegDecoderOptions option = new();
 
-        using var decoder = new JpegDecoderCore(option);
-        using var ms = new MemoryStream(sourceBytes);
-        using var bufferedStream = new BufferedReadStream(Configuration.Default, ms);
+        using JpegDecoderCore decoder = new JpegDecoderCore(option);
+        using MemoryStream ms = new MemoryStream(sourceBytes);
+        using BufferedReadStream bufferedStream = new BufferedReadStream(Configuration.Default, ms);
 
         // internal scan decoder which we substitute to assert spectral correctness
-        var debugConverter = new DebugSpectralConverter<TPixel>();
-        var scanDecoder = new HuffmanScanDecoder(bufferedStream, debugConverter, cancellationToken: default);
+        DebugSpectralConverter<TPixel> debugConverter = new DebugSpectralConverter<TPixel>();
+        HuffmanScanDecoder scanDecoder = new HuffmanScanDecoder(bufferedStream, debugConverter, cancellationToken: default);
 
         // This would parse entire image
         decoder.ParseStream(bufferedStream, debugConverter, cancellationToken: default);
@@ -76,12 +76,12 @@ public void VerifySpectralCorrectness<TPixel>(TestImageProvider<TPixel> provider
         byte[] sourceBytes = TestFile.Create(provider.SourceFileOrDescription).Bytes;
         JpegDecoderOptions options = new();
 
-        using var decoder = new JpegDecoderCore(options);
-        using var ms = new MemoryStream(sourceBytes);
-        using var bufferedStream = new BufferedReadStream(Configuration.Default, ms);
+        using JpegDecoderCore decoder = new JpegDecoderCore(options);
+        using MemoryStream ms = new MemoryStream(sourceBytes);
+        using BufferedReadStream bufferedStream = new BufferedReadStream(Configuration.Default, ms);
 
         // internal scan decoder which we substitute to assert spectral correctness
-        var debugConverter = new DebugSpectralConverter<TPixel>();
+        DebugSpectralConverter<TPixel> debugConverter = new DebugSpectralConverter<TPixel>();
 
         // This would parse entire image
         decoder.ParseStream(bufferedStream, debugConverter, cancellationToken: default);
@@ -197,7 +197,7 @@ public override void InjectFrameData(JpegFrame frame, IRawJpegData jpegData)
 
         public override void PrepareForDecoding()
         {
-            var spectralComponents = new LibJpegTools.ComponentData[this.frame.ComponentCount];
+            LibJpegTools.ComponentData[] spectralComponents = new LibJpegTools.ComponentData[this.frame.ComponentCount];
             for (int i = 0; i < spectralComponents.Length; i++)
             {
                 JpegComponent component = this.frame.Components[i];
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
index 25929182fb..d16f4cdc87 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
@@ -33,14 +33,14 @@ public void Decoder_PixelBufferComparison<TPixel>(TestImageProvider<TPixel> prov
     {
         // Stream
         byte[] sourceBytes = TestFile.Create(provider.SourceFileOrDescription).Bytes;
-        using var ms = new MemoryStream(sourceBytes);
-        using var bufferedStream = new BufferedReadStream(Configuration.Default, ms);
+        using MemoryStream ms = new MemoryStream(sourceBytes);
+        using BufferedReadStream bufferedStream = new BufferedReadStream(Configuration.Default, ms);
 
         // Decoding
         JpegDecoderOptions options = new();
-        using var converter = new SpectralConverter<TPixel>(Configuration.Default);
-        using var decoder = new JpegDecoderCore(options);
-        var scanDecoder = new HuffmanScanDecoder(bufferedStream, converter, cancellationToken: default);
+        using SpectralConverter<TPixel> converter = new SpectralConverter<TPixel>(Configuration.Default);
+        using JpegDecoderCore decoder = new JpegDecoderCore(options);
+        HuffmanScanDecoder scanDecoder = new HuffmanScanDecoder(bufferedStream, converter, cancellationToken: default);
         decoder.ParseStream(bufferedStream, converter, cancellationToken: default);
 
         // Test metadata
@@ -48,7 +48,7 @@ public void Decoder_PixelBufferComparison<TPixel>(TestImageProvider<TPixel> prov
         provider.Utility.TestName = JpegDecoderTests.DecodeBaselineJpegOutputName;
 
         // Comparison
-        using var image = new Image<TPixel>(Configuration.Default, converter.GetPixelBuffer(CancellationToken.None), new ImageMetadata());
+        using Image<TPixel> image = new Image<TPixel>(Configuration.Default, converter.GetPixelBuffer(CancellationToken.None), new ImageMetadata());
         using Image<TPixel> referenceImage = provider.GetReferenceOutputImage<TPixel>(appendPixelTypeToFileName: false);
         ImageSimilarityReport report = ImageComparer.Exact.CompareImagesOrFrames(referenceImage, image);
 
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
index a3fbe4018e..511150c523 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
@@ -72,7 +72,7 @@ public static short[] Create8x8ShortData()
     // ReSharper disable once InconsistentNaming
     public static int[] Create8x8RandomIntData(int minValue, int maxValue, int seed = 42)
     {
-        var rnd = new Random(seed);
+        Random rnd = new Random(seed);
         int[] result = new int[64];
         for (int i = 0; i < 8; i++)
         {
@@ -87,7 +87,7 @@ public static int[] Create8x8RandomIntData(int minValue, int maxValue, int seed
 
     public static float[] Create8x8RandomFloatData(float minValue, float maxValue, int seed = 42, int xBorder = 8, int yBorder = 8)
     {
-        var rnd = new Random(seed);
+        Random rnd = new Random(seed);
         float[] result = new float[64];
         for (int y = 0; y < yBorder; y++)
         {
@@ -112,7 +112,7 @@ internal static Block8x8F CreateRandomFloatBlock(float minValue, float maxValue,
 
     internal void Print8x8Data<T>(Span<T> data)
     {
-        var bld = new StringBuilder();
+        StringBuilder bld = new StringBuilder();
         for (int i = 0; i < 8; i++)
         {
             for (int j = 0; j < 8; j++)
@@ -135,7 +135,7 @@ internal void PrintLinearData<T>(Span<T> data, int count = -1)
             count = data.Length;
         }
 
-        var sb = new StringBuilder();
+        StringBuilder sb = new StringBuilder();
         for (int i = 0; i < count; i++)
         {
             sb.Append($"{data[i],3} ");
@@ -158,7 +158,7 @@ internal void CompareBlocks(Block8x8F a, Block8x8F b, float tolerance)
 
     internal void CompareBlocks(Span<float> a, Span<float> b, float tolerance)
     {
-        var comparer = new ApproximateFloatComparer(tolerance);
+        ApproximateFloatComparer comparer = new ApproximateFloatComparer(tolerance);
         double totalDifference = 0.0;
 
         bool failed = false;
@@ -192,7 +192,7 @@ internal static bool CompareBlocks(Block8x8F a, Block8x8F b, float tolerance, ou
 
     internal static bool CompareBlocks(Span<float> a, Span<float> b, float tolerance, out float diff)
     {
-        var comparer = new ApproximateFloatComparer(tolerance);
+        ApproximateFloatComparer comparer = new ApproximateFloatComparer(tolerance);
         bool failed = false;
 
         diff = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs
index bd1df33772..a8f91aa4cd 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs
@@ -65,7 +65,7 @@ public static void RunDumpJpegCoeffsTool(string sourceFile, string destFile)
         }
 
         string args = $@"""{sourceFile}"" ""{destFile}""";
-        var process = new Process
+        Process process = new Process
         {
             StartInfo =
                                   {
@@ -95,21 +95,21 @@ public static SpectralData ExtractSpectralData(string inputFile)
         {
             RunDumpJpegCoeffsTool(testFile.FullPath, coeffFileFullPath);
 
-            using (var dumpStream = new FileStream(coeffFileFullPath, FileMode.Open))
-            using (var rdr = new BinaryReader(dumpStream))
+            using (FileStream dumpStream = new FileStream(coeffFileFullPath, FileMode.Open))
+            using (BinaryReader rdr = new BinaryReader(dumpStream))
             {
                 int componentCount = rdr.ReadInt16();
-                var result = new ComponentData[componentCount];
+                ComponentData[] result = new ComponentData[componentCount];
 
                 for (int i = 0; i < componentCount; i++)
                 {
                     int widthInBlocks = rdr.ReadInt16();
                     int heightInBlocks = rdr.ReadInt16();
-                    var resultComponent = new ComponentData(widthInBlocks, heightInBlocks, i);
+                    ComponentData resultComponent = new ComponentData(widthInBlocks, heightInBlocks, i);
                     result[i] = resultComponent;
                 }
 
-                var buffer = new byte[64 * sizeof(short)];
+                byte[] buffer = new byte[64 * sizeof(short)];
 
                 for (int i = 0; i < result.Length; i++)
                 {
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.AccurateDCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.AccurateDCT.cs
index b6e7b29a62..2d4db15dfc 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.AccurateDCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.AccurateDCT.cs
@@ -30,7 +30,7 @@ public static Block8x8 TransformIDCT(ref Block8x8 block)
 
         public static void TransformIDCTInplace(Span<int> span)
         {
-            var temp = default(Block8x8);
+            Block8x8 temp = default(Block8x8);
             temp.LoadFrom(span);
             Block8x8 result = TransformIDCT(ref temp);
             result.CopyTo(span);
@@ -45,7 +45,7 @@ public static Block8x8 TransformFDCT(ref Block8x8 block)
 
         public static void TransformFDCTInplace(Span<int> span)
         {
-            var temp = default(Block8x8);
+            Block8x8 temp = default(Block8x8);
             temp.LoadFrom(span);
             Block8x8 result = TransformFDCT(ref temp);
             result.CopyTo(span);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
index 0d5f3114d1..74b89f3976 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
@@ -208,8 +208,8 @@ public static void FDCT2D8x4_32f(Span<float> s, Span<float> d)
             /*y[0] = c0 + c1;
             y[4] = c0 - c1;*/
 
-            var w0 = new Vector4(0.541196f);
-            var w1 = new Vector4(1.306563f);
+            Vector4 w0 = new Vector4(0.541196f);
+            Vector4 w1 = new Vector4(1.306563f);
 
             _mm_store_ps(d, 16, (w0 * c2) + (w1 * c3));
 
@@ -242,7 +242,7 @@ public static void FDCT2D8x4_32f(Span<float> s, Span<float> d)
             _mm_store_ps(d, 40, c3 - c1);
 
             // y[5] = c3 - c1; y[3] = c0 - c2;
-            var invsqrt2 = new Vector4(0.707107f);
+            Vector4 invsqrt2 = new Vector4(0.707107f);
             c0 = (c0 + c2) * invsqrt2;
             c3 = (c3 + c1) * invsqrt2;
 
@@ -272,7 +272,7 @@ public static void FDCT8x8_llm_sse(Span<float> s, Span<float> d, Span<float> tem
 
             FDCT2D8x4_32f(temp.Slice(4), d.Slice(4));
 
-            var c = new Vector4(0.1250f);
+            Vector4 c = new Vector4(0.1250f);
 
 #pragma warning disable SA1107 // Code should not contain multiple statements on one line
             _mm_store_ps(d, 0, _mm_load_ps(d, 0) * c); d = d.Slice(4); // 0
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.StandardIntegerDCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.StandardIntegerDCT.cs
index 95ab076b0b..10019c609e 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.StandardIntegerDCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.StandardIntegerDCT.cs
@@ -71,10 +71,10 @@ public static class StandardIntegerDCT
 
         public static Block8x8 Subtract128_TransformFDCT_Upscale8(ref Block8x8 block)
         {
-            var temp = new int[Block8x8.Size];
+            int[] temp = new int[Block8x8.Size];
             block.CopyTo(temp);
             Subtract128_TransformFDCT_Upscale8_Inplace(temp);
-            var result = default(Block8x8);
+            Block8x8 result = default(Block8x8);
             result.LoadFrom(temp);
             return result;
         }
@@ -82,10 +82,10 @@ public static Block8x8 Subtract128_TransformFDCT_Upscale8(ref Block8x8 block)
         // [Obsolete("Looks like this method produces really bad results for bigger values!")]
         public static Block8x8 TransformIDCT(ref Block8x8 block)
         {
-            var temp = new int[Block8x8.Size];
+            int[] temp = new int[Block8x8.Size];
             block.CopyTo(temp);
             TransformIDCTInplace(temp);
-            var result = default(Block8x8);
+            Block8x8 result = default(Block8x8);
             result.LoadFrom(temp);
             return result;
         }
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/SpanExtensions.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/SpanExtensions.cs
index 240a338f9b..d7c2c0bbbb 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/SpanExtensions.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/SpanExtensions.cs
@@ -74,7 +74,7 @@ public static void LoadFrom(this Span<int> data, ref Vector4 v)
     /// <returns>A new <see cref="Span{T}"/> with float values</returns>
     public static float[] ConvertAllToFloat(this int[] src)
     {
-        var result = new float[src.Length];
+        float[] result = new float[src.Length];
         for (int i = 0; i < src.Length; i++)
         {
             result[i] = src[i];
@@ -91,7 +91,7 @@ public static float[] ConvertAllToFloat(this int[] src)
     /// <returns>A new instance of <see cref="Span{T}"/></returns>
     public static Span<float> AddScalarToAllValues(this Span<float> src, float scalar)
     {
-        var result = new float[src.Length];
+        float[] result = new float[src.Length];
         for (int i = 0; i < src.Length; i++)
         {
             result[i] = src[i] + scalar;
@@ -108,7 +108,7 @@ public static Span<float> AddScalarToAllValues(this Span<float> src, float scala
     /// <returns>A new instance of <see cref="Span{T}"/></returns>
     public static Span<int> AddScalarToAllValues(this Span<int> src, int scalar)
     {
-        var result = new int[src.Length];
+        int[] result = new int[src.Length];
         for (int i = 0; i < src.Length; i++)
         {
             result[i] = src[i] + scalar;
diff --git a/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs
index 11dd1cd58c..dc69c09a00 100644
--- a/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs
@@ -29,11 +29,11 @@ public class PbmDecoderTests
     public void ImageLoadCanDecode(string imagePath, PbmColorType expectedColorType, PbmComponentType expectedComponentType)
     {
         // Arrange
-        var testFile = TestFile.Create(imagePath);
-        using var stream = new MemoryStream(testFile.Bytes, false);
+        TestFile testFile = TestFile.Create(imagePath);
+        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
 
         // Act
-        using var image = Image.Load(stream);
+        using Image image = Image.Load(stream);
 
         // Assert
         Assert.NotNull(image);
@@ -53,11 +53,11 @@ public void ImageLoadCanDecode(string imagePath, PbmColorType expectedColorType,
     public void ImageLoadL8CanDecode(string imagePath)
     {
         // Arrange
-        var testFile = TestFile.Create(imagePath);
-        using var stream = new MemoryStream(testFile.Bytes, false);
+        TestFile testFile = TestFile.Create(imagePath);
+        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
 
         // Act
-        using var image = Image.Load<L8>(stream);
+        using Image<L8> image = Image.Load<L8>(stream);
 
         // Assert
         Assert.NotNull(image);
@@ -70,11 +70,11 @@ public void ImageLoadL8CanDecode(string imagePath)
     public void ImageLoadRgb24CanDecode(string imagePath)
     {
         // Arrange
-        var testFile = TestFile.Create(imagePath);
-        using var stream = new MemoryStream(testFile.Bytes, false);
+        TestFile testFile = TestFile.Create(imagePath);
+        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
 
         // Act
-        using var image = Image.Load<Rgb24>(stream);
+        using Image<Rgb24> image = Image.Load<Rgb24>(stream);
 
         // Assert
         Assert.NotNull(image);
diff --git a/tests/ImageSharp.Tests/Formats/Pbm/PbmEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Pbm/PbmEncoderTests.cs
index 05f1d963b2..0501ed2b25 100644
--- a/tests/ImageSharp.Tests/Formats/Pbm/PbmEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Pbm/PbmEncoderTests.cs
@@ -38,16 +38,16 @@ public class PbmEncoderTests
     [MemberData(nameof(PbmColorTypeFiles))]
     public void PbmEncoder_PreserveColorType(string imagePath, PbmColorType pbmColorType)
     {
-        var options = new PbmEncoder();
+        PbmEncoder options = new PbmEncoder();
 
-        var testFile = TestFile.Create(imagePath);
+        TestFile testFile = TestFile.Create(imagePath);
         using (Image<Rgba32> input = testFile.CreateRgba32Image())
         {
-            using (var memStream = new MemoryStream())
+            using (MemoryStream memStream = new MemoryStream())
             {
                 input.Save(memStream, options);
                 memStream.Position = 0;
-                using (var output = Image.Load<Rgba32>(memStream))
+                using (Image<Rgba32> output = Image.Load<Rgba32>(memStream))
                 {
                     PbmMetadata meta = output.Metadata.GetPbmMetadata();
                     Assert.Equal(pbmColorType, meta.ColorType);
@@ -60,15 +60,15 @@ public void PbmEncoder_PreserveColorType(string imagePath, PbmColorType pbmColor
     [MemberData(nameof(PbmColorTypeFiles))]
     public void PbmEncoder_WithPlainEncoding_PreserveBitsPerPixel(string imagePath, PbmColorType pbmColorType)
     {
-        var options = new PbmEncoder()
+        PbmEncoder options = new PbmEncoder()
         {
             Encoding = PbmEncoding.Plain
         };
 
-        var testFile = TestFile.Create(imagePath);
+        TestFile testFile = TestFile.Create(imagePath);
         using (Image<Rgba32> input = testFile.CreateRgba32Image())
         {
-            using (var memStream = new MemoryStream())
+            using (MemoryStream memStream = new MemoryStream())
             {
                 input.Save(memStream, options);
 
@@ -78,7 +78,7 @@ public void PbmEncoder_WithPlainEncoding_PreserveBitsPerPixel(string imagePath,
                 Assert.Equal(0x20, lastByte);
 
                 memStream.Seek(0, SeekOrigin.Begin);
-                using (var output = Image.Load<Rgba32>(memStream))
+                using (Image<Rgba32> output = Image.Load<Rgba32>(memStream))
                 {
                     PbmMetadata meta = output.Metadata.GetPbmMetadata();
                     Assert.Equal(pbmColorType, meta.ColorType);
@@ -132,13 +132,13 @@ private static void TestPbmEncoderCore<TPixel>(
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            var encoder = new PbmEncoder { ColorType = colorType, Encoding = encoding };
+            PbmEncoder encoder = new PbmEncoder { ColorType = colorType, Encoding = encoding };
 
-            using (var memStream = new MemoryStream())
+            using (MemoryStream memStream = new MemoryStream())
             {
                 image.Save(memStream, encoder);
                 memStream.Position = 0;
-                using (var encodedImage = (Image<TPixel>)Image.Load(memStream))
+                using (Image<TPixel> encodedImage = (Image<TPixel>)Image.Load(memStream))
                 {
                     ImageComparingUtils.CompareWithReferenceDecoder(provider, encodedImage, useExactComparer, compareTolerance);
                 }
diff --git a/tests/ImageSharp.Tests/Formats/Pbm/PbmRoundTripTests.cs b/tests/ImageSharp.Tests/Formats/Pbm/PbmRoundTripTests.cs
index b7ce32ed8f..f7c6dc1714 100644
--- a/tests/ImageSharp.Tests/Formats/Pbm/PbmRoundTripTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Pbm/PbmRoundTripTests.cs
@@ -21,11 +21,11 @@ public class PbmRoundTripTests
     public void PbmGrayscaleImageCanRoundTrip(string imagePath)
     {
         // Arrange
-        var testFile = TestFile.Create(imagePath);
-        using var stream = new MemoryStream(testFile.Bytes, false);
+        TestFile testFile = TestFile.Create(imagePath);
+        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
 
         // Act
-        using var originalImage = Image.Load(stream);
+        using Image originalImage = Image.Load(stream);
         using Image<Rgb24> colorImage = originalImage.CloneAs<Rgb24>();
         using Image<Rgb24> encodedImage = this.RoundTrip(colorImage);
 
@@ -42,11 +42,11 @@ public void PbmGrayscaleImageCanRoundTrip(string imagePath)
     public void PbmColorImageCanRoundTrip(string imagePath)
     {
         // Arrange
-        var testFile = TestFile.Create(imagePath);
-        using var stream = new MemoryStream(testFile.Bytes, false);
+        TestFile testFile = TestFile.Create(imagePath);
+        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
 
         // Act
-        using var originalImage = Image.Load<Rgb24>(stream);
+        using Image<Rgb24> originalImage = Image.Load<Rgb24>(stream);
         using Image<Rgb24> encodedImage = this.RoundTrip(originalImage);
 
         // Assert
@@ -57,10 +57,10 @@ public void PbmColorImageCanRoundTrip(string imagePath)
     private Image<TPixel> RoundTrip<TPixel>(Image<TPixel> originalImage)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        using var decodedStream = new MemoryStream();
+        using MemoryStream decodedStream = new MemoryStream();
         originalImage.SaveAsPbm(decodedStream);
         decodedStream.Seek(0, SeekOrigin.Begin);
-        var encodedImage = Image.Load<TPixel>(decodedStream);
+        Image<TPixel> encodedImage = Image.Load<TPixel>(decodedStream);
         return encodedImage;
     }
 }
diff --git a/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs b/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs
index 1b66c4cc3c..6e03042fad 100644
--- a/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs
@@ -30,7 +30,7 @@ private static void CalculateAdlerAndCompareToReference(int length)
     {
         // arrange
         byte[] data = GetBuffer(length);
-        var adler = new SharpAdler32();
+        SharpAdler32 adler = new SharpAdler32();
         adler.Update(data);
         long expected = adler.Value;
 
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs
index aff8bc12a2..71523d5b6f 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs
@@ -64,7 +64,7 @@ public void Decode_IncorrectCRCForCriticalChunk_ExceptionIsThrown(uint chunkType
     {
         string chunkName = GetChunkTypeName(chunkType);
 
-        using (var memStream = new MemoryStream())
+        using (MemoryStream memStream = new MemoryStream())
         {
             WriteHeaderChunk(memStream);
             WriteChunk(memStream, chunkName);
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
index 796d35bf72..9ce1a9386e 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
@@ -31,7 +31,7 @@ public void Average()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Average, Size);
+            TestData data = new TestData(PngFilterMethod.Average, Size);
             data.TestFilter();
         }
 
@@ -45,7 +45,7 @@ public void AverageSse2()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Average, Size);
+            TestData data = new TestData(PngFilterMethod.Average, Size);
             data.TestFilter();
         }
 
@@ -59,7 +59,7 @@ public void AverageSsse3()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Average, Size);
+            TestData data = new TestData(PngFilterMethod.Average, Size);
             data.TestFilter();
         }
 
@@ -73,7 +73,7 @@ public void AverageAvx2()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Average, Size);
+            TestData data = new TestData(PngFilterMethod.Average, Size);
             data.TestFilter();
         }
 
@@ -87,7 +87,7 @@ public void Paeth()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Paeth, Size);
+            TestData data = new TestData(PngFilterMethod.Paeth, Size);
             data.TestFilter();
         }
 
@@ -101,7 +101,7 @@ public void PaethAvx2()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Paeth, Size);
+            TestData data = new TestData(PngFilterMethod.Paeth, Size);
             data.TestFilter();
         }
 
@@ -115,7 +115,7 @@ public void PaethVector()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Paeth, Size);
+            TestData data = new TestData(PngFilterMethod.Paeth, Size);
             data.TestFilter();
         }
 
@@ -129,7 +129,7 @@ public void Up()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Up, Size);
+            TestData data = new TestData(PngFilterMethod.Up, Size);
             data.TestFilter();
         }
 
@@ -143,7 +143,7 @@ public void UpAvx2()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Up, Size);
+            TestData data = new TestData(PngFilterMethod.Up, Size);
             data.TestFilter();
         }
 
@@ -157,7 +157,7 @@ public void UpVector()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Up, Size);
+            TestData data = new TestData(PngFilterMethod.Up, Size);
             data.TestFilter();
         }
 
@@ -171,7 +171,7 @@ public void Sub()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Sub, Size);
+            TestData data = new TestData(PngFilterMethod.Sub, Size);
             data.TestFilter();
         }
 
@@ -185,7 +185,7 @@ public void SubAvx2()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Sub, Size);
+            TestData data = new TestData(PngFilterMethod.Sub, Size);
             data.TestFilter();
         }
 
@@ -199,7 +199,7 @@ public void SubVector()
     {
         static void RunTest()
         {
-            var data = new TestData(PngFilterMethod.Sub, Size);
+            TestData data = new TestData(PngFilterMethod.Sub, Size);
             data.TestFilter();
         }
 
@@ -227,7 +227,7 @@ public TestData(PngFilterMethod filter, int size, int bpp = 4)
             this.expectedResult = new byte[1 + (size * size * bpp)];
             this.resultBuffer = new byte[1 + (size * size * bpp)];
 
-            var rng = new Random(12345678);
+            Random rng = new Random(12345678);
             byte[] tmp = new byte[6];
             for (int i = 0; i < this.previousScanline.Length; i += bpp)
             {
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngTextDataTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngTextDataTests.cs
index 878f3fb8d4..d101b24822 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngTextDataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngTextDataTests.cs
@@ -17,8 +17,8 @@ public class PngTextDataTests
     [Fact]
     public void AreEqual()
     {
-        var property1 = new PngTextData("Foo", "Bar", "foo", "bar");
-        var property2 = new PngTextData("Foo", "Bar", "foo", "bar");
+        PngTextData property1 = new PngTextData("Foo", "Bar", "foo", "bar");
+        PngTextData property2 = new PngTextData("Foo", "Bar", "foo", "bar");
 
         Assert.Equal(property1, property2);
         Assert.True(property1 == property2);
@@ -30,10 +30,10 @@ public void AreEqual()
     [Fact]
     public void AreNotEqual()
     {
-        var property1 = new PngTextData("Foo", "Bar", "foo", "bar");
-        var property2 = new PngTextData("Foo", "Foo", string.Empty, string.Empty);
-        var property3 = new PngTextData("Bar", "Bar", "unit", "test");
-        var property4 = new PngTextData("Foo", null, "test", "case");
+        PngTextData property1 = new PngTextData("Foo", "Bar", "foo", "bar");
+        PngTextData property2 = new PngTextData("Foo", "Foo", string.Empty, string.Empty);
+        PngTextData property3 = new PngTextData("Bar", "Bar", "unit", "test");
+        PngTextData property4 = new PngTextData("Foo", null, "test", "case");
 
         Assert.NotEqual(property1, property2);
         Assert.True(property1 != property2);
@@ -59,7 +59,7 @@ public void ConstructorThrowsWhenKeywordIsNullOrEmpty()
     [Fact]
     public void ConstructorAssignsProperties()
     {
-        var property = new PngTextData("Foo", null, "unit", "test");
+        PngTextData property = new PngTextData("Foo", null, "unit", "test");
         Assert.Equal("Foo", property.Keyword);
         Assert.Null(property.Value);
         Assert.Equal("unit", property.LanguageTag);
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/BigTiffMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/BigTiffMetadataTests.cs
index 4646de7f82..7667e2a95f 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/BigTiffMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/BigTiffMetadataTests.cs
@@ -16,7 +16,7 @@ public class BigTiffMetadataTests
     [Fact]
     public void ExifLong8()
     {
-        var long8 = new ExifLong8(ExifTagValue.StripByteCounts);
+        ExifLong8 long8 = new ExifLong8(ExifTagValue.StripByteCounts);
 
         Assert.True(long8.TrySetValue(0));
         Assert.Equal(0UL, long8.GetValue());
@@ -34,7 +34,7 @@ public void ExifLong8()
     [Fact]
     public void ExifSignedLong8()
     {
-        var long8 = new ExifSignedLong8(ExifTagValue.ImageID);
+        ExifSignedLong8 long8 = new ExifSignedLong8(ExifTagValue.ImageID);
 
         Assert.False(long8.TrySetValue(0));
 
@@ -53,7 +53,7 @@ public void ExifSignedLong8()
     [Fact]
     public void ExifLong8Array()
     {
-        var long8 = new ExifLong8Array(ExifTagValue.StripOffsets);
+        ExifLong8Array long8 = new ExifLong8Array(ExifTagValue.StripOffsets);
 
         Assert.True(long8.TrySetValue((short)-123));
         Assert.Equal(new[] { 0UL }, long8.GetValue());
@@ -91,7 +91,7 @@ public void ExifLong8Array()
     [Fact]
     public void ExifSignedLong8Array()
     {
-        var long8 = new ExifSignedLong8Array(ExifTagValue.StripOffsets);
+        ExifSignedLong8Array long8 = new ExifSignedLong8Array(ExifTagValue.StripOffsets);
 
         Assert.True(long8.TrySetValue(new[] { 0L }));
         Assert.Equal(new[] { 0L }, long8.GetValue());
@@ -105,9 +105,9 @@ public void ExifSignedLong8Array()
     [Fact]
     public void NotCoveredTags()
     {
-        using var input = new Image<Rgba32>(10, 10);
+        using Image<Rgba32> input = new Image<Rgba32>(10, 10);
 
-        var testTags = new Dictionary<ExifTag, (ExifDataType DataType, object Value)>
+        Dictionary<ExifTag, (ExifDataType DataType, object Value)> testTags = new Dictionary<ExifTag, (ExifDataType DataType, object Value)>
         {
             { new ExifTag<float[]>((ExifTagValue)0xdd01), (ExifDataType.SingleFloat, new float[] { 1.2f, 2.3f, 4.5f }) },
             { new ExifTag<float>((ExifTagValue)0xdd02), (ExifDataType.SingleFloat, 2.345f) },
@@ -122,7 +122,7 @@ public void NotCoveredTags()
         };
 
         // arrange
-        var values = new List<IExifValue>();
+        List<IExifValue> values = new List<IExifValue>();
         foreach (KeyValuePair<ExifTag, (ExifDataType DataType, object Value)> tag in testTags)
         {
             ExifValue newExifValue = ExifValues.Create((ExifTagValue)(ushort)tag.Key, tag.Value.DataType, tag.Value.Value is Array);
@@ -134,13 +134,13 @@ public void NotCoveredTags()
         input.Frames.RootFrame.Metadata.ExifProfile = new ExifProfile(values, Array.Empty<ExifTag>());
 
         // act
-        var encoder = new TiffEncoder();
-        using var memStream = new MemoryStream();
+        TiffEncoder encoder = new TiffEncoder();
+        using MemoryStream memStream = new MemoryStream();
         input.Save(memStream, encoder);
 
         // assert
         memStream.Position = 0;
-        using var output = Image.Load<Rgba32>(memStream);
+        using Image<Rgba32> output = Image.Load<Rgba32>(memStream);
         ImageFrameMetadata loadedFrameMetadata = output.Frames.RootFrame.Metadata;
         foreach (KeyValuePair<ExifTag, (ExifDataType DataType, object Value)> tag in testTags)
         {
@@ -158,7 +158,7 @@ public void NotCoveredTags()
     [Fact]
     public void NotCoveredTags64bit()
     {
-        var testTags = new Dictionary<ExifTag, (ExifDataType DataType, object Value)>
+        Dictionary<ExifTag, (ExifDataType DataType, object Value)> testTags = new Dictionary<ExifTag, (ExifDataType DataType, object Value)>
         {
             { new ExifTag<ulong>((ExifTagValue)0xdd11), (ExifDataType.Long8, ulong.MaxValue) },
             { new ExifTag<long>((ExifTagValue)0xdd12), (ExifDataType.SignedLong8, long.MaxValue) },
@@ -167,7 +167,7 @@ public void NotCoveredTags64bit()
             ////{ new ExifTag<long[]>((ExifTagValue)0xdd14), (ExifDataType.SignedLong8, new long[] { -1234, 56789L, long.MaxValue }) },
         };
 
-        var values = new List<IExifValue>();
+        List<IExifValue> values = new List<IExifValue>();
         foreach (KeyValuePair<ExifTag, (ExifDataType DataType, object Value)> tag in testTags)
         {
             ExifValue newExifValue = ExifValues.Create((ExifTagValue)(ushort)tag.Key, tag.Value.DataType, tag.Value.Value is Array);
@@ -179,7 +179,7 @@ public void NotCoveredTags64bit()
         // act
         byte[] inputBytes = WriteIfdTags64Bit(values);
         Configuration config = Configuration.Default;
-        var reader = new EntryReader(
+        EntryReader reader = new EntryReader(
             new MemoryStream(inputBytes),
             BitConverter.IsLittleEndian ? ByteOrder.LittleEndian : ByteOrder.BigEndian,
             config.MemoryAllocator);
@@ -205,8 +205,8 @@ public void NotCoveredTags64bit()
     private static byte[] WriteIfdTags64Bit(List<IExifValue> values)
     {
         byte[] buffer = new byte[8];
-        var ms = new MemoryStream();
-        var writer = new TiffStreamWriter(ms);
+        MemoryStream ms = new MemoryStream();
+        TiffStreamWriter writer = new TiffStreamWriter(ms);
         WriteLong8(writer, buffer, (ulong)values.Count);
 
         foreach (IExifValue entry in values)
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Compression/DeflateTiffCompressionTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Compression/DeflateTiffCompressionTests.cs
index 1b12adac23..9be81489b0 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Compression/DeflateTiffCompressionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Compression/DeflateTiffCompressionTests.cs
@@ -23,7 +23,7 @@ public void Compress_Decompress_Roundtrip_Works(byte[] data)
         using BufferedReadStream stream = CreateCompressedStream(data);
         byte[] buffer = new byte[data.Length];
 
-        using var decompressor = new DeflateTiffCompression(Configuration.Default.MemoryAllocator, 10, 8, TiffColorType.BlackIsZero8, TiffPredictor.None, false);
+        using DeflateTiffCompression decompressor = new DeflateTiffCompression(Configuration.Default.MemoryAllocator, 10, 8, TiffColorType.BlackIsZero8, TiffPredictor.None, false);
 
         decompressor.Decompress(stream, 0, (uint)stream.Length, 1, buffer, default);
 
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Compression/LzwTiffCompressionTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Compression/LzwTiffCompressionTests.cs
index 635a3a33e4..31a1cba597 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Compression/LzwTiffCompressionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Compression/LzwTiffCompressionTests.cs
@@ -37,7 +37,7 @@ public void Compress_Decompress_Roundtrip_Works(byte[] data)
         using BufferedReadStream stream = CreateCompressedStream(data);
         byte[] buffer = new byte[data.Length];
 
-        using var decompressor = new LzwTiffCompression(Configuration.Default.MemoryAllocator, 10, 8, TiffColorType.BlackIsZero8, TiffPredictor.None, false);
+        using LzwTiffCompression decompressor = new LzwTiffCompression(Configuration.Default.MemoryAllocator, 10, 8, TiffColorType.BlackIsZero8, TiffPredictor.None, false);
         decompressor.Decompress(stream, 0, (uint)stream.Length, 1, buffer, default);
 
         Assert.Equal(data, buffer);
@@ -47,7 +47,7 @@ private static BufferedReadStream CreateCompressedStream(byte[] inputData)
     {
         Stream compressedStream = new MemoryStream();
 
-        using (var encoder = new TiffLzwEncoder(Configuration.Default.MemoryAllocator))
+        using (TiffLzwEncoder encoder = new TiffLzwEncoder(Configuration.Default.MemoryAllocator))
         {
             encoder.Encode(inputData, compressedStream);
         }
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Compression/NoneTiffCompressionTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Compression/NoneTiffCompressionTests.cs
index e79ed7ce77..0a2726c21e 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Compression/NoneTiffCompressionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Compression/NoneTiffCompressionTests.cs
@@ -14,11 +14,11 @@ public class NoneTiffCompressionTests
     [InlineData(new byte[] { 10, 15, 20, 25, 30, 35, 40, 45 }, 5, new byte[] { 10, 15, 20, 25, 30 })]
     public void Decompress_ReadsData(byte[] inputData, uint byteCount, byte[] expectedResult)
     {
-        using var memoryStream = new MemoryStream(inputData);
-        using var stream = new BufferedReadStream(Configuration.Default, memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(inputData);
+        using BufferedReadStream stream = new BufferedReadStream(Configuration.Default, memoryStream);
         byte[] buffer = new byte[expectedResult.Length];
 
-        using var decompressor = new NoneTiffCompression(default, default, default);
+        using NoneTiffCompression decompressor = new NoneTiffCompression(default, default, default);
         decompressor.Decompress(stream, 0, byteCount, 1, buffer, default);
 
         Assert.Equal(expectedResult, buffer);
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Compression/PackBitsTiffCompressionTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Compression/PackBitsTiffCompressionTests.cs
index c91ab0e7fe..f5fbcb2e1f 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Compression/PackBitsTiffCompressionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Compression/PackBitsTiffCompressionTests.cs
@@ -22,11 +22,11 @@ public class PackBitsTiffCompressionTests
     [InlineData(new byte[] { 0xFE, 0xAA, 0x02, 0x80, 0x00, 0x2A, 0xFD, 0xAA, 0x03, 0x80, 0x00, 0x2A, 0x22, 0xF7, 0xAA }, new byte[] { 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0xAA, 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0x22, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA })] // Apple PackBits sample
     public void Decompress_ReadsData(byte[] inputData, byte[] expectedResult)
     {
-        using var memoryStream = new MemoryStream(inputData);
-        using var stream = new BufferedReadStream(Configuration.Default, memoryStream);
+        using MemoryStream memoryStream = new MemoryStream(inputData);
+        using BufferedReadStream stream = new BufferedReadStream(Configuration.Default, memoryStream);
         byte[] buffer = new byte[expectedResult.Length];
 
-        using var decompressor = new PackBitsTiffCompression(MemoryAllocator.Create(), default, default);
+        using PackBitsTiffCompression decompressor = new PackBitsTiffCompression(MemoryAllocator.Create(), default, default);
         decompressor.Decompress(stream, 0, (uint)inputData.Length, 1, buffer, default);
 
         Assert.Equal(expectedResult, buffer);
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PaletteTiffColorTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PaletteTiffColorTests.cs
index c809c6c7f9..13be77a29b 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PaletteTiffColorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PaletteTiffColorTests.cs
@@ -88,7 +88,7 @@ public void Decode_WritesPixelData(byte[] inputData, ushort bitsPerSample, ushor
 
     private static uint[][] GeneratePalette(int count)
     {
-        var palette = new uint[count][];
+        uint[][] palette = new uint[count][];
 
         for (uint i = 0; i < count; i++)
         {
@@ -101,7 +101,7 @@ private static uint[][] GeneratePalette(int count)
     private static ushort[] GenerateColorMap(uint[][] colorPalette)
     {
         int colorCount = colorPalette.Length;
-        var colorMap = new ushort[colorCount * 3];
+        ushort[] colorMap = new ushort[colorCount * 3];
 
         for (int i = 0; i < colorCount; i++)
         {
@@ -115,7 +115,7 @@ private static ushort[] GenerateColorMap(uint[][] colorPalette)
 
     private static Rgba32[][] GenerateResult(uint[][] colorPalette, int[][] pixelLookup)
     {
-        var result = new Rgba32[pixelLookup.Length][];
+        Rgba32[][] result = new Rgba32[pixelLookup.Length][];
 
         for (int y = 0; y < pixelLookup.Length; y++)
         {
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PhotometricInterpretationTestBase.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PhotometricInterpretationTestBase.cs
index 3582dc75a6..ef57b288ce 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PhotometricInterpretationTestBase.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PhotometricInterpretationTestBase.cs
@@ -17,7 +17,7 @@ public static Rgba32[][] Offset(Rgba32[][] input, int xOffset, int yOffset, int
         int inputHeight = input.Length;
         int inputWidth = input[0].Length;
 
-        var output = new Rgba32[height][];
+        Rgba32[][] output = new Rgba32[height][];
 
         for (int y = 0; y < output.Length; y++)
         {
@@ -45,7 +45,7 @@ internal static void AssertDecode(Rgba32[][] expectedResult, Action<Buffer2D<Rgb
         int resultWidth = expectedResult[0].Length;
         int resultHeight = expectedResult.Length;
 
-        using (var image = new Image<Rgba32>(resultWidth, resultHeight))
+        using (Image<Rgba32> image = new Image<Rgba32>(resultWidth, resultHeight))
         {
             image.Mutate(x => x.BackgroundColor(Color.FromPixel(DefaultColor)));
             Buffer2D<Rgba32> pixels = image.GetRootFramePixelBuffer();
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColorTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColorTests.cs
index d8249c3619..6e0d5b2be0 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColorTests.cs
@@ -251,7 +251,7 @@ public void Decode_WritesPixelData(
             expectedResult,
             pixels =>
             {
-                var buffers = new IMemoryOwner<byte>[inputData.Length];
+                IMemoryOwner<byte>[] buffers = new IMemoryOwner<byte>[inputData.Length];
                 for (int i = 0; i < buffers.Length; i++)
                 {
                     buffers[i] = Configuration.Default.MemoryAllocator.Allocate<byte>(inputData[i].Length);
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderBaseTester.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderBaseTester.cs
index 1bf9f5a400..70ba2e5dff 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderBaseTester.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderBaseTester.cs
@@ -26,9 +26,9 @@ protected static void TestStripLength<TPixel>(
         where TPixel : unmanaged, IPixel<TPixel>
     {
         // arrange
-        var tiffEncoder = new TiffEncoder() { PhotometricInterpretation = photometricInterpretation, Compression = compression };
+        TiffEncoder tiffEncoder = new TiffEncoder() { PhotometricInterpretation = photometricInterpretation, Compression = compression };
         using Image<TPixel> input = provider.GetImage();
-        using var memStream = new MemoryStream();
+        using MemoryStream memStream = new MemoryStream();
         TiffFrameMetadata inputMeta = input.Frames.RootFrame.Metadata.GetTiffMetadata();
         TiffCompression inputCompression = inputMeta.Compression;
 
@@ -37,7 +37,7 @@ protected static void TestStripLength<TPixel>(
 
         // assert
         memStream.Position = 0;
-        using var output = Image.Load<Rgba32>(memStream);
+        using Image<Rgba32> output = Image.Load<Rgba32>(memStream);
         ExifProfile exifProfileOutput = output.Frames.RootFrame.Metadata.ExifProfile;
         TiffFrameMetadata outputMeta = output.Frames.RootFrame.Metadata.GetTiffMetadata();
         ImageFrame<Rgba32> rootFrame = output.Frames.RootFrame;
@@ -89,7 +89,7 @@ protected static void TestTiffEncoderCore<TPixel>(
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        var encoder = new TiffEncoder
+        TiffEncoder encoder = new TiffEncoder
         {
             PhotometricInterpretation = photometricInterpretation,
             BitsPerPixel = bitsPerPixel,
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderMultiframeTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderMultiframeTests.cs
index 716b978a71..a138d9ef87 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderMultiframeTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderMultiframeTests.cs
@@ -46,7 +46,7 @@ public void TiffEncoder_EncodeMultiframe_RemoveFrames<TPixel>(TestImageProvider<
         image.Frames.RemoveFrame(0);
 
         TiffBitsPerPixel bitsPerPixel = TiffBitsPerPixel.Bit24;
-        var encoder = new TiffEncoder
+        TiffEncoder encoder = new TiffEncoder
         {
             PhotometricInterpretation = TiffPhotometricInterpretation.Rgb,
             BitsPerPixel = bitsPerPixel,
@@ -69,27 +69,27 @@ public void TiffEncoder_EncodeMultiframe_AddFrames<TPixel>(TestImageProvider<TPi
         using Image<TPixel> image = provider.GetImage();
         Assert.Equal(1, image.Frames.Count);
 
-        using var image1 = new Image<Rgba32>(image.Width, image.Height, Color.Green.ToPixel<Rgba32>());
+        using Image<Rgba32> image1 = new Image<Rgba32>(image.Width, image.Height, Color.Green.ToPixel<Rgba32>());
 
-        using var image2 = new Image<Rgba32>(image.Width, image.Height, Color.Yellow.ToPixel<Rgba32>());
+        using Image<Rgba32> image2 = new Image<Rgba32>(image.Width, image.Height, Color.Yellow.ToPixel<Rgba32>());
 
         image.Frames.AddFrame(image1.Frames.RootFrame);
         image.Frames.AddFrame(image2.Frames.RootFrame);
 
         TiffBitsPerPixel bitsPerPixel = TiffBitsPerPixel.Bit24;
-        var encoder = new TiffEncoder
+        TiffEncoder encoder = new TiffEncoder
         {
             PhotometricInterpretation = TiffPhotometricInterpretation.Rgb,
             BitsPerPixel = bitsPerPixel,
             Compression = TiffCompression.Deflate
         };
 
-        using (var ms = new System.IO.MemoryStream())
+        using (MemoryStream ms = new System.IO.MemoryStream())
         {
             image.Save(ms, encoder);
 
             ms.Position = 0;
-            using var output = Image.Load<Rgba32>(ms);
+            using Image<Rgba32> output = Image.Load<Rgba32>(ms);
 
             Assert.Equal(3, output.Frames.Count);
 
@@ -121,11 +121,11 @@ public void TiffEncoder_EncodeMultiframe_Create<TPixel>(TestImageProvider<TPixel
     {
         using Image<TPixel> image = provider.GetImage();
 
-        using var image0 = new Image<Rgba32>(image.Width, image.Height, Color.Red.ToPixel<Rgba32>());
+        using Image<Rgba32> image0 = new Image<Rgba32>(image.Width, image.Height, Color.Red.ToPixel<Rgba32>());
 
-        using var image1 = new Image<Rgba32>(image.Width, image.Height, Color.Green.ToPixel<Rgba32>());
+        using Image<Rgba32> image1 = new Image<Rgba32>(image.Width, image.Height, Color.Green.ToPixel<Rgba32>());
 
-        using var image2 = new Image<Rgba32>(image.Width, image.Height, Color.Yellow.ToPixel<Rgba32>());
+        using Image<Rgba32> image2 = new Image<Rgba32>(image.Width, image.Height, Color.Yellow.ToPixel<Rgba32>());
 
         image.Frames.AddFrame(image0.Frames.RootFrame);
         image.Frames.AddFrame(image1.Frames.RootFrame);
@@ -133,19 +133,19 @@ public void TiffEncoder_EncodeMultiframe_Create<TPixel>(TestImageProvider<TPixel
         image.Frames.RemoveFrame(0);
 
         TiffBitsPerPixel bitsPerPixel = TiffBitsPerPixel.Bit8;
-        var encoder = new TiffEncoder
+        TiffEncoder encoder = new TiffEncoder
         {
             PhotometricInterpretation = TiffPhotometricInterpretation.PaletteColor,
             BitsPerPixel = bitsPerPixel,
             Compression = TiffCompression.Lzw
         };
 
-        using (var ms = new System.IO.MemoryStream())
+        using (MemoryStream ms = new System.IO.MemoryStream())
         {
             image.Save(ms, encoder);
 
             ms.Position = 0;
-            using var output = Image.Load<Rgba32>(ms);
+            using Image<Rgba32> output = Image.Load<Rgba32>(ms);
 
             Assert.Equal(3, output.Frames.Count);
 
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Utils/TiffWriterTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Utils/TiffWriterTests.cs
index 9b26ab2702..3bcbd26e5c 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Utils/TiffWriterTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Utils/TiffWriterTests.cs
@@ -11,8 +11,8 @@ public class TiffWriterTests
     [Fact]
     public void IsLittleEndian_IsTrueOnWindows()
     {
-        using var stream = new MemoryStream();
-        using var writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new MemoryStream();
+        using TiffStreamWriter writer = new TiffStreamWriter(stream);
         Assert.True(TiffStreamWriter.IsLittleEndian);
     }
 
@@ -22,8 +22,8 @@ public void IsLittleEndian_IsTrueOnWindows()
     [InlineData(new byte[] { 1, 2, 3, 4, 5 }, 5)]
     public void Position_EqualsTheStreamPosition(byte[] data, long expectedResult)
     {
-        using var stream = new MemoryStream();
-        using var writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new MemoryStream();
+        using TiffStreamWriter writer = new TiffStreamWriter(stream);
         writer.Write(data);
         Assert.Equal(writer.Position, expectedResult);
     }
@@ -31,8 +31,8 @@ public void Position_EqualsTheStreamPosition(byte[] data, long expectedResult)
     [Fact]
     public void Write_WritesByte()
     {
-        using var stream = new MemoryStream();
-        using var writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new MemoryStream();
+        using TiffStreamWriter writer = new TiffStreamWriter(stream);
         writer.Write(42);
 
         Assert.Equal(new byte[] { 42 }, stream.ToArray());
@@ -41,8 +41,8 @@ public void Write_WritesByte()
     [Fact]
     public void Write_WritesByteArray()
     {
-        using var stream = new MemoryStream();
-        using var writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new MemoryStream();
+        using TiffStreamWriter writer = new TiffStreamWriter(stream);
         writer.Write(new byte[] { 2, 4, 6, 8 });
 
         Assert.Equal(new byte[] { 2, 4, 6, 8 }, stream.ToArray());
@@ -51,8 +51,8 @@ public void Write_WritesByteArray()
     [Fact]
     public void Write_WritesUInt16()
     {
-        using var stream = new MemoryStream();
-        using var writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new MemoryStream();
+        using TiffStreamWriter writer = new TiffStreamWriter(stream);
         writer.Write(1234, stackalloc byte[2]);
 
         Assert.Equal(new byte[] { 0xD2, 0x04 }, stream.ToArray());
@@ -61,8 +61,8 @@ public void Write_WritesUInt16()
     [Fact]
     public void Write_WritesUInt32()
     {
-        using var stream = new MemoryStream();
-        using var writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new MemoryStream();
+        using TiffStreamWriter writer = new TiffStreamWriter(stream);
         writer.Write(12345678U, stackalloc byte[4]);
 
         Assert.Equal(new byte[] { 0x4E, 0x61, 0xBC, 0x00 }, stream.ToArray());
@@ -78,8 +78,8 @@ public void Write_WritesUInt32()
 
     public void WritePadded_WritesByteArray(byte[] bytes, byte[] expectedResult)
     {
-        using var stream = new MemoryStream();
-        using var writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new MemoryStream();
+        using TiffStreamWriter writer = new TiffStreamWriter(stream);
         writer.WritePadded(bytes);
 
         Assert.Equal(expectedResult, stream.ToArray());
@@ -88,10 +88,10 @@ public void WritePadded_WritesByteArray(byte[] bytes, byte[] expectedResult)
     [Fact]
     public void WriteMarker_WritesToPlacedPosition()
     {
-        using var stream = new MemoryStream();
+        using MemoryStream stream = new MemoryStream();
         Span<byte> buffer = stackalloc byte[4];
 
-        using (var writer = new TiffStreamWriter(stream))
+        using (TiffStreamWriter writer = new TiffStreamWriter(stream))
         {
             writer.Write(0x11111111, buffer);
             long marker = writer.PlaceMarker(buffer);
diff --git a/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs b/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs
index 4551e3e23e..321aff2bd3 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs
@@ -89,7 +89,7 @@ private static void RunTransformColorTest()
             392450, 196861, 16712192, 16711680, 130564, 16451071
         };
 
-        var m = new Vp8LMultipliers()
+        Vp8LMultipliers m = new Vp8LMultipliers()
         {
             GreenToBlue = 240,
             GreenToRed = 232,
@@ -121,7 +121,7 @@ private static void RunTransformColorInverseTest()
             16711680, 65027, 16712962
         };
 
-        var m = new Vp8LMultipliers()
+        Vp8LMultipliers m = new Vp8LMultipliers()
         {
             GreenToBlue = 240,
             GreenToRed = 232,
diff --git a/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs b/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
index a18eff73ce..79c7ff26bf 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
@@ -13,7 +13,7 @@ public static IEnumerable<object[]> Data
     {
         get
         {
-            var result = new List<object[]>();
+            List<object[]> result = new List<object[]>();
             result.Add(new object[]
             {
                 new byte[]
@@ -69,7 +69,7 @@ public static IEnumerable<object[]> Data
     private static void RunCollectHistogramTest()
     {
         // arrange
-        var histogram = new Vp8Histogram();
+        Vp8Histogram histogram = new Vp8Histogram();
 
         byte[] reference =
         {
@@ -172,7 +172,7 @@ private static void RunCollectHistogramTest()
     public void GetAlpha_WithEmptyHistogram_Works()
     {
         // arrange
-        var histogram = new Vp8Histogram();
+        Vp8Histogram histogram = new Vp8Histogram();
 
         // act
         int alpha = histogram.GetAlpha();
@@ -186,7 +186,7 @@ public void GetAlpha_WithEmptyHistogram_Works()
     public void GetAlpha_Works(byte[] reference, byte[] pred)
     {
         // arrange
-        var histogram = new Vp8Histogram();
+        Vp8Histogram histogram = new Vp8Histogram();
         histogram.CollectHistogram(reference, pred, 0, 1);
 
         // act
@@ -201,9 +201,9 @@ public void GetAlpha_Works(byte[] reference, byte[] pred)
     public void Merge_Works(byte[] reference, byte[] pred)
     {
         // arrange
-        var histogram1 = new Vp8Histogram();
+        Vp8Histogram histogram1 = new Vp8Histogram();
         histogram1.CollectHistogram(reference, pred, 0, 1);
-        var histogram2 = new Vp8Histogram();
+        Vp8Histogram histogram2 = new Vp8Histogram();
         histogram1.Merge(histogram2);
 
         // act
diff --git a/tests/ImageSharp.Tests/Formats/WebP/Vp8ModeScoreTests.cs b/tests/ImageSharp.Tests/Formats/WebP/Vp8ModeScoreTests.cs
index 0b85ececb9..a014e8991f 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/Vp8ModeScoreTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/Vp8ModeScoreTests.cs
@@ -11,7 +11,7 @@ public class Vp8ModeScoreTests
     [Fact]
     public void InitScore_Works()
     {
-        var score = new Vp8ModeScore();
+        Vp8ModeScore score = new Vp8ModeScore();
         score.InitScore();
         Assert.Equal(0, score.D);
         Assert.Equal(0, score.SD);
@@ -25,7 +25,7 @@ public void InitScore_Works()
     public void CopyScore_Works()
     {
         // arrange
-        var score1 = new Vp8ModeScore
+        Vp8ModeScore score1 = new Vp8ModeScore
         {
             Score = 123,
             Nz = 1,
@@ -36,7 +36,7 @@ public void CopyScore_Works()
             R = 6,
             SD = 7
         };
-        var score2 = new Vp8ModeScore();
+        Vp8ModeScore score2 = new Vp8ModeScore();
         score2.InitScore();
 
         // act
@@ -55,7 +55,7 @@ public void CopyScore_Works()
     public void AddScore_Works()
     {
         // arrange
-        var score1 = new Vp8ModeScore
+        Vp8ModeScore score1 = new Vp8ModeScore
         {
             Score = 123,
             Nz = 1,
@@ -66,7 +66,7 @@ public void AddScore_Works()
             R = 6,
             SD = 7
         };
-        var score2 = new Vp8ModeScore
+        Vp8ModeScore score2 = new Vp8ModeScore
         {
             Score = 123,
             Nz = 1,
diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs
index ab8fef60f7..fefe27790c 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs
@@ -103,9 +103,9 @@ public async Task IgnoreMetadata_ControlsWhetherXmpIsParsed<TPixel>(TestImagePro
     public void Encode_WritesExifWithPadding(WebpFileFormatType fileFormatType)
     {
         // arrange
-        using var input = new Image<Rgba32>(25, 25);
-        using var memoryStream = new MemoryStream();
-        var expectedExif = new ExifProfile();
+        using Image<Rgba32> input = new Image<Rgba32>(25, 25);
+        using MemoryStream memoryStream = new MemoryStream();
+        ExifProfile expectedExif = new ExifProfile();
         string expectedSoftware = "ImageSharp";
         expectedExif.SetValue(ExifTag.Software, expectedSoftware);
         input.Metadata.ExifProfile = expectedExif;
@@ -115,7 +115,7 @@ public void Encode_WritesExifWithPadding(WebpFileFormatType fileFormatType)
         memoryStream.Position = 0;
 
         // assert
-        using var image = Image.Load<Rgba32>(memoryStream);
+        using Image<Rgba32> image = Image.Load<Rgba32>(memoryStream);
         ExifProfile actualExif = image.Metadata.ExifProfile;
         Assert.NotNull(actualExif);
         Assert.Equal(expectedExif.Values.Count, actualExif.Values.Count);
@@ -129,7 +129,7 @@ public void EncodeLossyWebp_PreservesExif<TPixel>(TestImageProvider<TPixel> prov
     {
         // arrange
         using Image<TPixel> input = provider.GetImage(WebpDecoder.Instance);
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         ExifProfile expectedExif = input.Metadata.ExifProfile;
 
         // act
@@ -137,7 +137,7 @@ public void EncodeLossyWebp_PreservesExif<TPixel>(TestImageProvider<TPixel> prov
         memoryStream.Position = 0;
 
         // assert
-        using var image = Image.Load<Rgba32>(memoryStream);
+        using Image<Rgba32> image = Image.Load<Rgba32>(memoryStream);
         ExifProfile actualExif = image.Metadata.ExifProfile;
         Assert.NotNull(actualExif);
         Assert.Equal(expectedExif.Values.Count, actualExif.Values.Count);
@@ -150,7 +150,7 @@ public void EncodeLosslessWebp_PreservesExif<TPixel>(TestImageProvider<TPixel> p
     {
         // arrange
         using Image<TPixel> input = provider.GetImage(WebpDecoder.Instance);
-        using var memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new MemoryStream();
         ExifProfile expectedExif = input.Metadata.ExifProfile;
 
         // act
@@ -158,7 +158,7 @@ public void EncodeLosslessWebp_PreservesExif<TPixel>(TestImageProvider<TPixel> p
         memoryStream.Position = 0;
 
         // assert
-        using var image = Image.Load<Rgba32>(memoryStream);
+        using Image<Rgba32> image = Image.Load<Rgba32>(memoryStream);
         ExifProfile actualExif = image.Metadata.ExifProfile;
         Assert.NotNull(actualExif);
         Assert.Equal(expectedExif.Values.Count, actualExif.Values.Count);
@@ -174,14 +174,14 @@ public void Encode_PreservesColorProfile<TPixel>(TestImageProvider<TPixel> provi
         ImageSharp.Metadata.Profiles.Icc.IccProfile expectedProfile = input.Metadata.IccProfile;
         byte[] expectedProfileBytes = expectedProfile.ToByteArray();
 
-        using var memStream = new MemoryStream();
+        using MemoryStream memStream = new MemoryStream();
         input.Save(memStream, new WebpEncoder()
         {
             FileFormat = fileFormat
         });
 
         memStream.Position = 0;
-        using var output = Image.Load<Rgba32>(memStream);
+        using Image<Rgba32> output = Image.Load<Rgba32>(memStream);
         ImageSharp.Metadata.Profiles.Icc.IccProfile actualProfile = output.Metadata.IccProfile;
         byte[] actualProfileBytes = actualProfile.ToByteArray();
 
diff --git a/tests/ImageSharp.Tests/Formats/WebP/YuvConversionTests.cs b/tests/ImageSharp.Tests/Formats/WebP/YuvConversionTests.cs
index f50bc89335..6a46b26f2d 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/YuvConversionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/YuvConversionTests.cs
@@ -19,7 +19,7 @@ public class YuvConversionTests
 
     public static void RunUpSampleYuvToRgbTest()
     {
-        var provider = TestImageProvider<Rgba32>.File(TestImageLossyFullPath);
+        TestImageProvider<Rgba32> provider = TestImageProvider<Rgba32>.File(TestImageLossyFullPath);
         using Image<Rgba32> image = provider.GetImage(WebpDecoder.Instance);
         image.DebugSave(provider);
         image.CompareToOriginal(provider, ReferenceDecoder);
diff --git a/tests/ImageSharp.Tests/GraphicOptionsDefaultsExtensionsTests.cs b/tests/ImageSharp.Tests/GraphicOptionsDefaultsExtensionsTests.cs
index d663a803b3..e894f7b864 100644
--- a/tests/ImageSharp.Tests/GraphicOptionsDefaultsExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/GraphicOptionsDefaultsExtensionsTests.cs
@@ -12,9 +12,9 @@ public class GraphicOptionsDefaultsExtensionsTests
     [Fact]
     public void SetDefaultOptionsOnProcessingContext()
     {
-        var option = new GraphicsOptions();
-        var config = new Configuration();
-        var context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
+        GraphicsOptions option = new GraphicsOptions();
+        Configuration config = new Configuration();
+        FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
 
         context.SetGraphicsOptions(option);
 
@@ -26,12 +26,12 @@ public void SetDefaultOptionsOnProcessingContext()
     [Fact]
     public void UpdateDefaultOptionsOnProcessingContext_AlwaysNewInstance()
     {
-        var option = new GraphicsOptions()
+        GraphicsOptions option = new GraphicsOptions()
         {
             BlendPercentage = 0.9f
         };
-        var config = new Configuration();
-        var context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
+        Configuration config = new Configuration();
+        FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
         context.SetGraphicsOptions(option);
 
         context.SetGraphicsOptions(o =>
@@ -40,7 +40,7 @@ public void UpdateDefaultOptionsOnProcessingContext_AlwaysNewInstance()
             o.BlendPercentage = 0.4f;
         });
 
-        var returnedOption = context.GetGraphicsOptions();
+        GraphicsOptions returnedOption = context.GetGraphicsOptions();
         Assert.Equal(0.4f, returnedOption.BlendPercentage);
         Assert.Equal(0.9f, option.BlendPercentage); // hasn't been mutated
     }
@@ -48,8 +48,8 @@ public void UpdateDefaultOptionsOnProcessingContext_AlwaysNewInstance()
     [Fact]
     public void SetDefaultOptionsOnConfiguration()
     {
-        var option = new GraphicsOptions();
-        var config = new Configuration();
+        GraphicsOptions option = new GraphicsOptions();
+        Configuration config = new Configuration();
 
         config.SetGraphicsOptions(option);
 
@@ -59,11 +59,11 @@ public void SetDefaultOptionsOnConfiguration()
     [Fact]
     public void UpdateDefaultOptionsOnConfiguration_AlwaysNewInstance()
     {
-        var option = new GraphicsOptions()
+        GraphicsOptions option = new GraphicsOptions()
         {
             BlendPercentage = 0.9f
         };
-        var config = new Configuration();
+        Configuration config = new Configuration();
         config.SetGraphicsOptions(option);
 
         config.SetGraphicsOptions(o =>
@@ -72,7 +72,7 @@ public void UpdateDefaultOptionsOnConfiguration_AlwaysNewInstance()
             o.BlendPercentage = 0.4f;
         });
 
-        var returnedOption = config.GetGraphicsOptions();
+        GraphicsOptions returnedOption = config.GetGraphicsOptions();
         Assert.Equal(0.4f, returnedOption.BlendPercentage);
         Assert.Equal(0.9f, option.BlendPercentage); // hasn't been mutated
     }
@@ -80,13 +80,13 @@ public void UpdateDefaultOptionsOnConfiguration_AlwaysNewInstance()
     [Fact]
     public void GetDefaultOptionsFromConfiguration_SettingNullThenReturnsNewInstance()
     {
-        var config = new Configuration();
+        Configuration config = new Configuration();
 
-        var options = config.GetGraphicsOptions();
+        GraphicsOptions options = config.GetGraphicsOptions();
         Assert.NotNull(options);
         config.SetGraphicsOptions((GraphicsOptions)null);
 
-        var options2 = config.GetGraphicsOptions();
+        GraphicsOptions options2 = config.GetGraphicsOptions();
         Assert.NotNull(options2);
 
         // we set it to null should now be a new instance
@@ -96,10 +96,10 @@ public void GetDefaultOptionsFromConfiguration_SettingNullThenReturnsNewInstance
     [Fact]
     public void GetDefaultOptionsFromConfiguration_IgnoreIncorectlyTypesDictionEntry()
     {
-        var config = new Configuration();
+        Configuration config = new Configuration();
 
         config.Properties[typeof(GraphicsOptions)] = "wronge type";
-        var options = config.GetGraphicsOptions();
+        GraphicsOptions options = config.GetGraphicsOptions();
         Assert.NotNull(options);
         Assert.IsType<GraphicsOptions>(options);
     }
@@ -107,63 +107,63 @@ public void GetDefaultOptionsFromConfiguration_IgnoreIncorectlyTypesDictionEntry
     [Fact]
     public void GetDefaultOptionsFromConfiguration_AlwaysReturnsInstance()
     {
-        var config = new Configuration();
+        Configuration config = new Configuration();
 
         Assert.DoesNotContain(typeof(GraphicsOptions), config.Properties.Keys);
-        var options = config.GetGraphicsOptions();
+        GraphicsOptions options = config.GetGraphicsOptions();
         Assert.NotNull(options);
     }
 
     [Fact]
     public void GetDefaultOptionsFromConfiguration_AlwaysReturnsSameValue()
     {
-        var config = new Configuration();
+        Configuration config = new Configuration();
 
-        var options = config.GetGraphicsOptions();
-        var options2 = config.GetGraphicsOptions();
+        GraphicsOptions options = config.GetGraphicsOptions();
+        GraphicsOptions options2 = config.GetGraphicsOptions();
         Assert.Equal(options, options2);
     }
 
     [Fact]
     public void GetDefaultOptionsFromProcessingContext_AlwaysReturnsInstance()
     {
-        var config = new Configuration();
-        var context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
+        Configuration config = new Configuration();
+        FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
 
-        var ctxOptions = context.GetGraphicsOptions();
+        GraphicsOptions ctxOptions = context.GetGraphicsOptions();
         Assert.NotNull(ctxOptions);
     }
 
     [Fact]
     public void GetDefaultOptionsFromProcessingContext_AlwaysReturnsInstanceEvenIfSetToNull()
     {
-        var config = new Configuration();
-        var context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
+        Configuration config = new Configuration();
+        FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
 
         context.SetGraphicsOptions((GraphicsOptions)null);
-        var ctxOptions = context.GetGraphicsOptions();
+        GraphicsOptions ctxOptions = context.GetGraphicsOptions();
         Assert.NotNull(ctxOptions);
     }
 
     [Fact]
     public void GetDefaultOptionsFromProcessingContext_FallbackToConfigsInstance()
     {
-        var option = new GraphicsOptions();
-        var config = new Configuration();
+        GraphicsOptions option = new GraphicsOptions();
+        Configuration config = new Configuration();
         config.SetGraphicsOptions(option);
-        var context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
+        FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
 
-        var ctxOptions = context.GetGraphicsOptions();
+        GraphicsOptions ctxOptions = context.GetGraphicsOptions();
         Assert.Equal(option, ctxOptions);
     }
 
     [Fact]
     public void GetDefaultOptionsFromProcessingContext_IgnoreIncorectlyTypesDictionEntry()
     {
-        var config = new Configuration();
-        var context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
+        Configuration config = new Configuration();
+        FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
         context.Properties[typeof(GraphicsOptions)] = "wronge type";
-        var options = context.GetGraphicsOptions();
+        GraphicsOptions options = context.GetGraphicsOptions();
         Assert.NotNull(options);
         Assert.IsType<GraphicsOptions>(options);
     }
diff --git a/tests/ImageSharp.Tests/GraphicsOptionsTests.cs b/tests/ImageSharp.Tests/GraphicsOptionsTests.cs
index 3531599866..351254e401 100644
--- a/tests/ImageSharp.Tests/GraphicsOptionsTests.cs
+++ b/tests/ImageSharp.Tests/GraphicsOptionsTests.cs
@@ -57,7 +57,7 @@ public void DefaultGraphicsOptionsAlphaCompositionMode()
     [Fact]
     public void NonDefaultClone()
     {
-        var expected = new GraphicsOptions
+        GraphicsOptions expected = new GraphicsOptions
         {
             AlphaCompositionMode = PixelAlphaCompositionMode.DestAtop,
             Antialias = false,
@@ -74,7 +74,7 @@ public void NonDefaultClone()
     [Fact]
     public void CloneIsDeep()
     {
-        var expected = new GraphicsOptions();
+        GraphicsOptions expected = new GraphicsOptions();
         GraphicsOptions actual = expected.DeepClone();
 
         actual.AlphaCompositionMode = PixelAlphaCompositionMode.DestAtop;
diff --git a/tests/ImageSharp.Tests/Helpers/ColorNumericsTests.cs b/tests/ImageSharp.Tests/Helpers/ColorNumericsTests.cs
index 4c06d0cd55..1e6ab7bc9d 100644
--- a/tests/ImageSharp.Tests/Helpers/ColorNumericsTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/ColorNumericsTests.cs
@@ -15,7 +15,7 @@ public class ColorNumericsTests
     public void GetBT709Luminance_WithVector4(float x, float y, float z, int luminanceLevels, int expected)
     {
         // arrange
-        var vector = new Vector4(x, y, z, 0.0f);
+        Vector4 vector = new Vector4(x, y, z, 0.0f);
 
         // act
         int actual = ColorNumerics.GetBT709Luminance(ref vector, luminanceLevels);
diff --git a/tests/ImageSharp.Tests/Helpers/NumericsTests.cs b/tests/ImageSharp.Tests/Helpers/NumericsTests.cs
index 75f988a4cb..c40fffd55b 100644
--- a/tests/ImageSharp.Tests/Helpers/NumericsTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/NumericsTests.cs
@@ -162,7 +162,7 @@ public void LeastCommonMultiple(int a, int b, int expected)
     [InlineData(63)]
     public void PremultiplyVectorSpan(int length)
     {
-        var rnd = new Random(42);
+        Random rnd = new Random(42);
         Vector4[] source = rnd.GenerateRandomVectorArray(length, 0, 1);
         Vector4[] expected = source.Select(v =>
         {
@@ -182,7 +182,7 @@ public void PremultiplyVectorSpan(int length)
     [InlineData(63)]
     public void UnPremultiplyVectorSpan(int length)
     {
-        var rnd = new Random(42);
+        Random rnd = new Random(42);
         Vector4[] source = rnd.GenerateRandomVectorArray(length, 0, 1);
         Vector4[] expected = source.Select(v =>
         {
@@ -280,7 +280,7 @@ private static void TestClampSpan<T>(
     {
         Span<T> actual = new T[length];
 
-        var r = new Random();
+        Random r = new Random();
         for (int i = 0; i < length; i++)
         {
             actual[i] = (T)Convert.ChangeType(r.Next(byte.MinValue, byte.MaxValue), typeof(T));
diff --git a/tests/ImageSharp.Tests/Helpers/ParallelExecutionSettingsTests.cs b/tests/ImageSharp.Tests/Helpers/ParallelExecutionSettingsTests.cs
index c13a30052c..eadae91246 100644
--- a/tests/ImageSharp.Tests/Helpers/ParallelExecutionSettingsTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/ParallelExecutionSettingsTests.cs
@@ -28,7 +28,7 @@ public void Constructor_MaxDegreeOfParallelism_CompatibleWith_ParallelOptions(in
         }
         else
         {
-            var parallelSettings = new ParallelExecutionSettings(
+            ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
                 maxDegreeOfParallelism,
                 Configuration.Default.MemoryAllocator);
             Assert.Equal(maxDegreeOfParallelism, parallelSettings.MaxDegreeOfParallelism);
diff --git a/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs b/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
index d393850d6b..0ce0bf4e80 100644
--- a/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
@@ -52,12 +52,12 @@ public void IterateRows_OverMinimumPixelsLimit_IntervalsAreCorrect(
         int expectedLastStepLength,
         int expectedNumberOfSteps)
     {
-        var parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
             maxDegreeOfParallelism,
             1,
             Configuration.Default.MemoryAllocator);
 
-        var rectangle = new Rectangle(0, minY, 10, maxY - minY);
+        Rectangle rectangle = new Rectangle(0, minY, 10, maxY - minY);
 
         int actualNumberOfSteps = 0;
 
@@ -73,7 +73,7 @@ void RowAction(RowInterval rows)
             Assert.Equal(expected, step);
         }
 
-        var operation = new TestRowIntervalOperation(RowAction);
+        TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
 
         ParallelRowIterator.IterateRowIntervals(
             rectangle,
@@ -93,15 +93,15 @@ public void IterateRows_OverMinimumPixelsLimit_ShouldVisitAllRows(
         int expectedLastStepLength,
         int expectedNumberOfSteps)
     {
-        var parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
             maxDegreeOfParallelism,
             1,
             Configuration.Default.MemoryAllocator);
 
-        var rectangle = new Rectangle(0, minY, 10, maxY - minY);
+        Rectangle rectangle = new Rectangle(0, minY, 10, maxY - minY);
 
         int[] expectedData = Enumerable.Repeat(0, minY).Concat(Enumerable.Range(minY, maxY - minY)).ToArray();
-        var actualData = new int[maxY];
+        int[] actualData = new int[maxY];
 
         void RowAction(RowInterval rows)
         {
@@ -111,7 +111,7 @@ void RowAction(RowInterval rows)
             }
         }
 
-        var operation = new TestRowIntervalOperation(RowAction);
+        TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
 
         ParallelRowIterator.IterateRowIntervals(
             rectangle,
@@ -131,12 +131,12 @@ public void IterateRowsWithTempBuffer_OverMinimumPixelsLimit(
         int expectedLastStepLength,
         int expectedNumberOfSteps)
     {
-        var parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
             maxDegreeOfParallelism,
             1,
             Configuration.Default.MemoryAllocator);
 
-        var rectangle = new Rectangle(0, minY, 10, maxY - minY);
+        Rectangle rectangle = new Rectangle(0, minY, 10, maxY - minY);
 
         int actualNumberOfSteps = 0;
 
@@ -152,7 +152,7 @@ void RowAction(RowInterval rows, Span<Vector4> buffer)
             Assert.Equal(expected, step);
         }
 
-        var operation = new TestRowIntervalOperation<Vector4>(RowAction);
+        TestRowIntervalOperation<Vector4> operation = new TestRowIntervalOperation<Vector4>(RowAction);
 
         ParallelRowIterator.IterateRowIntervals<TestRowIntervalOperation<Vector4>, Vector4>(
             rectangle,
@@ -172,15 +172,15 @@ public void IterateRowsWithTempBuffer_OverMinimumPixelsLimit_ShouldVisitAllRows(
         int expectedLastStepLength,
         int expectedNumberOfSteps)
     {
-        var parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
             maxDegreeOfParallelism,
             1,
             Configuration.Default.MemoryAllocator);
 
-        var rectangle = new Rectangle(0, minY, 10, maxY - minY);
+        Rectangle rectangle = new Rectangle(0, minY, 10, maxY - minY);
 
         int[] expectedData = Enumerable.Repeat(0, minY).Concat(Enumerable.Range(minY, maxY - minY)).ToArray();
-        var actualData = new int[maxY];
+        int[] actualData = new int[maxY];
 
         void RowAction(RowInterval rows, Span<Vector4> buffer)
         {
@@ -190,7 +190,7 @@ void RowAction(RowInterval rows, Span<Vector4> buffer)
             }
         }
 
-        var operation = new TestRowIntervalOperation<Vector4>(RowAction);
+        TestRowIntervalOperation<Vector4> operation = new TestRowIntervalOperation<Vector4>(RowAction);
 
         ParallelRowIterator.IterateRowIntervals<TestRowIntervalOperation<Vector4>, Vector4>(
             rectangle,
@@ -223,12 +223,12 @@ public void IterateRows_WithEffectiveMinimumPixelsLimit(
         int expectedStepLength,
         int expectedLastStepLength)
     {
-        var parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
             maxDegreeOfParallelism,
             minimumPixelsProcessedPerTask,
             Configuration.Default.MemoryAllocator);
 
-        var rectangle = new Rectangle(0, 0, width, height);
+        Rectangle rectangle = new Rectangle(0, 0, width, height);
 
         int actualNumberOfSteps = 0;
 
@@ -244,7 +244,7 @@ void RowAction(RowInterval rows)
             Assert.Equal(expected, step);
         }
 
-        var operation = new TestRowIntervalOperation(RowAction);
+        TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
 
         ParallelRowIterator.IterateRowIntervals(
             rectangle,
@@ -265,12 +265,12 @@ public void IterateRowsWithTempBuffer_WithEffectiveMinimumPixelsLimit(
         int expectedStepLength,
         int expectedLastStepLength)
     {
-        var parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
             maxDegreeOfParallelism,
             minimumPixelsProcessedPerTask,
             Configuration.Default.MemoryAllocator);
 
-        var rectangle = new Rectangle(0, 0, width, height);
+        Rectangle rectangle = new Rectangle(0, 0, width, height);
 
         int actualNumberOfSteps = 0;
 
@@ -286,7 +286,7 @@ void RowAction(RowInterval rows, Span<Vector4> buffer)
             Assert.Equal(expected, step);
         }
 
-        var operation = new TestRowIntervalOperation<Vector4>(RowAction);
+        TestRowIntervalOperation<Vector4> operation = new TestRowIntervalOperation<Vector4>(RowAction);
 
         ParallelRowIterator.IterateRowIntervals<TestRowIntervalOperation<Vector4>, Vector4>(
             rectangle,
@@ -322,7 +322,7 @@ public void IterateRectangularBuffer(
         using (Buffer2D<Point> expected = memoryAllocator.Allocate2D<Point>(bufferWidth, bufferHeight, AllocationOptions.Clean))
         using (Buffer2D<Point> actual = memoryAllocator.Allocate2D<Point>(bufferWidth, bufferHeight, AllocationOptions.Clean))
         {
-            var rect = new Rectangle(rectX, rectY, rectWidth, rectHeight);
+            Rectangle rect = new Rectangle(rectX, rectY, rectWidth, rectHeight);
 
             void FillRow(int y, Buffer2D<Point> buffer)
             {
@@ -339,7 +339,7 @@ void FillRow(int y, Buffer2D<Point> buffer)
             }
 
             // Fill actual data using IterateRows:
-            var settings = new ParallelExecutionSettings(maxDegreeOfParallelism, memoryAllocator);
+            ParallelExecutionSettings settings = new ParallelExecutionSettings(maxDegreeOfParallelism, memoryAllocator);
 
             void RowAction(RowInterval rows)
             {
@@ -350,7 +350,7 @@ void RowAction(RowInterval rows)
                 }
             }
 
-            var operation = new TestRowIntervalOperation(RowAction);
+            TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
 
             ParallelRowIterator.IterateRowIntervals(
                 rect,
@@ -369,15 +369,15 @@ void RowAction(RowInterval rows)
     [InlineData(10, -10)]
     public void IterateRowsRequiresValidRectangle(int width, int height)
     {
-        var parallelSettings = default(ParallelExecutionSettings);
+        ParallelExecutionSettings parallelSettings = default(ParallelExecutionSettings);
 
-        var rect = new Rectangle(0, 0, width, height);
+        Rectangle rect = new Rectangle(0, 0, width, height);
 
         void RowAction(RowInterval rows)
         {
         }
 
-        var operation = new TestRowIntervalOperation(RowAction);
+        TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
 
         ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(
             () => ParallelRowIterator.IterateRowIntervals(rect, in parallelSettings, in operation));
@@ -392,15 +392,15 @@ void RowAction(RowInterval rows)
     [InlineData(10, -10)]
     public void IterateRowsWithTempBufferRequiresValidRectangle(int width, int height)
     {
-        var parallelSettings = default(ParallelExecutionSettings);
+        ParallelExecutionSettings parallelSettings = default(ParallelExecutionSettings);
 
-        var rect = new Rectangle(0, 0, width, height);
+        Rectangle rect = new Rectangle(0, 0, width, height);
 
         void RowAction(RowInterval rows, Span<Rgba32> memory)
         {
         }
 
-        var operation = new TestRowIntervalOperation<Rgba32>(RowAction);
+        TestRowIntervalOperation<Rgba32> operation = new TestRowIntervalOperation<Rgba32>(RowAction);
 
         ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(
             () => ParallelRowIterator.IterateRowIntervals<TestRowIntervalOperation<Rgba32>, Rgba32>(rect, in parallelSettings, in operation));
diff --git a/tests/ImageSharp.Tests/Helpers/RowIntervalTests.cs b/tests/ImageSharp.Tests/Helpers/RowIntervalTests.cs
index 95f1d4e289..cc367df308 100644
--- a/tests/ImageSharp.Tests/Helpers/RowIntervalTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/RowIntervalTests.cs
@@ -10,7 +10,7 @@ public class RowIntervalTests
     [Fact]
     public void Slice1()
     {
-        var rowInterval = new RowInterval(10, 20);
+        RowInterval rowInterval = new RowInterval(10, 20);
         RowInterval sliced = rowInterval.Slice(5);
 
         Assert.Equal(15, sliced.Min);
@@ -20,7 +20,7 @@ public void Slice1()
     [Fact]
     public void Slice2()
     {
-        var rowInterval = new RowInterval(10, 20);
+        RowInterval rowInterval = new RowInterval(10, 20);
         RowInterval sliced = rowInterval.Slice(3, 5);
 
         Assert.Equal(13, sliced.Min);
@@ -30,8 +30,8 @@ public void Slice2()
     [Fact]
     public void Equality_WhenTrue()
     {
-        var a = new RowInterval(42, 123);
-        var b = new RowInterval(42, 123);
+        RowInterval a = new RowInterval(42, 123);
+        RowInterval b = new RowInterval(42, 123);
 
         Assert.True(a.Equals(b));
         Assert.True(a.Equals((object)b));
@@ -42,9 +42,9 @@ public void Equality_WhenTrue()
     [Fact]
     public void Equality_WhenFalse()
     {
-        var a = new RowInterval(42, 123);
-        var b = new RowInterval(42, 125);
-        var c = new RowInterval(40, 123);
+        RowInterval a = new RowInterval(42, 123);
+        RowInterval b = new RowInterval(42, 125);
+        RowInterval c = new RowInterval(40, 123);
 
         Assert.False(a.Equals(b));
         Assert.False(c.Equals(a));
diff --git a/tests/ImageSharp.Tests/Image/ImageCloneTests.cs b/tests/ImageSharp.Tests/Image/ImageCloneTests.cs
index 25674e6a8d..409fd46b9e 100644
--- a/tests/ImageSharp.Tests/Image/ImageCloneTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageCloneTests.cs
@@ -10,7 +10,7 @@ public class ImageCloneTests
     [Fact]
     public void CloneAs_WhenDisposed_Throws()
     {
-        var image = new Image<Rgba32>(5, 5);
+        Image<Rgba32> image = new Image<Rgba32>(5, 5);
         image.Dispose();
 
         Assert.Throws<ObjectDisposedException>(() => image.CloneAs<Bgra32>());
@@ -19,7 +19,7 @@ public void CloneAs_WhenDisposed_Throws()
     [Fact]
     public void Clone_WhenDisposed_Throws()
     {
-        var image = new Image<Rgba32>(5, 5);
+        Image<Rgba32> image = new Image<Rgba32>(5, 5);
         image.Dispose();
 
         Assert.Throws<ObjectDisposedException>(() => image.Clone());
diff --git a/tests/ImageSharp.Tests/Image/ImageFrameTests.cs b/tests/ImageSharp.Tests/Image/ImageFrameTests.cs
index e09ef487a8..e1da769d7f 100644
--- a/tests/ImageSharp.Tests/Image/ImageFrameTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageFrameTests.cs
@@ -16,7 +16,7 @@ public class Indexer
 
         private void LimitBufferCapacity(int bufferCapacityInBytes)
         {
-            var allocator = new TestMemoryAllocator();
+            TestMemoryAllocator allocator = new TestMemoryAllocator();
             allocator.BufferCapacityInBytes = bufferCapacityInBytes;
             this.configuration.MemoryAllocator = allocator;
         }
@@ -31,7 +31,7 @@ public void GetSet(bool enforceDisco)
                 this.LimitBufferCapacity(100);
             }
 
-            using var image = new Image<Rgba32>(this.configuration, 10, 10);
+            using Image<Rgba32> image = new Image<Rgba32>(this.configuration, 10, 10);
             ImageFrame<Rgba32> frame = image.Frames.RootFrame;
             Rgba32 val = frame[3, 4];
             Assert.Equal(default(Rgba32), val);
@@ -57,7 +57,7 @@ public void Get_OutOfRangeX(bool enforceDisco, int x)
                 this.LimitBufferCapacity(100);
             }
 
-            using var image = new Image<Rgba32>(this.configuration, 10, 10);
+            using Image<Rgba32> image = new Image<Rgba32>(this.configuration, 10, 10);
             ImageFrame<Rgba32> frame = image.Frames.RootFrame;
             ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(() => _ = frame[x, 3]);
             Assert.Equal("x", ex.ParamName);
@@ -72,7 +72,7 @@ public void Set_OutOfRangeX(bool enforceDisco, int x)
                 this.LimitBufferCapacity(100);
             }
 
-            using var image = new Image<Rgba32>(this.configuration, 10, 10);
+            using Image<Rgba32> image = new Image<Rgba32>(this.configuration, 10, 10);
             ImageFrame<Rgba32> frame = image.Frames.RootFrame;
             ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(() => frame[x, 3] = default);
             Assert.Equal("x", ex.ParamName);
@@ -87,7 +87,7 @@ public void Set_OutOfRangeY(bool enforceDisco, int y)
                 this.LimitBufferCapacity(100);
             }
 
-            using var image = new Image<Rgba32>(this.configuration, 10, 10);
+            using Image<Rgba32> image = new Image<Rgba32>(this.configuration, 10, 10);
             ImageFrame<Rgba32> frame = image.Frames.RootFrame;
             ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(() => frame[3, y] = default);
             Assert.Equal("y", ex.ParamName);
@@ -105,7 +105,7 @@ public void CopyPixelDataTo_Success(bool disco, bool byteSpan)
                 this.LimitBufferCapacity(20);
             }
 
-            using var image = new Image<La16>(this.configuration, 10, 10);
+            using Image<La16> image = new Image<La16>(this.configuration, 10, 10);
             if (disco)
             {
                 Assert.True(image.GetPixelMemoryGroup().Count > 1);
@@ -131,7 +131,7 @@ public void CopyPixelDataTo_Success(bool disco, bool byteSpan)
         [InlineData(true)]
         public void CopyPixelDataTo_DestinationTooShort_Throws(bool byteSpan)
         {
-            using var image = new Image<La16>(this.configuration, 10, 10);
+            using Image<La16> image = new Image<La16>(this.configuration, 10, 10);
 
             Assert.ThrowsAny<ArgumentOutOfRangeException>(() =>
             {
@@ -173,7 +173,7 @@ protected override void ProcessPixelRowsImpl<TPixel>(
         [Fact]
         public void NullReference_Throws()
         {
-            using var img = new Image<Rgb24>(1, 1);
+            using Image<Rgb24> img = new Image<Rgb24>(1, 1);
             ImageFrame<Rgb24> frame = img.Frames.RootFrame;
 
             Assert.Throws<ArgumentNullException>(() => frame.ProcessPixelRows(null));
diff --git a/tests/ImageSharp.Tests/Image/ImageSaveTests.cs b/tests/ImageSharp.Tests/Image/ImageSaveTests.cs
index f9c01ab564..dde4bfddac 100644
--- a/tests/ImageSharp.Tests/Image/ImageSaveTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageSaveTests.cs
@@ -32,7 +32,7 @@ public ImageSaveTests()
         this.encoderNotInFormat = new Mock<IImageEncoder>();
 
         this.fileSystem = new Mock<IFileSystem>();
-        var config = new Configuration
+        Configuration config = new Configuration
         {
             FileSystem = this.fileSystem.Object
         };
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.WrapMemory.cs b/tests/ImageSharp.Tests/Image/ImageTests.WrapMemory.cs
index e3c4a7df18..81a62bb837 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.WrapMemory.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.WrapMemory.cs
@@ -39,7 +39,7 @@ public BitmapMemoryManager(Bitmap bitmap)
                 }
 
                 this.bitmap = bitmap;
-                var rectangle = new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height);
+                System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height);
                 this.bmpData = bitmap.LockBits(rectangle, ImageLockMode.ReadWrite, bitmap.PixelFormat);
                 this.length = bitmap.Width * bitmap.Height;
             }
@@ -124,13 +124,13 @@ public override void Unpin()
         [Fact]
         public void WrapMemory_CreatedImageIsCorrect()
         {
-            var cfg = Configuration.CreateDefaultInstance();
-            var metaData = new ImageMetadata();
+            Configuration cfg = Configuration.CreateDefaultInstance();
+            ImageMetadata metaData = new ImageMetadata();
 
-            var array = new Rgba32[25];
-            var memory = new Memory<Rgba32>(array);
+            Rgba32[] array = new Rgba32[25];
+            Memory<Rgba32> memory = new Memory<Rgba32>(array);
 
-            using (var image = Image.WrapMemory(cfg, memory, 5, 5, metaData))
+            using (Image<Rgba32> image = Image.WrapMemory(cfg, memory, 5, 5, metaData))
             {
                 Assert.True(image.DangerousTryGetSinglePixelMemory(out Memory<Rgba32> imageMem));
                 ref Rgba32 pixel0 = ref imageMem.Span[0];
@@ -149,22 +149,22 @@ public void WrapSystemDrawingBitmap_WhenObserved()
                 return;
             }
 
-            using (var bmp = new Bitmap(51, 23))
+            using (Bitmap bmp = new Bitmap(51, 23))
             {
-                using (var memoryManager = new BitmapMemoryManager(bmp))
+                using (BitmapMemoryManager memoryManager = new BitmapMemoryManager(bmp))
                 {
                     Memory<Bgra32> memory = memoryManager.Memory;
                     Bgra32 bg = Color.Red.ToPixel<Bgra32>();
                     Bgra32 fg = Color.Green.ToPixel<Bgra32>();
 
-                    using (var image = Image.WrapMemory(memory, bmp.Width, bmp.Height))
+                    using (Image<Bgra32> image = Image.WrapMemory(memory, bmp.Width, bmp.Height))
                     {
                         Assert.Equal(memory, image.GetRootFramePixelBuffer().DangerousGetSingleMemory());
                         image.GetPixelMemoryGroup().Fill(bg);
 
                         image.ProcessPixelRows(accessor =>
                         {
-                            for (var i = 10; i < 20; i++)
+                            for (int i = 10; i < 20; i++)
                             {
                                 accessor.GetRowSpan(i).Slice(10, 10).Fill(fg);
                             }
@@ -195,19 +195,19 @@ public void WrapSystemDrawingBitmap_WhenOwned()
                 return;
             }
 
-            using (var bmp = new Bitmap(51, 23))
+            using (Bitmap bmp = new Bitmap(51, 23))
             {
-                var memoryManager = new BitmapMemoryManager(bmp);
+                BitmapMemoryManager memoryManager = new BitmapMemoryManager(bmp);
                 Bgra32 bg = Color.Red.ToPixel<Bgra32>();
                 Bgra32 fg = Color.Green.ToPixel<Bgra32>();
 
-                using (var image = Image.WrapMemory(memoryManager, bmp.Width, bmp.Height))
+                using (Image<Bgra32> image = Image.WrapMemory(memoryManager, bmp.Width, bmp.Height))
                 {
                     Assert.Equal(memoryManager.Memory, image.GetRootFramePixelBuffer().DangerousGetSingleMemory());
                     image.GetPixelMemoryGroup().Fill(bg);
                     image.ProcessPixelRows(accessor =>
                     {
-                        for (var i = 10; i < 20; i++)
+                        for (int i = 10; i < 20; i++)
                         {
                             accessor.GetRowSpan(i).Slice(10, 10).Fill(fg);
                         }
@@ -227,13 +227,13 @@ public void WrapSystemDrawingBitmap_WhenOwned()
         [Fact]
         public void WrapMemory_FromBytes_CreatedImageIsCorrect()
         {
-            var cfg = Configuration.CreateDefaultInstance();
-            var metaData = new ImageMetadata();
+            Configuration cfg = Configuration.CreateDefaultInstance();
+            ImageMetadata metaData = new ImageMetadata();
 
-            var array = new byte[25 * Unsafe.SizeOf<Rgba32>()];
-            var memory = new Memory<byte>(array);
+            byte[] array = new byte[25 * Unsafe.SizeOf<Rgba32>()];
+            Memory<byte> memory = new Memory<byte>(array);
 
-            using (var image = Image.WrapMemory<Rgba32>(cfg, memory, 5, 5, metaData))
+            using (Image<Rgba32> image = Image.WrapMemory<Rgba32>(cfg, memory, 5, 5, metaData))
             {
                 Assert.True(image.DangerousTryGetSinglePixelMemory(out Memory<Rgba32> imageMem));
                 ref Rgba32 pixel0 = ref imageMem.Span[0];
@@ -252,16 +252,16 @@ public void WrapSystemDrawingBitmap_FromBytes_WhenObserved()
                 return;
             }
 
-            using (var bmp = new Bitmap(51, 23))
+            using (Bitmap bmp = new Bitmap(51, 23))
             {
-                using (var memoryManager = new BitmapMemoryManager(bmp))
+                using (BitmapMemoryManager memoryManager = new BitmapMemoryManager(bmp))
                 {
                     Memory<Bgra32> pixelMemory = memoryManager.Memory;
                     Memory<byte> byteMemory = new CastMemoryManager<Bgra32, byte>(pixelMemory).Memory;
                     Bgra32 bg = Color.Red.ToPixel<Bgra32>();
                     Bgra32 fg = Color.Green.ToPixel<Bgra32>();
 
-                    using (var image = Image.WrapMemory<Bgra32>(byteMemory, bmp.Width, bmp.Height))
+                    using (Image<Bgra32> image = Image.WrapMemory<Bgra32>(byteMemory, bmp.Width, bmp.Height))
                     {
                         Span<Bgra32> pixelSpan = pixelMemory.Span;
                         Span<Bgra32> imageSpan = image.GetRootFramePixelBuffer().DangerousGetSingleMemory().Span;
@@ -276,7 +276,7 @@ public void WrapSystemDrawingBitmap_FromBytes_WhenObserved()
                         image.GetPixelMemoryGroup().Fill(bg);
                         image.ProcessPixelRows(accessor =>
                         {
-                            for (var i = 10; i < 20; i++)
+                            for (int i = 10; i < 20; i++)
                             {
                                 accessor.GetRowSpan(i).Slice(10, 10).Fill(fg);
                             }
@@ -300,16 +300,16 @@ public void WrapSystemDrawingBitmap_FromBytes_WhenObserved()
         [InlineData(65536, 65537, 65536)]
         public unsafe void WrapMemory_Throws_OnTooLessWrongSize(int size, int width, int height)
         {
-            var cfg = Configuration.CreateDefaultInstance();
-            var metaData = new ImageMetadata();
+            Configuration cfg = Configuration.CreateDefaultInstance();
+            ImageMetadata metaData = new ImageMetadata();
 
-            var array = new Rgba32[size];
+            Rgba32[] array = new Rgba32[size];
             Exception thrownException = null;
             fixed (void* ptr = array)
             {
                 try
                 {
-                    using var image = Image.WrapMemory<Rgba32>(cfg, ptr, size * sizeof(Rgba32), width, height, metaData);
+                    using Image<Rgba32> image = Image.WrapMemory<Rgba32>(cfg, ptr, size * sizeof(Rgba32), width, height, metaData);
                 }
                 catch (Exception e)
                 {
@@ -328,14 +328,14 @@ public unsafe void WrapMemory_Throws_OnTooLessWrongSize(int size, int width, int
         [InlineData(2048, 32, 32)]
         public unsafe void WrapMemory_FromPointer_CreatedImageIsCorrect(int size, int width, int height)
         {
-            var cfg = Configuration.CreateDefaultInstance();
-            var metaData = new ImageMetadata();
+            Configuration cfg = Configuration.CreateDefaultInstance();
+            ImageMetadata metaData = new ImageMetadata();
 
-            var array = new Rgba32[size];
+            Rgba32[] array = new Rgba32[size];
 
             fixed (void* ptr = array)
             {
-                using (var image = Image.WrapMemory<Rgba32>(cfg, ptr, size * sizeof(Rgba32), width, height, metaData))
+                using (Image<Rgba32> image = Image.WrapMemory<Rgba32>(cfg, ptr, size * sizeof(Rgba32), width, height, metaData))
                 {
                     Assert.True(image.DangerousTryGetSinglePixelMemory(out Memory<Rgba32> imageMem));
                     Span<Rgba32> imageSpan = imageMem.Span;
@@ -359,9 +359,9 @@ public unsafe void WrapSystemDrawingBitmap_FromPointer()
                 return;
             }
 
-            using (var bmp = new Bitmap(51, 23))
+            using (Bitmap bmp = new Bitmap(51, 23))
             {
-                using (var memoryManager = new BitmapMemoryManager(bmp))
+                using (BitmapMemoryManager memoryManager = new BitmapMemoryManager(bmp))
                 {
                     Memory<Bgra32> pixelMemory = memoryManager.Memory;
                     Bgra32 bg = Color.Red.ToPixel<Bgra32>();
@@ -369,7 +369,7 @@ public unsafe void WrapSystemDrawingBitmap_FromPointer()
 
                     fixed (void* p = pixelMemory.Span)
                     {
-                        using (var image = Image.WrapMemory<Bgra32>(p, pixelMemory.Length, bmp.Width, bmp.Height))
+                        using (Image<Bgra32> image = Image.WrapMemory<Bgra32>(p, pixelMemory.Length, bmp.Width, bmp.Height))
                         {
                             Span<Bgra32> pixelSpan = pixelMemory.Span;
                             Span<Bgra32> imageSpan = image.GetRootFramePixelBuffer().DangerousGetSingleMemory().Span;
@@ -381,7 +381,7 @@ public unsafe void WrapSystemDrawingBitmap_FromPointer()
                             image.GetPixelMemoryGroup().Fill(bg);
                             image.ProcessPixelRows(accessor =>
                             {
-                                for (var i = 10; i < 20; i++)
+                                for (int i = 10; i < 20; i++)
                                 {
                                     accessor.GetRowSpan(i).Slice(10, 10).Fill(fg);
                                 }
@@ -407,8 +407,8 @@ public unsafe void WrapSystemDrawingBitmap_FromPointer()
         [InlineData(65536, 65537, 65536)]
         public void WrapMemory_MemoryOfT_InvalidSize(int size, int height, int width)
         {
-            var array = new Rgba32[size];
-            var memory = new Memory<Rgba32>(array);
+            Rgba32[] array = new Rgba32[size];
+            Memory<Rgba32> memory = new Memory<Rgba32>(array);
 
             Assert.Throws<ArgumentException>(() => Image.WrapMemory(memory, height, width));
         }
@@ -421,8 +421,8 @@ public void WrapMemory_MemoryOfT_InvalidSize(int size, int height, int width)
         [InlineData(2048, 32, 32)]
         public void WrapMemory_MemoryOfT_ValidSize(int size, int height, int width)
         {
-            var array = new Rgba32[size];
-            var memory = new Memory<Rgba32>(array);
+            Rgba32[] array = new Rgba32[size];
+            Memory<Rgba32> memory = new Memory<Rgba32>(array);
 
             Image.WrapMemory(memory, height, width);
         }
@@ -443,8 +443,8 @@ private class TestMemoryOwner<T> : IMemoryOwner<T>
         [InlineData(65536, 65537, 65536)]
         public void WrapMemory_IMemoryOwnerOfT_InvalidSize(int size, int height, int width)
         {
-            var array = new Rgba32[size];
-            var memory = new TestMemoryOwner<Rgba32> { Memory = array };
+            Rgba32[] array = new Rgba32[size];
+            TestMemoryOwner<Rgba32> memory = new TestMemoryOwner<Rgba32> { Memory = array };
 
             Assert.Throws<ArgumentException>(() => Image.WrapMemory(memory, height, width));
         }
@@ -457,10 +457,10 @@ public void WrapMemory_IMemoryOwnerOfT_InvalidSize(int size, int height, int wid
         [InlineData(2048, 32, 32)]
         public void WrapMemory_IMemoryOwnerOfT_ValidSize(int size, int height, int width)
         {
-            var array = new Rgba32[size];
-            var memory = new TestMemoryOwner<Rgba32> { Memory = array };
+            Rgba32[] array = new Rgba32[size];
+            TestMemoryOwner<Rgba32> memory = new TestMemoryOwner<Rgba32> { Memory = array };
 
-            using (var img = Image.WrapMemory<Rgba32>(memory, width, height))
+            using (Image<Rgba32> img = Image.WrapMemory<Rgba32>(memory, width, height))
             {
                 Assert.Equal(width, img.Width);
                 Assert.Equal(height, img.Height);
@@ -469,7 +469,7 @@ public void WrapMemory_IMemoryOwnerOfT_ValidSize(int size, int height, int width
                 {
                     for (int i = 0; i < height; ++i)
                     {
-                        var arrayIndex = width * i;
+                        int arrayIndex = width * i;
 
                         Span<Rgba32> rowSpan = accessor.GetRowSpan(i);
                         ref Rgba32 r0 = ref rowSpan[0];
@@ -490,8 +490,8 @@ public void WrapMemory_IMemoryOwnerOfT_ValidSize(int size, int height, int width
         [InlineData(65536, 65537, 65536)]
         public void WrapMemory_IMemoryOwnerOfByte_InvalidSize(int size, int height, int width)
         {
-            var array = new byte[size * Unsafe.SizeOf<Rgba32>()];
-            var memory = new TestMemoryOwner<byte> { Memory = array };
+            byte[] array = new byte[size * Unsafe.SizeOf<Rgba32>()];
+            TestMemoryOwner<byte> memory = new TestMemoryOwner<byte> { Memory = array };
 
             Assert.Throws<ArgumentException>(() => Image.WrapMemory<Rgba32>(memory, height, width));
         }
@@ -504,11 +504,11 @@ public void WrapMemory_IMemoryOwnerOfByte_InvalidSize(int size, int height, int
         [InlineData(2048, 32, 32)]
         public void WrapMemory_IMemoryOwnerOfByte_ValidSize(int size, int height, int width)
         {
-            var pixelSize = Unsafe.SizeOf<Rgba32>();
-            var array = new byte[size * pixelSize];
-            var memory = new TestMemoryOwner<byte> { Memory = array };
+            int pixelSize = Unsafe.SizeOf<Rgba32>();
+            byte[] array = new byte[size * pixelSize];
+            TestMemoryOwner<byte> memory = new TestMemoryOwner<byte> { Memory = array };
 
-            using (var img = Image.WrapMemory<Rgba32>(memory, width, height))
+            using (Image<Rgba32> img = Image.WrapMemory<Rgba32>(memory, width, height))
             {
                 Assert.Equal(width, img.Width);
                 Assert.Equal(height, img.Height);
@@ -517,7 +517,7 @@ public void WrapMemory_IMemoryOwnerOfByte_ValidSize(int size, int height, int wi
                 {
                     for (int i = 0; i < height; ++i)
                     {
-                        var arrayIndex = pixelSize * width * i;
+                        int arrayIndex = pixelSize * width * i;
 
                         Span<Rgba32> rowSpan = acccessor.GetRowSpan(i);
                         ref Rgba32 r0 = ref rowSpan[0];
@@ -538,8 +538,8 @@ public void WrapMemory_IMemoryOwnerOfByte_ValidSize(int size, int height, int wi
         [InlineData(65536, 65537, 65536)]
         public void WrapMemory_MemoryOfByte_InvalidSize(int size, int height, int width)
         {
-            var array = new byte[size * Unsafe.SizeOf<Rgba32>()];
-            var memory = new Memory<byte>(array);
+            byte[] array = new byte[size * Unsafe.SizeOf<Rgba32>()];
+            Memory<byte> memory = new Memory<byte>(array);
 
             Assert.Throws<ArgumentException>(() => Image.WrapMemory<Rgba32>(memory, height, width));
         }
@@ -552,8 +552,8 @@ public void WrapMemory_MemoryOfByte_InvalidSize(int size, int height, int width)
         [InlineData(2048, 32, 32)]
         public void WrapMemory_MemoryOfByte_ValidSize(int size, int height, int width)
         {
-            var array = new byte[size * Unsafe.SizeOf<Rgba32>()];
-            var memory = new Memory<byte>(array);
+            byte[] array = new byte[size * Unsafe.SizeOf<Rgba32>()];
+            Memory<byte> memory = new Memory<byte>(array);
 
             Image.WrapMemory<Rgba32>(memory, height, width);
         }
diff --git a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
index 12caa6e7a9..ffb89923ab 100644
--- a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
+++ b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
@@ -31,7 +31,7 @@ static void RunTest()
             Configuration configuration = Configuration.Default.Clone();
             configuration.PreferContiguousImageBuffers = true;
 
-            using var image = new Image<Rgba32>(configuration, 2048, 2048);
+            using Image<Rgba32> image = new Image<Rgba32>(configuration, 2048, 2048);
             Assert.True(image.DangerousTryGetSinglePixelMemory(out Memory<Rgba32> mem));
             Assert.Equal(2048 * 2048, mem.Length);
         }
@@ -69,7 +69,7 @@ static void RunTest(string formatInner)
                 Configuration = configuration
             };
 
-            using var image = Image.Load<Rgba32>(options, path);
+            using Image<Rgba32> image = Image.Load<Rgba32>(options, path);
             File.Delete(path);
             Assert.Equal(1, image.GetPixelMemoryGroup().Count);
         }
diff --git a/tests/ImageSharp.Tests/Image/ProcessPixelRowsTestBase.cs b/tests/ImageSharp.Tests/Image/ProcessPixelRowsTestBase.cs
index 27cbe1a7ea..1e50d760b0 100644
--- a/tests/ImageSharp.Tests/Image/ProcessPixelRowsTestBase.cs
+++ b/tests/ImageSharp.Tests/Image/ProcessPixelRowsTestBase.cs
@@ -32,7 +32,7 @@ protected abstract void ProcessPixelRowsImpl<TPixel>(
     [Fact]
     public void PixelAccessorDimensionsAreCorrect()
     {
-        using var image = new Image<Rgb24>(123, 456);
+        using Image<Rgb24> image = new Image<Rgb24>(123, 456);
         this.ProcessPixelRowsImpl(image, accessor =>
         {
             Assert.Equal(123, accessor.Width);
@@ -43,7 +43,7 @@ public void PixelAccessorDimensionsAreCorrect()
     [Fact]
     public void WriteImagePixels_SingleImage()
     {
-        using var image = new Image<L16>(256, 256);
+        using Image<L16> image = new Image<L16>(256, 256);
         this.ProcessPixelRowsImpl(image, accessor =>
         {
             for (int y = 0; y < accessor.Height; y++)
@@ -71,7 +71,7 @@ public void WriteImagePixels_SingleImage()
     [Fact]
     public void WriteImagePixels_MultiImage2()
     {
-        using var img1 = new Image<L16>(256, 256);
+        using Image<L16> img1 = new Image<L16>(256, 256);
         Buffer2D<L16> buffer = img1.Frames.RootFrame.PixelBuffer;
         for (int y = 0; y < 256; y++)
         {
@@ -82,7 +82,7 @@ public void WriteImagePixels_MultiImage2()
             }
         }
 
-        using var img2 = new Image<L16>(256, 256);
+        using Image<L16> img2 = new Image<L16>(256, 256);
 
         this.ProcessPixelRowsImpl(img1, img2, (accessor1, accessor2) =>
         {
@@ -109,7 +109,7 @@ public void WriteImagePixels_MultiImage2()
     [Fact]
     public void WriteImagePixels_MultiImage3()
     {
-        using var img1 = new Image<L16>(256, 256);
+        using Image<L16> img1 = new Image<L16>(256, 256);
         Buffer2D<L16> buffer2 = img1.Frames.RootFrame.PixelBuffer;
         for (int y = 0; y < 256; y++)
         {
@@ -120,8 +120,8 @@ public void WriteImagePixels_MultiImage3()
             }
         }
 
-        using var img2 = new Image<L16>(256, 256);
-        using var img3 = new Image<L16>(256, 256);
+        using Image<L16> img2 = new Image<L16>(256, 256);
+        using Image<L16> img3 = new Image<L16>(256, 256);
 
         this.ProcessPixelRowsImpl(img1, img2, img3, (accessor1, accessor2, accessor3) =>
         {
@@ -154,8 +154,8 @@ public void WriteImagePixels_MultiImage3()
     [Fact]
     public void Disposed_ThrowsObjectDisposedException()
     {
-        using var nonDisposed = new Image<L16>(1, 1);
-        var disposed = new Image<L16>(1, 1);
+        using Image<L16> nonDisposed = new Image<L16>(1, 1);
+        Image<L16> disposed = new Image<L16>(1, 1);
         disposed.Dispose();
 
         Assert.Throws<ObjectDisposedException>(() => this.ProcessPixelRowsImpl(disposed, _ => { }));
@@ -178,11 +178,11 @@ public void RetainsUnmangedBuffers1(bool throwException)
         static void RunTest(string testTypeName, string throwExceptionStr)
         {
             bool throwExceptionInner = bool.Parse(throwExceptionStr);
-            var buffer = UnmanagedBuffer<L8>.Allocate(100);
-            var allocator = new MockUnmanagedMemoryAllocator<L8>(buffer);
+            UnmanagedBuffer<L8> buffer = UnmanagedBuffer<L8>.Allocate(100);
+            MockUnmanagedMemoryAllocator<L8> allocator = new MockUnmanagedMemoryAllocator<L8>(buffer);
             Configuration.Default.MemoryAllocator = allocator;
 
-            var image = new Image<L8>(10, 10);
+            Image<L8> image = new Image<L8>(10, 10);
 
             Assert.Equal(1, UnmanagedMemoryHandle.TotalOutstandingHandles);
             try
@@ -215,13 +215,13 @@ public void RetainsUnmangedBuffers2(bool throwException)
         static void RunTest(string testTypeName, string throwExceptionStr)
         {
             bool throwExceptionInner = bool.Parse(throwExceptionStr);
-            var buffer1 = UnmanagedBuffer<L8>.Allocate(100);
-            var buffer2 = UnmanagedBuffer<L8>.Allocate(100);
-            var allocator = new MockUnmanagedMemoryAllocator<L8>(buffer1, buffer2);
+            UnmanagedBuffer<L8> buffer1 = UnmanagedBuffer<L8>.Allocate(100);
+            UnmanagedBuffer<L8> buffer2 = UnmanagedBuffer<L8>.Allocate(100);
+            MockUnmanagedMemoryAllocator<L8> allocator = new MockUnmanagedMemoryAllocator<L8>(buffer1, buffer2);
             Configuration.Default.MemoryAllocator = allocator;
 
-            var image1 = new Image<L8>(10, 10);
-            var image2 = new Image<L8>(10, 10);
+            Image<L8> image1 = new Image<L8>(10, 10);
+            Image<L8> image2 = new Image<L8>(10, 10);
 
             Assert.Equal(2, UnmanagedMemoryHandle.TotalOutstandingHandles);
             try
@@ -255,15 +255,15 @@ public void RetainsUnmangedBuffers3(bool throwException)
         static void RunTest(string testTypeName, string throwExceptionStr)
         {
             bool throwExceptionInner = bool.Parse(throwExceptionStr);
-            var buffer1 = UnmanagedBuffer<L8>.Allocate(100);
-            var buffer2 = UnmanagedBuffer<L8>.Allocate(100);
-            var buffer3 = UnmanagedBuffer<L8>.Allocate(100);
-            var allocator = new MockUnmanagedMemoryAllocator<L8>(buffer1, buffer2, buffer3);
+            UnmanagedBuffer<L8> buffer1 = UnmanagedBuffer<L8>.Allocate(100);
+            UnmanagedBuffer<L8> buffer2 = UnmanagedBuffer<L8>.Allocate(100);
+            UnmanagedBuffer<L8> buffer3 = UnmanagedBuffer<L8>.Allocate(100);
+            MockUnmanagedMemoryAllocator<L8> allocator = new MockUnmanagedMemoryAllocator<L8>(buffer1, buffer2, buffer3);
             Configuration.Default.MemoryAllocator = allocator;
 
-            var image1 = new Image<L8>(10, 10);
-            var image2 = new Image<L8>(10, 10);
-            var image3 = new Image<L8>(10, 10);
+            Image<L8> image1 = new Image<L8>(10, 10);
+            Image<L8> image2 = new Image<L8>(10, 10);
+            Image<L8> image3 = new Image<L8>(10, 10);
 
             Assert.Equal(3, UnmanagedMemoryHandle.TotalOutstandingHandles);
             try
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs b/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
index 33950c4697..6b9907ef5f 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
@@ -172,7 +172,7 @@ private void TestWriteAndReadElements<T>(int desiredLength, Func<int, T> getExpe
     {
         using (IMemoryOwner<T> buffer = this.MemoryAllocator.Allocate<T>(desiredLength))
         {
-            var expectedVals = new T[buffer.Length()];
+            T[] expectedVals = new T[buffer.Length()];
 
             for (int i = 0; i < buffer.Length(); i++)
             {
@@ -213,7 +213,7 @@ public void IndexingSpan_WhenOutOfRange_Throws_CustomStruct(int desiredLength)
     private T TestIndexOutOfRangeShouldThrow<T>(int desiredLength)
         where T : struct, IEquatable<T>
     {
-        var dummy = default(T);
+        T dummy = default(T);
 
         using (IMemoryOwner<T> buffer = this.MemoryAllocator.Allocate<T>(desiredLength))
         {
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs
index 517eda7076..ac03863fd6 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs
@@ -14,7 +14,7 @@ public class RefCountedLifetimeGuardTests
     [InlineData(3)]
     public void Dispose_ResultsInSingleRelease(int disposeCount)
     {
-        var guard = new MockLifetimeGuard();
+        MockLifetimeGuard guard = new MockLifetimeGuard();
         Assert.Equal(0, guard.ReleaseInvocationCount);
 
         for (int i = 0; i < disposeCount; i++)
@@ -45,7 +45,7 @@ static void RunTest()
     [InlineData(3)]
     public void AddRef_PreventsReleaseOnDispose(int addRefCount)
     {
-        var guard = new MockLifetimeGuard();
+        MockLifetimeGuard guard = new MockLifetimeGuard();
 
         for (int i = 0; i < addRefCount; i++)
         {
@@ -80,7 +80,7 @@ static void RunTest()
     [Fact]
     public void AddRefReleaseRefMisuse_DoesntLeadToMultipleReleases()
     {
-        var guard = new MockLifetimeGuard();
+        MockLifetimeGuard guard = new MockLifetimeGuard();
         guard.Dispose();
         guard.AddRef();
         guard.ReleaseRef();
@@ -91,8 +91,8 @@ public void AddRefReleaseRefMisuse_DoesntLeadToMultipleReleases()
     [Fact]
     public void UnmanagedBufferLifetimeGuard_Handle_IsReturnedByRef()
     {
-        var h = UnmanagedMemoryHandle.Allocate(10);
-        using var guard = new UnmanagedBufferLifetimeGuard.FreeHandle(h);
+        UnmanagedMemoryHandle h = UnmanagedMemoryHandle.Allocate(10);
+        using UnmanagedBufferLifetimeGuard.FreeHandle guard = new UnmanagedBufferLifetimeGuard.FreeHandle(h);
         Assert.True(guard.Handle.IsValid);
         guard.Handle.Free();
         Assert.False(guard.Handle.IsValid);
@@ -101,7 +101,7 @@ public void UnmanagedBufferLifetimeGuard_Handle_IsReturnedByRef()
     [MethodImpl(MethodImplOptions.NoInlining)]
     private static void LeakGuard(bool addRef)
     {
-        var guard = new MockLifetimeGuard();
+        MockLifetimeGuard guard = new MockLifetimeGuard();
         if (addRef)
         {
             guard.AddRef();
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/SharedArrayPoolBufferTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/SharedArrayPoolBufferTests.cs
index a956190cd2..51552be7d3 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/SharedArrayPoolBufferTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/SharedArrayPoolBufferTests.cs
@@ -16,7 +16,7 @@ public void AllocatesArrayPoolArray()
 
         static void RunTest()
         {
-            using (var buffer = new SharedArrayPoolBuffer<byte>(900))
+            using (SharedArrayPoolBuffer<byte> buffer = new SharedArrayPoolBuffer<byte>(900))
             {
                 Assert.Equal(900, buffer.GetSpan().Length);
                 buffer.GetSpan().Fill(42);
@@ -36,7 +36,7 @@ public void OutstandingReferences_RetainArrays()
 
         static void RunTest()
         {
-            var buffer = new SharedArrayPoolBuffer<byte>(900);
+            SharedArrayPoolBuffer<byte> buffer = new SharedArrayPoolBuffer<byte>(900);
             Span<byte> span = buffer.GetSpan();
 
             buffer.AddRef();
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs
index fd8b6af591..c5820c27f3 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs
@@ -24,8 +24,8 @@ public void TrimPeriodElapsed_TrimsHalfOfUnusedArrays()
             RemoteExecutor.Invoke(RunTest).Dispose();
             static void RunTest()
             {
-                var trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 5_000 };
-                var pool = new UniformUnmanagedMemoryPool(128, 256, trimSettings);
+                UniformUnmanagedMemoryPool.TrimSettings trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 5_000 };
+                UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, 256, trimSettings);
 
                 UnmanagedMemoryHandle[] a = pool.Rent(64);
                 UnmanagedMemoryHandle[] b = pool.Rent(64);
@@ -77,11 +77,11 @@ public void MultiplePoolInstances_TrimPeriodElapsed_AllAreTrimmed()
 
                 static void RunTest()
                 {
-                    var trimSettings1 = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 6_000 };
-                    var pool1 = new UniformUnmanagedMemoryPool(128, 256, trimSettings1);
+                    UniformUnmanagedMemoryPool.TrimSettings trimSettings1 = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 6_000 };
+                    UniformUnmanagedMemoryPool pool1 = new UniformUnmanagedMemoryPool(128, 256, trimSettings1);
                     Thread.Sleep(8_000); // Let some callbacks fire already
-                    var trimSettings2 = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 3_000 };
-                    var pool2 = new UniformUnmanagedMemoryPool(128, 256, trimSettings2);
+                    UniformUnmanagedMemoryPool.TrimSettings trimSettings2 = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 3_000 };
+                    UniformUnmanagedMemoryPool pool2 = new UniformUnmanagedMemoryPool(128, 256, trimSettings2);
 
                     pool1.Return(pool1.Rent(64));
                     pool2.Return(pool2.Rent(64));
@@ -104,7 +104,7 @@ static void RunTest()
                 [MethodImpl(MethodImplOptions.NoInlining)]
                 static void LeakPoolInstance()
                 {
-                    var trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 4_000 };
+                    UniformUnmanagedMemoryPool.TrimSettings trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 4_000 };
                     _ = new UniformUnmanagedMemoryPool(128, 256, trimSettings);
                 }
             }
@@ -129,13 +129,13 @@ static void RunTest()
                 Assert.False(Environment.Is64BitProcess);
                 const int oneMb = 1 << 20;
 
-                var trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { HighPressureThresholdRate = 0.2f };
+                UniformUnmanagedMemoryPool.TrimSettings trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { HighPressureThresholdRate = 0.2f };
 
                 GCMemoryInfo memInfo = GC.GetGCMemoryInfo();
                 int highLoadThreshold = (int)(memInfo.HighMemoryLoadThresholdBytes / oneMb);
                 highLoadThreshold = (int)(trimSettings.HighPressureThresholdRate * highLoadThreshold);
 
-                var pool = new UniformUnmanagedMemoryPool(oneMb, 16, trimSettings);
+                UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(oneMb, 16, trimSettings);
                 pool.Return(pool.Rent(16));
                 Assert.Equal(16, UnmanagedMemoryHandle.TotalOutstandingHandles);
 
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
index 69fc1a5f7d..c0c7f5c22d 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
@@ -55,7 +55,7 @@ public void Dispose()
     [InlineData(7, 4)]
     public void Constructor_InitializesProperties(int arrayLength, int capacity)
     {
-        var pool = new UniformUnmanagedMemoryPool(arrayLength, capacity);
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(arrayLength, capacity);
         Assert.Equal(arrayLength, pool.BufferLength);
         Assert.Equal(capacity, pool.Capacity);
     }
@@ -65,8 +65,8 @@ public void Constructor_InitializesProperties(int arrayLength, int capacity)
     [InlineData(8, 10)]
     public void Rent_SingleBuffer_ReturnsCorrectBuffer(int length, int capacity)
     {
-        var pool = new UniformUnmanagedMemoryPool(length, capacity);
-        using var cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(length, capacity);
+        using CleanupUtil cleanup = new CleanupUtil(pool);
 
         for (int i = 0; i < capacity; i++)
         {
@@ -83,7 +83,7 @@ public void Return_DoesNotDeallocateMemory()
 
         static void RunTest()
         {
-            var pool = new UniformUnmanagedMemoryPool(16, 16);
+            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(16, 16);
             UnmanagedMemoryHandle a = pool.Rent();
             UnmanagedMemoryHandle[] b = pool.Rent(2);
 
@@ -114,8 +114,8 @@ private static void CheckBuffer(int length, UniformUnmanagedMemoryPool pool, Unm
     [InlineData(5, 10)]
     public void Rent_MultiBuffer_ReturnsCorrectBuffers(int length, int bufferCount)
     {
-        var pool = new UniformUnmanagedMemoryPool(length, 10);
-        using var cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(length, 10);
+        using CleanupUtil cleanup = new CleanupUtil(pool);
         UnmanagedMemoryHandle[] handles = pool.Rent(bufferCount);
         cleanup.Register(handles);
 
@@ -131,8 +131,8 @@ public void Rent_MultiBuffer_ReturnsCorrectBuffers(int length, int bufferCount)
     [Fact]
     public void Rent_MultipleTimesWithoutReturn_ReturnsDifferentHandles()
     {
-        var pool = new UniformUnmanagedMemoryPool(128, 10);
-        using var cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, 10);
+        using CleanupUtil cleanup = new CleanupUtil(pool);
         UnmanagedMemoryHandle[] a = pool.Rent(2);
         cleanup.Register(a);
         UnmanagedMemoryHandle b = pool.Rent();
@@ -149,10 +149,10 @@ public void Rent_MultipleTimesWithoutReturn_ReturnsDifferentHandles()
     [InlineData(12, 4, 12)]
     public void RentReturnRent_SameBuffers(int totalCount, int rentUnit, int capacity)
     {
-        var pool = new UniformUnmanagedMemoryPool(128, capacity);
-        using var cleanup = new CleanupUtil(pool);
-        var allHandles = new HashSet<UnmanagedMemoryHandle>();
-        var handleUnits = new List<UnmanagedMemoryHandle[]>();
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, capacity);
+        using CleanupUtil cleanup = new CleanupUtil(pool);
+        HashSet<UnmanagedMemoryHandle> allHandles = new HashSet<UnmanagedMemoryHandle>();
+        List<UnmanagedMemoryHandle[]> handleUnits = new List<UnmanagedMemoryHandle[]>();
 
         UnmanagedMemoryHandle[] handles;
         for (int i = 0; i < totalCount; i += rentUnit)
@@ -197,8 +197,8 @@ public void RentReturnRent_SameBuffers(int totalCount, int rentUnit, int capacit
     [Fact]
     public void Rent_SingleBuffer_OverCapacity_ReturnsInvalidBuffer()
     {
-        var pool = new UniformUnmanagedMemoryPool(7, 1000);
-        using var cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(7, 1000);
+        using CleanupUtil cleanup = new CleanupUtil(pool);
         UnmanagedMemoryHandle[] initial = pool.Rent(1000);
         Assert.NotNull(initial);
         cleanup.Register(initial);
@@ -212,8 +212,8 @@ public void Rent_SingleBuffer_OverCapacity_ReturnsInvalidBuffer()
     [InlineData(4, 7, 10)]
     public void Rent_MultiBuffer_OverCapacity_ReturnsNull(int initialRent, int attempt, int capacity)
     {
-        var pool = new UniformUnmanagedMemoryPool(128, capacity);
-        using var cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, capacity);
+        using CleanupUtil cleanup = new CleanupUtil(pool);
         UnmanagedMemoryHandle[] initial = pool.Rent(initialRent);
         Assert.NotNull(initial);
         cleanup.Register(initial);
@@ -228,8 +228,8 @@ public void Rent_MultiBuffer_OverCapacity_ReturnsNull(int initialRent, int attem
     [InlineData(3, 3, 7)]
     public void Rent_MultiBuff_BelowCapacity_Succeeds(int initialRent, int attempt, int capacity)
     {
-        var pool = new UniformUnmanagedMemoryPool(128, capacity);
-        using var cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, capacity);
+        using CleanupUtil cleanup = new CleanupUtil(pool);
         UnmanagedMemoryHandle[] b0 = pool.Rent(initialRent);
         Assert.NotNull(b0);
         cleanup.Register(b0);
@@ -250,8 +250,8 @@ public void RentReturnRelease_SubsequentRentReturnsDifferentHandles(bool multipl
 
         static void RunTest(string multipleInner)
         {
-            var pool = new UniformUnmanagedMemoryPool(16, 16);
-            using var cleanup = new CleanupUtil(pool);
+            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(16, 16);
+            using CleanupUtil cleanup = new CleanupUtil(pool);
             UnmanagedMemoryHandle b0 = pool.Rent();
             IntPtr h0 = b0.Handle;
             UnmanagedMemoryHandle b1 = pool.Rent();
@@ -290,7 +290,7 @@ public void Release_ShouldFreeRetainedMemory()
 
         static void RunTest()
         {
-            var pool = new UniformUnmanagedMemoryPool(16, 16);
+            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(16, 16);
             UnmanagedMemoryHandle a = pool.Rent();
             UnmanagedMemoryHandle[] b = pool.Rent(2);
             pool.Return(a);
@@ -306,13 +306,13 @@ static void RunTest()
     public void RentReturn_IsThreadSafe()
     {
         int count = Environment.ProcessorCount * 200;
-        var pool = new UniformUnmanagedMemoryPool(8, count);
-        using var cleanup = new CleanupUtil(pool);
-        var rnd = new Random(0);
+        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(8, count);
+        using CleanupUtil cleanup = new CleanupUtil(pool);
+        Random rnd = new Random(0);
 
         Parallel.For(0, Environment.ProcessorCount, (int i) =>
         {
-            var allHandles = new List<UnmanagedMemoryHandle>();
+            List<UnmanagedMemoryHandle> allHandles = new List<UnmanagedMemoryHandle>();
             int pauseAt = rnd.Next(100);
             for (int j = 0; j < 100; j++)
             {
@@ -359,7 +359,7 @@ static void RunTest(string withGuardedBuffersInner)
         [MethodImpl(MethodImplOptions.NoInlining)]
         static void LeakPoolInstance(bool withGuardedBuffers)
         {
-            var pool = new UniformUnmanagedMemoryPool(16, 128);
+            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(16, 128);
             if (withGuardedBuffers)
             {
                 UnmanagedMemoryHandle h = pool.Rent();
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs
index aa34a5c108..27b1951e97 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs
@@ -69,7 +69,7 @@ public void AllocateGroup_BufferSizesAreCorrect<T>(
         int expectedSizeOfLastBuffer)
         where T : struct
     {
-        var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
             sharedArrayPoolThresholdInBytes,
             maxContiguousPoolBufferInBytes,
             maxPoolSizeInBytes,
@@ -86,13 +86,13 @@ public void AllocateGroup_BufferSizesAreCorrect<T>(
     [Fact]
     public void AllocateGroup_MultipleTimes_ExceedPoolLimit()
     {
-        var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
             64,
             128,
             1024,
             1024);
 
-        var groups = new List<MemoryGroup<S4>>();
+        List<MemoryGroup<S4>> groups = new List<MemoryGroup<S4>>();
         for (int i = 0; i < 16; i++)
         {
             int lengthInElements = 128 / Unsafe.SizeOf<S4>();
@@ -110,7 +110,7 @@ public void AllocateGroup_MultipleTimes_ExceedPoolLimit()
     [Fact]
     public void AllocateGroup_SizeInBytesOverLongMaxValue_ThrowsInvalidMemoryOperationException()
     {
-        var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(null);
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(null);
         Assert.Throws<InvalidMemoryOperationException>(() => allocator.AllocateGroup<byte>(int.MaxValue * (long)int.MaxValue, int.MaxValue));
     }
 
@@ -128,7 +128,7 @@ public void Allocate_IncorrectAmount_ThrowsCorrect_InvalidMemoryOperationExcepti
     [Fact]
     public unsafe void Allocate_MemoryIsPinnableMultipleTimes()
     {
-        var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(null);
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(null);
         using IMemoryOwner<byte> memoryOwner = allocator.Allocate<byte>(100);
 
         using (MemoryHandle pin = memoryOwner.Memory.Pin())
@@ -149,7 +149,7 @@ public void MemoryAllocator_Create_WithoutSettings_AllocatesDiscontiguousMemory(
 
         static void RunTest()
         {
-            var allocator = MemoryAllocator.Create();
+            MemoryAllocator allocator = MemoryAllocator.Create();
             long sixteenMegabytes = 16 * (1 << 20);
 
             // Should allocate 4 times 4MB discontiguos blocks:
@@ -165,7 +165,7 @@ public void MemoryAllocator_Create_LimitPoolSize()
 
         static void RunTest()
         {
-            var allocator = MemoryAllocator.Create(new MemoryAllocatorOptions()
+            MemoryAllocator allocator = MemoryAllocator.Create(new MemoryAllocatorOptions()
             {
                 MaximumPoolSizeMegabytes = 8
             });
@@ -205,7 +205,7 @@ public void BufferDisposal_ReturnsToPool(bool shared)
 
         static void RunTest(string sharedStr)
         {
-            var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
             IMemoryOwner<byte> buffer0 = allocator.Allocate<byte>(bool.Parse(sharedStr) ? 300 : 600);
             buffer0.GetSpan()[0] = 42;
             buffer0.Dispose();
@@ -223,7 +223,7 @@ public void MemoryGroupDisposal_ReturnsToPool(bool shared)
 
         static void RunTest(string sharedStr)
         {
-            var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
             MemoryGroup<byte> g0 = allocator.AllocateGroup<byte>(bool.Parse(sharedStr) ? 300 : 600, 100);
             g0.Single().Span[0] = 42;
             g0.Dispose();
@@ -238,7 +238,7 @@ public void ReleaseRetainedResources_ShouldFreePooledMemory()
         RemoteExecutor.Invoke(RunTest).Dispose();
         static void RunTest()
         {
-            var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(128, 512, 16 * 512, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(128, 512, 16 * 512, 1024);
             MemoryGroup<byte> g = allocator.AllocateGroup<byte>(2048, 128);
             g.Dispose();
             Assert.Equal(4, UnmanagedMemoryHandle.TotalOutstandingHandles);
@@ -253,7 +253,7 @@ public void ReleaseRetainedResources_DoesNotFreeOutstandingBuffers()
         RemoteExecutor.Invoke(RunTest).Dispose();
         static void RunTest()
         {
-            var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(128, 512, 16 * 512, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(128, 512, 16 * 512, 1024);
             IMemoryOwner<byte> b = allocator.Allocate<byte>(256);
             MemoryGroup<byte> g = allocator.AllocateGroup<byte>(2048, 128);
             Assert.Equal(5, UnmanagedMemoryHandle.TotalOutstandingHandles);
@@ -297,7 +297,7 @@ public void AllocateMemoryGroup_Finalization_ReturnsToPool(int length)
 
         static void RunTest(string lengthStr)
         {
-            var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
             int lengthInner = int.Parse(lengthStr);
 
             AllocateGroupAndForget(allocator, lengthInner);
@@ -365,7 +365,7 @@ public void AllocateSingleMemoryOwner_Finalization_ReturnsToPool(int length)
 
         static void RunTest(string lengthStr)
         {
-            var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
             int lengthInner = int.Parse(lengthStr);
 
             AllocateSingleAndForget(allocator, lengthInner);
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedBufferTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedBufferTests.cs
index d0a5cfa9a7..1e4795bc86 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedBufferTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedBufferTests.cs
@@ -21,7 +21,7 @@ public AllocatorBufferTests()
     [Fact]
     public void Allocate_CreatesValidBuffer()
     {
-        using var buffer = UnmanagedBuffer<int>.Allocate(10);
+        using UnmanagedBuffer<int> buffer = UnmanagedBuffer<int>.Allocate(10);
         Span<int> span = buffer.GetSpan();
         Assert.Equal(10, span.Length);
         span[9] = 123;
@@ -35,7 +35,7 @@ public unsafe void Dispose_DoesNotReleaseOutstandingReferences()
 
         static void RunTest()
         {
-            var buffer = UnmanagedBuffer<int>.Allocate(10);
+            UnmanagedBuffer<int> buffer = UnmanagedBuffer<int>.Allocate(10);
             Assert.Equal(1, UnmanagedMemoryHandle.TotalOutstandingHandles);
             Span<int> span = buffer.GetSpan();
 
@@ -76,10 +76,10 @@ static void RunTest(string countStr)
 
         static List<UnmanagedBuffer<byte>> FillList(int countInner)
         {
-            var l = new List<UnmanagedBuffer<byte>>();
+            List<UnmanagedBuffer<byte>> l = new List<UnmanagedBuffer<byte>>();
             for (int i = 0; i < countInner; i++)
             {
-                var h = UnmanagedBuffer<byte>.Allocate(42);
+                UnmanagedBuffer<byte> h = UnmanagedBuffer<byte>.Allocate(42);
                 l.Add(h);
             }
 
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedMemoryHandleTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedMemoryHandleTests.cs
index 7a0736b545..ef3af71f45 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedMemoryHandleTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedMemoryHandleTests.cs
@@ -11,7 +11,7 @@ public class UnmanagedMemoryHandleTests
     [Fact]
     public unsafe void Allocate_AllocatesReadWriteMemory()
     {
-        var h = UnmanagedMemoryHandle.Allocate(128);
+        UnmanagedMemoryHandle h = UnmanagedMemoryHandle.Allocate(128);
         Assert.False(h.IsInvalid);
         Assert.True(h.IsValid);
         byte* ptr = (byte*)h.Handle;
@@ -31,7 +31,7 @@ public unsafe void Allocate_AllocatesReadWriteMemory()
     [Fact]
     public void Free_ClosesHandle()
     {
-        var h = UnmanagedMemoryHandle.Allocate(128);
+        UnmanagedMemoryHandle h = UnmanagedMemoryHandle.Allocate(128);
         h.Free();
         Assert.True(h.IsInvalid);
         Assert.Equal(IntPtr.Zero, h.Handle);
@@ -47,11 +47,11 @@ public void Create_Free_AllocationsAreTracked(int count)
         static void RunTest(string countStr)
         {
             int countInner = int.Parse(countStr);
-            var l = new List<UnmanagedMemoryHandle>();
+            List<UnmanagedMemoryHandle> l = new List<UnmanagedMemoryHandle>();
             for (int i = 0; i < countInner; i++)
             {
                 Assert.Equal(i, UnmanagedMemoryHandle.TotalOutstandingHandles);
-                var h = UnmanagedMemoryHandle.Allocate(42);
+                UnmanagedMemoryHandle h = UnmanagedMemoryHandle.Allocate(42);
                 Assert.Equal(i + 1, UnmanagedMemoryHandle.TotalOutstandingHandles);
                 l.Add(h);
             }
@@ -68,7 +68,7 @@ static void RunTest(string countStr)
     [Fact]
     public void Equality_WhenTrue()
     {
-        var h1 = UnmanagedMemoryHandle.Allocate(10);
+        UnmanagedMemoryHandle h1 = UnmanagedMemoryHandle.Allocate(10);
         UnmanagedMemoryHandle h2 = h1;
 
         Assert.True(h1.Equals(h2));
@@ -82,8 +82,8 @@ public void Equality_WhenTrue()
     [Fact]
     public void Equality_WhenFalse()
     {
-        var h1 = UnmanagedMemoryHandle.Allocate(10);
-        var h2 = UnmanagedMemoryHandle.Allocate(10);
+        UnmanagedMemoryHandle h1 = UnmanagedMemoryHandle.Allocate(10);
+        UnmanagedMemoryHandle h2 = UnmanagedMemoryHandle.Allocate(10);
 
         Assert.False(h1.Equals(h2));
         Assert.False(h2.Equals(h1));
diff --git a/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs b/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs
index 88c05fdd0e..6dd6471e2d 100644
--- a/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs
+++ b/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs
@@ -40,8 +40,8 @@ public void SwapOrCopyContent_WhenBothAllocated()
         [Fact]
         public void SwapOrCopyContent_WhenDestinationIsOwned_ShouldNotSwapInDisposedSourceBuffer()
         {
-            using var destData = MemoryGroup<int>.Wrap(new int[100]);
-            using var dest = new Buffer2D<int>(destData, 10, 10);
+            using MemoryGroup<int> destData = MemoryGroup<int>.Wrap(new int[100]);
+            using Buffer2D<int> dest = new Buffer2D<int>(destData, 10, 10);
 
             using (Buffer2D<int> source = this.memoryAllocator.Allocate2D<int>(10, 10, AllocationOptions.Clean))
             {
@@ -112,11 +112,11 @@ public void WhenBothAreMemoryOwners_ShouldReplaceViews()
         [InlineData(true)]
         public void WhenDestIsNotAllocated_SameSize_ShouldCopy(bool sourceIsAllocated)
         {
-            var data = new Rgba32[21];
-            var color = new Rgba32(1, 2, 3, 4);
+            Rgba32[] data = new Rgba32[21];
+            Rgba32 color = new Rgba32(1, 2, 3, 4);
 
-            using var destOwner = new TestMemoryManager<Rgba32>(data);
-            using var dest = new Buffer2D<Rgba32>(MemoryGroup<Rgba32>.Wrap(destOwner.Memory), 21, 1);
+            using TestMemoryManager<Rgba32> destOwner = new TestMemoryManager<Rgba32>(data);
+            using Buffer2D<Rgba32> dest = new Buffer2D<Rgba32>(MemoryGroup<Rgba32>.Wrap(destOwner.Memory), 21, 1);
 
             using Buffer2D<Rgba32> source = this.memoryAllocator.Allocate2D<Rgba32>(21, 1);
 
@@ -136,11 +136,11 @@ public void WhenDestIsNotAllocated_SameSize_ShouldCopy(bool sourceIsAllocated)
         [InlineData(true)]
         public void WhenDestIsNotMemoryOwner_DifferentSize_Throws(bool sourceIsOwner)
         {
-            var data = new Rgba32[21];
-            var color = new Rgba32(1, 2, 3, 4);
+            Rgba32[] data = new Rgba32[21];
+            Rgba32 color = new Rgba32(1, 2, 3, 4);
 
-            using var destOwner = new TestMemoryManager<Rgba32>(data);
-            using var dest = new Buffer2D<Rgba32>(MemoryGroup<Rgba32>.Wrap(destOwner.Memory), 21, 1);
+            using TestMemoryManager<Rgba32> destOwner = new TestMemoryManager<Rgba32>(data);
+            using Buffer2D<Rgba32> dest = new Buffer2D<Rgba32>(MemoryGroup<Rgba32>.Wrap(destOwner.Memory), 21, 1);
 
             using Buffer2D<Rgba32> source = this.memoryAllocator.Allocate2D<Rgba32>(22, 1);
 
diff --git a/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs b/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
index 8ba3bf70a2..471ba4660d 100644
--- a/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
@@ -147,7 +147,7 @@ public unsafe void DangerousGetRowSpan_UnmanagedAllocator(int width, int height)
         const int unpooledBufferSize = 8_000;
 
         int elementSize = sizeof(TestStructs.Foo);
-        var allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
             sharedPoolThreshold * elementSize,
             poolBufferSize * elementSize,
             maxPoolSize * elementSize,
@@ -155,7 +155,7 @@ public unsafe void DangerousGetRowSpan_UnmanagedAllocator(int width, int height)
 
         using Buffer2D<TestStructs.Foo> buffer = allocator.Allocate2D<TestStructs.Foo>(width, height);
 
-        var rnd = new Random(42);
+        Random rnd = new Random(42);
 
         for (int y = 0; y < buffer.Height; y++)
         {
@@ -284,7 +284,7 @@ public unsafe void Indexer(int bufferCapacity, int width, int height, int x, int
     [InlineData(5, 1, 1, 3, 2)]
     public void CopyColumns(int width, int height, int startIndex, int destIndex, int columnCount)
     {
-        var rnd = new Random(123);
+        Random rnd = new Random(123);
         using (Buffer2D<float> b = this.MemoryAllocator.Allocate2D<float>(width, height))
         {
             rnd.RandomFill(b.DangerousGetSingleSpan(), 0, 1);
@@ -306,7 +306,7 @@ public void CopyColumns(int width, int height, int startIndex, int destIndex, in
     [Fact]
     public void CopyColumns_InvokeMultipleTimes()
     {
-        var rnd = new Random(123);
+        Random rnd = new Random(123);
         using (Buffer2D<float> b = this.MemoryAllocator.Allocate2D<float>(100, 100))
         {
             rnd.RandomFill(b.DangerousGetSingleSpan(), 0, 1);
diff --git a/tests/ImageSharp.Tests/Memory/BufferAreaTests.cs b/tests/ImageSharp.Tests/Memory/BufferAreaTests.cs
index 46907b9c0e..cb89f6cf64 100644
--- a/tests/ImageSharp.Tests/Memory/BufferAreaTests.cs
+++ b/tests/ImageSharp.Tests/Memory/BufferAreaTests.cs
@@ -13,8 +13,8 @@ public class BufferAreaTests
     public void Construct()
     {
         using Buffer2D<int> buffer = this.memoryAllocator.Allocate2D<int>(10, 20);
-        var rectangle = new Rectangle(3, 2, 5, 6);
-        var area = new Buffer2DRegion<int>(buffer, rectangle);
+        Rectangle rectangle = new Rectangle(3, 2, 5, 6);
+        Buffer2DRegion<int> area = new Buffer2DRegion<int>(buffer, rectangle);
 
         Assert.Equal(buffer, area.Buffer);
         Assert.Equal(rectangle, area.Rectangle);
@@ -43,7 +43,7 @@ public void Indexer(int bufferCapacity, int rx, int ry, int x, int y)
     {
         this.memoryAllocator.BufferCapacityInBytes = sizeof(int) * bufferCapacity;
         using Buffer2D<int> buffer = this.CreateTestBuffer(20, 30);
-        var r = new Rectangle(rx, ry, 5, 6);
+        Rectangle r = new Rectangle(rx, ry, 5, 6);
 
         Buffer2DRegion<int> region = buffer.GetRegion(r);
 
@@ -62,7 +62,7 @@ public void GetRowSpan(int bufferCapacity, int rx, int ry, int y, int w, int h)
         this.memoryAllocator.BufferCapacityInBytes = sizeof(int) * bufferCapacity;
 
         using Buffer2D<int> buffer = this.CreateTestBuffer(20, 30);
-        var r = new Rectangle(rx, ry, w, h);
+        Rectangle r = new Rectangle(rx, ry, w, h);
 
         Buffer2DRegion<int> region = buffer.GetRegion(r);
 
@@ -87,7 +87,7 @@ public void GetSubArea()
 
         Buffer2DRegion<int> area1 = area0.GetSubRegion(4, 4, 5, 5);
 
-        var expectedRect = new Rectangle(10, 12, 5, 5);
+        Rectangle expectedRect = new Rectangle(10, 12, 5, 5);
 
         Assert.Equal(buffer, area1.Buffer);
         Assert.Equal(expectedRect, area1.Rectangle);
@@ -120,7 +120,7 @@ public void Clear_FullArea(int bufferCapacity)
         this.memoryAllocator.BufferCapacityInBytes = sizeof(int) * bufferCapacity;
 
         using Buffer2D<int> buffer = this.CreateTestBuffer(22, 13);
-        var emptyRow = new int[22];
+        int[] emptyRow = new int[22];
         buffer.GetRegion().Clear();
 
         for (int y = 0; y < 13; y++)
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndexTests.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndexTests.cs
index a49ab77781..c8f720ecb0 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndexTests.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndexTests.cs
@@ -8,8 +8,8 @@ public class MemoryGroupIndexTests
     [Fact]
     public void Equal()
     {
-        var a = new MemoryGroupIndex(10, 1, 3);
-        var b = new MemoryGroupIndex(10, 1, 3);
+        MemoryGroupIndex a = new MemoryGroupIndex(10, 1, 3);
+        MemoryGroupIndex b = new MemoryGroupIndex(10, 1, 3);
 
         Assert.True(a.Equals(b));
         Assert.True(a == b);
@@ -21,8 +21,8 @@ public void Equal()
     [Fact]
     public void SmallerBufferIndex()
     {
-        var a = new MemoryGroupIndex(10, 3, 3);
-        var b = new MemoryGroupIndex(10, 5, 3);
+        MemoryGroupIndex a = new MemoryGroupIndex(10, 3, 3);
+        MemoryGroupIndex b = new MemoryGroupIndex(10, 5, 3);
 
         Assert.False(a == b);
         Assert.True(a != b);
@@ -33,8 +33,8 @@ public void SmallerBufferIndex()
     [Fact]
     public void SmallerElementIndex()
     {
-        var a = new MemoryGroupIndex(10, 3, 3);
-        var b = new MemoryGroupIndex(10, 3, 9);
+        MemoryGroupIndex a = new MemoryGroupIndex(10, 3, 3);
+        MemoryGroupIndex b = new MemoryGroupIndex(10, 3, 9);
 
         Assert.False(a == b);
         Assert.True(a != b);
@@ -45,7 +45,7 @@ public void SmallerElementIndex()
     [Fact]
     public void Increment()
     {
-        var a = new MemoryGroupIndex(10, 3, 3);
+        MemoryGroupIndex a = new MemoryGroupIndex(10, 3, 3);
         a += 1;
         Assert.Equal(new MemoryGroupIndex(10, 3, 4), a);
     }
@@ -53,8 +53,8 @@ public void Increment()
     [Fact]
     public void Increment_OverflowBuffer()
     {
-        var a = new MemoryGroupIndex(10, 5, 3);
-        var b = new MemoryGroupIndex(10, 5, 9);
+        MemoryGroupIndex a = new MemoryGroupIndex(10, 5, 3);
+        MemoryGroupIndex b = new MemoryGroupIndex(10, 5, 9);
         a += 8;
         b += 1;
 
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.Allocate.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.Allocate.cs
index 4c7de5412c..ac242e846d 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.Allocate.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.Allocate.cs
@@ -59,7 +59,7 @@ public void Allocate_FromMemoryAllocator_BufferSizesAreCorrect<T>(
             this.MemoryAllocator.BufferCapacityInBytes = bufferCapacity;
 
             // Act:
-            using var g = MemoryGroup<T>.Allocate(this.MemoryAllocator, totalLength, bufferAlignment);
+            using MemoryGroup<T> g = MemoryGroup<T>.Allocate(this.MemoryAllocator, totalLength, bufferAlignment);
 
             // Assert:
             ValidateAllocateMemoryGroup(expectedNumberOfBuffers, expectedBufferSize, expectedSizeOfLastBuffer, g);
@@ -83,7 +83,7 @@ public void Allocate_FromPool_BufferSizesAreCorrect<T>(
                 return;
             }
 
-            var pool = new UniformUnmanagedMemoryPool(bufferCapacity, expectedNumberOfBuffers);
+            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(bufferCapacity, expectedNumberOfBuffers);
 
             // Act:
             Assert.True(MemoryGroup<T>.TryAllocate(pool, totalLength, bufferAlignment, AllocationOptions.None, out MemoryGroup<T> g));
@@ -98,7 +98,7 @@ public void Allocate_FromPool_BufferSizesAreCorrect<T>(
         [InlineData(AllocationOptions.Clean)]
         public unsafe void Allocate_FromPool_AllocationOptionsAreApplied(AllocationOptions options)
         {
-            var pool = new UniformUnmanagedMemoryPool(10, 5);
+            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(10, 5);
             UnmanagedMemoryHandle[] buffers = pool.Rent(5);
             foreach (UnmanagedMemoryHandle b in buffers)
             {
@@ -128,7 +128,7 @@ public void Allocate_FromPool_AroundLimit(
             int requestBytes,
             bool shouldSucceed)
         {
-            var pool = new UniformUnmanagedMemoryPool(bufferCapacityBytes, poolCapacity);
+            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(bufferCapacityBytes, poolCapacity);
             int alignmentElements = alignmentBytes / Unsafe.SizeOf<S4>();
             int requestElements = requestBytes / Unsafe.SizeOf<S4>();
 
@@ -194,7 +194,7 @@ public void MemoryAllocatorIsUtilizedCorrectly(AllocationOptions allocationOptio
             HashSet<int> bufferHashes;
 
             int expectedBlockCount = 5;
-            using (var g = MemoryGroup<short>.Allocate(this.MemoryAllocator, 500, 100, allocationOptions))
+            using (MemoryGroup<short> g = MemoryGroup<short>.Allocate(this.MemoryAllocator, 500, 100, allocationOptions))
             {
                 IReadOnlyList<TestMemoryAllocator.AllocationRequest> allocationLog = this.MemoryAllocator.AllocationLog;
                 Assert.Equal(expectedBlockCount, allocationLog.Count);
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.CopyTo.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.CopyTo.cs
index 23aaf3c559..c140571fcc 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.CopyTo.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.CopyTo.cs
@@ -50,7 +50,7 @@ public void WhenTargetBufferTooShort_Throws()
         public void GroupToSpan_Success(long totalLength, int bufferLength, int spanLength)
         {
             using MemoryGroup<int> src = this.CreateTestGroup(totalLength, bufferLength, true);
-            var trg = new int[spanLength];
+            int[] trg = new int[spanLength];
             src.CopyTo(trg);
 
             int expected = 1;
@@ -67,7 +67,7 @@ public void GroupToSpan_Success(long totalLength, int bufferLength, int spanLeng
         public void GroupToSpan_OutOfRange(long totalLength, int bufferLength, int spanLength)
         {
             using MemoryGroup<int> src = this.CreateTestGroup(totalLength, bufferLength, true);
-            var trg = new int[spanLength];
+            int[] trg = new int[spanLength];
             Assert.ThrowsAny<ArgumentOutOfRangeException>(() => src.CopyTo(trg));
         }
 
@@ -78,7 +78,7 @@ public void GroupToSpan_OutOfRange(long totalLength, int bufferLength, int spanL
         [InlineData(0, 3, 0)]
         public void SpanToGroup_Success(long totalLength, int bufferLength, int spanLength)
         {
-            var src = new int[spanLength];
+            int[] src = new int[spanLength];
             for (int i = 0; i < src.Length; i++)
             {
                 src[i] = i + 1;
@@ -100,7 +100,7 @@ public void SpanToGroup_Success(long totalLength, int bufferLength, int spanLeng
         [InlineData(0, 3, 1)]
         public void SpanToGroup_OutOfRange(long totalLength, int bufferLength, int spanLength)
         {
-            var src = new int[spanLength];
+            int[] src = new int[spanLength];
             using MemoryGroup<int> trg = this.CreateTestGroup(totalLength, bufferLength, true);
             Assert.ThrowsAny<ArgumentOutOfRangeException>(() => src.AsSpan().CopyTo(trg));
         }
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.cs
index 316150c305..044c8f584c 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.cs
@@ -12,7 +12,7 @@ public partial class MemoryGroupTests : MemoryGroupTestsBase
     [Fact]
     public void IsValid_TrueAfterCreation()
     {
-        using var g = MemoryGroup<byte>.Allocate(this.MemoryAllocator, 10, 100);
+        using MemoryGroup<byte> g = MemoryGroup<byte>.Allocate(this.MemoryAllocator, 10, 100);
 
         Assert.True(g.IsValid);
     }
@@ -20,7 +20,7 @@ public void IsValid_TrueAfterCreation()
     [Fact]
     public void IsValid_FalseAfterDisposal()
     {
-        using var g = MemoryGroup<byte>.Allocate(this.MemoryAllocator, 10, 100);
+        using MemoryGroup<byte> g = MemoryGroup<byte>.Allocate(this.MemoryAllocator, 10, 100);
 
         g.Dispose();
         Assert.False(g.IsValid);
@@ -102,10 +102,10 @@ public void Wrap()
         int[] data0 = { 1, 2, 3, 4 };
         int[] data1 = { 5, 6, 7, 8 };
         int[] data2 = { 9, 10 };
-        using var mgr0 = new TestMemoryManager<int>(data0);
-        using var mgr1 = new TestMemoryManager<int>(data1);
+        using TestMemoryManager<int> mgr0 = new TestMemoryManager<int>(data0);
+        using TestMemoryManager<int> mgr1 = new TestMemoryManager<int>(data1);
 
-        using var group = MemoryGroup<int>.Wrap(mgr0.Memory, mgr1.Memory, data2);
+        using MemoryGroup<int> group = MemoryGroup<int>.Wrap(mgr0.Memory, mgr1.Memory, data2);
 
         Assert.Equal(3, group.Count);
         Assert.Equal(4, group.BufferLength);
@@ -217,7 +217,7 @@ public void Clear()
         using MemoryGroup<int> group = this.CreateTestGroup(100, 10, true);
         group.Clear();
 
-        var expectedRow = new int[10];
+        int[] expectedRow = new int[10];
         foreach (Memory<int> memory in group)
         {
             Assert.True(memory.Span.SequenceEqual(expectedRow));
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTestsBase.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTestsBase.cs
index 8fe6ef3ddb..56e2e95fe7 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTestsBase.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTestsBase.cs
@@ -15,7 +15,7 @@ public abstract class MemoryGroupTestsBase
     internal MemoryGroup<int> CreateTestGroup(long totalLength, int bufferLength, bool fillSequence = false)
     {
         this.MemoryAllocator.BufferCapacityInBytes = bufferLength * sizeof(int);
-        var g = MemoryGroup<int>.Allocate(this.MemoryAllocator, totalLength, bufferLength);
+        MemoryGroup<int> g = MemoryGroup<int>.Allocate(this.MemoryAllocator, totalLength, bufferLength);
 
         if (!fillSequence)
         {
diff --git a/tests/ImageSharp.Tests/Memory/TestStructs.cs b/tests/ImageSharp.Tests/Memory/TestStructs.cs
index ccbee5bd51..bb6a07ec96 100644
--- a/tests/ImageSharp.Tests/Memory/TestStructs.cs
+++ b/tests/ImageSharp.Tests/Memory/TestStructs.cs
@@ -19,7 +19,7 @@ public Foo(int a, double b)
 
         internal static Foo[] CreateArray(int size)
         {
-            var result = new Foo[size];
+            Foo[] result = new Foo[size];
             for (int i = 0; i < size; i++)
             {
                 result[i] = new Foo(i + 1, i + 1);
@@ -70,7 +70,7 @@ public AlignedFoo(int a, int b)
 
         internal static AlignedFoo[] CreateArray(int size)
         {
-            var result = new AlignedFoo[size];
+            AlignedFoo[] result = new AlignedFoo[size];
             for (int i = 0; i < size; i++)
             {
                 result[i] = new AlignedFoo(i + 1, i + 1);
diff --git a/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs b/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs
index 252784a7c5..a19b82e645 100644
--- a/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs
+++ b/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs
@@ -38,7 +38,7 @@ private static void MemoryDiagnostics_MemoryAllocated()
 
     public static TestMemoryDiagnostics MonitorAllocations()
     {
-        var diag = new TestMemoryDiagnostics();
+        TestMemoryDiagnostics diag = new TestMemoryDiagnostics();
         LocalInstance.Value = diag;
         return diag;
     }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/CICP/CicpProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/CICP/CicpProfileTests.cs
index 76e2d35c45..ab4d8a0d14 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/CICP/CicpProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/CICP/CicpProfileTests.cs
@@ -25,10 +25,10 @@ public async Task ReadCicpMetadata_FromPng_Works<TPixel>(TestImageProvider<TPixe
     public void WritingPng_PreservesCicpProfile()
     {
         // arrange
-        using var image = new Image<Rgba32>(1, 1);
-        var original = CreateCicpProfile();
+        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        CicpProfile original = CreateCicpProfile();
         image.Metadata.CicpProfile = original;
-        var encoder = new PngEncoder();
+        PngEncoder encoder = new PngEncoder();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -49,7 +49,7 @@ private static void CicpProfileContainsExpectedValues(CicpProfile cicp)
 
     private static CicpProfile CreateCicpProfile()
     {
-        var profile = new CicpProfile()
+        CicpProfile profile = new CicpProfile()
         {
             ColorPrimaries = CicpColorPrimaries.ItuRBt2020_2,
             TransferCharacteristics = CicpTransferCharacteristics.SmpteSt2084,
@@ -70,7 +70,7 @@ private static void CicpProfileIsValidAndEqual(CicpProfile actual, CicpProfile o
 
     private static Image<Rgba32> WriteAndRead(Image<Rgba32> image, IImageEncoder encoder)
     {
-        using (var memStream = new MemoryStream())
+        using (MemoryStream memStream = new MemoryStream())
         {
             image.Save(memStream, encoder);
             image.Dispose();
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
index 8072bebd77..c6d2cce01f 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
@@ -88,7 +88,7 @@ public void ConstructorEmpty()
     [Fact]
     public void EmptyWriter()
     {
-        var profile = new ExifProfile() { Parts = ExifParts.GpsTags };
+        ExifProfile profile = new ExifProfile() { Parts = ExifParts.GpsTags };
         profile.SetValue(ExifTag.Copyright, "Copyright text");
 
         byte[] bytes = profile.ToByteArray();
@@ -120,14 +120,14 @@ public void ConstructorCopy()
     [InlineData(TestImageWriteFormat.WebpLossy)]
     public void WriteFraction(TestImageWriteFormat imageFormat)
     {
-        using var memStream = new MemoryStream();
+        using MemoryStream memStream = new MemoryStream();
         double exposureTime = 1.0 / 1600;
 
         ExifProfile profile = GetExifProfile();
 
         profile.SetValue(ExifTag.ExposureTime, new Rational(exposureTime));
 
-        var image = new Image<Rgba32>(1, 1);
+        Image<Rgba32> image = new Image<Rgba32>(1, 1);
         image.Metadata.ExifProfile = profile;
 
         image = WriteAndRead(image, imageFormat);
@@ -231,7 +231,7 @@ public void SetValue(TestImageWriteFormat imageFormat, int expectedProfileValueC
         IExifValue<Rational[]> referenceBlackWhite = image.Metadata.ExifProfile.GetValue(ExifTag.ReferenceBlackWhite);
         Assert.Null(referenceBlackWhite.Value);
 
-        var expectedLatitude = new Rational[] { new Rational(12.3), new Rational(4.56), new Rational(789.0) };
+        Rational[] expectedLatitude = new Rational[] { new Rational(12.3), new Rational(4.56), new Rational(789.0) };
         image.Metadata.ExifProfile.SetValue(ExifTag.GPSLatitude, expectedLatitude);
 
         IExifValue<Rational[]> latitude = image.Metadata.ExifProfile.GetValue(ExifTag.GPSLatitude);
@@ -308,11 +308,11 @@ public void RemoveEntry_Works()
     [Fact]
     public void Syncs()
     {
-        var exifProfile = new ExifProfile();
+        ExifProfile exifProfile = new ExifProfile();
         exifProfile.SetValue(ExifTag.XResolution, new Rational(200));
         exifProfile.SetValue(ExifTag.YResolution, new Rational(300));
 
-        var metaData = new ImageMetadata
+        ImageMetadata metaData = new ImageMetadata
         {
             ExifProfile = exifProfile,
             HorizontalResolution = 200,
@@ -366,15 +366,15 @@ public void ReadWriteLargeProfileJpg()
         foreach (ExifTag<string> tag in tags)
         {
             // Arrange
-            var junk = new StringBuilder();
+            StringBuilder junk = new StringBuilder();
             for (int i = 0; i < 65600; i++)
             {
                 junk.Append('a');
             }
 
-            var image = new Image<Rgba32>(100, 100);
+            Image<Rgba32> image = new Image<Rgba32>(100, 100);
             ExifProfile expectedProfile = CreateExifProfile();
-            var expectedProfileTags = expectedProfile.Values.Select(x => x.Tag).ToList();
+            List<ExifTag> expectedProfileTags = expectedProfile.Values.Select(x => x.Tag).ToList();
             expectedProfile.SetValue(tag, junk.ToString());
             image.Metadata.ExifProfile = expectedProfile;
 
@@ -437,7 +437,7 @@ public void TestArrayValueWithUnspecifiedSize()
         byte[] bytes = profile.ToByteArray();
         Assert.Equal(531, bytes.Length);
 
-        var profile2 = new ExifProfile(bytes);
+        ExifProfile profile2 = new ExifProfile(bytes);
         Assert.Equal(25, profile2.Values.Count);
     }
 
@@ -449,7 +449,7 @@ public void TestArrayValueWithUnspecifiedSize()
     public void WritingImagePreservesExifProfile(TestImageWriteFormat imageFormat)
     {
         // Arrange
-        var image = new Image<Rgba32>(1, 1);
+        Image<Rgba32> image = new Image<Rgba32>(1, 1);
         image.Metadata.ExifProfile = CreateExifProfile();
 
         // Act
@@ -472,11 +472,11 @@ public void ProfileToByteArray()
         // Arrange
         byte[] exifBytesWithoutExifCode = ExifConstants.LittleEndianByteOrderMarker.ToArray();
         ExifProfile expectedProfile = CreateExifProfile();
-        var expectedProfileTags = expectedProfile.Values.Select(x => x.Tag).ToList();
+        List<ExifTag> expectedProfileTags = expectedProfile.Values.Select(x => x.Tag).ToList();
 
         // Act
         byte[] actualBytes = expectedProfile.ToByteArray();
-        var actualProfile = new ExifProfile(actualBytes);
+        ExifProfile actualProfile = new ExifProfile(actualBytes);
 
         // Assert
         Assert.NotNull(actualBytes);
@@ -492,7 +492,7 @@ public void ProfileToByteArray()
 
     private static ExifProfile CreateExifProfile()
     {
-        var profile = new ExifProfile();
+        ExifProfile profile = new ExifProfile();
 
         foreach (KeyValuePair<ExifTag, object> exifProfileValue in TestProfileValues)
         {
@@ -505,7 +505,7 @@ private static ExifProfile CreateExifProfile()
     [Fact]
     public void IfdStructure()
     {
-        var exif = new ExifProfile();
+        ExifProfile exif = new ExifProfile();
         exif.SetValue(ExifTag.XPAuthor, "Dan Petitt");
 
         Span<byte> actualBytes = exif.ToByteArray();
@@ -547,7 +547,7 @@ private static Image<Rgba32> WriteAndRead(Image<Rgba32> image, TestImageWriteFor
 
     private static Image<Rgba32> WriteAndReadJpeg(Image<Rgba32> image)
     {
-        using var memStream = new MemoryStream();
+        using MemoryStream memStream = new MemoryStream();
         image.SaveAsJpeg(memStream);
         image.Dispose();
 
@@ -557,7 +557,7 @@ private static Image<Rgba32> WriteAndReadJpeg(Image<Rgba32> image)
 
     private static Image<Rgba32> WriteAndReadPng(Image<Rgba32> image)
     {
-        using var memStream = new MemoryStream();
+        using MemoryStream memStream = new MemoryStream();
         image.SaveAsPng(memStream);
         image.Dispose();
 
@@ -567,7 +567,7 @@ private static Image<Rgba32> WriteAndReadPng(Image<Rgba32> image)
 
     private static Image<Rgba32> WriteAndReadWebp(Image<Rgba32> image, WebpFileFormatType fileFormat)
     {
-        using var memStream = new MemoryStream();
+        using MemoryStream memStream = new MemoryStream();
         image.SaveAsWebp(memStream, new WebpEncoder() { FileFormat = fileFormat });
         image.Dispose();
 
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
index 8fe19b37de..dcdc5f0f38 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
@@ -11,7 +11,7 @@ public class ExifReaderTests
     [Fact]
     public void Read_DataIsEmpty_ReturnsEmptyCollection()
     {
-        var reader = new ExifReader(Array.Empty<byte>());
+        ExifReader reader = new ExifReader(Array.Empty<byte>());
 
         IList<IExifValue> result = reader.ReadValues();
 
@@ -21,7 +21,7 @@ public void Read_DataIsEmpty_ReturnsEmptyCollection()
     [Fact]
     public void Read_DataIsMinimal_ReturnsEmptyCollection()
     {
-        var reader = new ExifReader(new byte[] { 69, 120, 105, 102, 0, 0 });
+        ExifReader reader = new ExifReader(new byte[] { 69, 120, 105, 102, 0, 0 });
 
         IList<IExifValue> result = reader.ReadValues();
 
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
index 1154b3439c..4ba259f391 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
@@ -12,7 +12,7 @@ public class ExifTagDescriptionAttributeTests
     [Fact]
     public void TestExifTag()
     {
-        var exifProfile = new ExifProfile();
+        ExifProfile exifProfile = new ExifProfile();
 
         exifProfile.SetValue(ExifTag.ResolutionUnit, (ushort)1);
         IExifValue value = exifProfile.GetValue(ExifTag.ResolutionUnit);
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
index 99cafa8960..bf6018c652 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
@@ -347,7 +347,7 @@ public void ExifByteTests(ExifTag tag)
         Assert.True(value.TrySetValue((int)expected));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifByte)value;
+        ExifByte typed = (ExifByte)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -361,7 +361,7 @@ public void ExifByteArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifByteArray)value;
+        ExifByteArray typed = (ExifByteArray)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -375,7 +375,7 @@ public void ExifDoubleArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifDoubleArray)value;
+        ExifDoubleArray typed = (ExifDoubleArray)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -389,7 +389,7 @@ public void ExifLongTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifLong)value;
+        ExifLong typed = (ExifLong)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -403,7 +403,7 @@ public void ExifLongArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifLongArray)value;
+        ExifLongArray typed = (ExifLongArray)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -447,7 +447,7 @@ public void ExifNumberTests(ExifTag tag)
         Assert.True(value.TrySetValue((int)expected));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifNumber)value;
+        ExifNumber typed = (ExifNumber)value;
         Assert.Equal(expected, typed.Value);
 
         typed.Value = ushort.MaxValue + 1;
@@ -464,7 +464,7 @@ public void ExifNumberArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifNumberArray)value;
+        ExifNumberArray typed = (ExifNumberArray)value;
         Assert.Equal(expected, typed.Value);
 
         Assert.True(value.TrySetValue(int.MaxValue));
@@ -481,14 +481,14 @@ public void ExifNumberArrayTests(ExifTag tag)
     [MemberData(nameof(RationalTags))]
     public void ExifRationalTests(ExifTag tag)
     {
-        var expected = new Rational(21, 42);
+        Rational expected = new Rational(21, 42);
         ExifValue value = ExifValues.Create(tag);
 
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(new SignedRational(expected.ToDouble())));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifRational)value;
+        ExifRational typed = (ExifRational)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -502,7 +502,7 @@ public void ExifRationalArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifRationalArray)value;
+        ExifRationalArray typed = (ExifRationalArray)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -518,7 +518,7 @@ public void ExifShortTests(ExifTag tag)
         Assert.True(value.TrySetValue((short)expected));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifShort)value;
+        ExifShort typed = (ExifShort)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -532,7 +532,7 @@ public void ExifShortArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifShortArray)value;
+        ExifShortArray typed = (ExifShortArray)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -540,13 +540,13 @@ public void ExifShortArrayTests(ExifTag tag)
     [MemberData(nameof(SignedRationalTags))]
     public void ExifSignedRationalTests(ExifTag tag)
     {
-        var expected = new SignedRational(21, 42);
+        SignedRational expected = new SignedRational(21, 42);
         ExifValue value = ExifValues.Create(tag);
 
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifSignedRational)value;
+        ExifSignedRational typed = (ExifSignedRational)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -560,7 +560,7 @@ public void ExifSignedRationalArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifSignedRationalArray)value;
+        ExifSignedRationalArray typed = (ExifSignedRationalArray)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -575,7 +575,7 @@ public void ExifSignedShortArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifSignedShortArray)value;
+        ExifSignedShortArray typed = (ExifSignedShortArray)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -589,7 +589,7 @@ public void ExifStringTests(ExifTag tag)
         Assert.False(value.TrySetValue(0M));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifString)value;
+        ExifString typed = (ExifString)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -604,7 +604,7 @@ public void ExifUndefinedTests(ExifTag tag)
         Assert.True(value.TrySetValue((int)expected));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifByte)value;
+        ExifByte typed = (ExifByte)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -618,7 +618,7 @@ public void ExifUndefinedArrayTests(ExifTag tag)
         Assert.False(value.TrySetValue(expected.ToString()));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifByteArray)value;
+        ExifByteArray typed = (ExifByteArray)value;
         Assert.Equal(expected, typed.Value);
     }
 
@@ -628,18 +628,18 @@ public void ExifEncodedStringTests(ExifTag tag)
     {
         foreach (object code in Enum.GetValues(typeof(EncodedString.CharacterCode)))
         {
-            var charCode = (EncodedString.CharacterCode)code;
+            EncodedString.CharacterCode charCode = (EncodedString.CharacterCode)code;
 
             Assert.Equal(ExifEncodedStringHelpers.CharacterCodeBytesLength, ExifEncodedStringHelpers.GetCodeBytes(charCode).Length);
 
             const string expectedText = "test string";
-            var expected = new EncodedString(charCode, expectedText);
+            EncodedString expected = new EncodedString(charCode, expectedText);
             ExifValue value = ExifValues.Create(tag);
 
             Assert.False(value.TrySetValue(123));
             Assert.True(value.TrySetValue(expected));
 
-            var typed = (ExifEncodedString)value;
+            ExifEncodedString typed = (ExifEncodedString)value;
             Assert.Equal(expected, typed.Value);
             Assert.Equal(expectedText, (string)typed.Value);
             Assert.Equal(charCode, typed.Value.Code);
@@ -656,7 +656,7 @@ public void ExifUcs2StringTests(ExifTag tag)
         Assert.False(value.TrySetValue(123));
         Assert.True(value.TrySetValue(expected));
 
-        var typed = (ExifUcs2String)value;
+        ExifUcs2String typed = (ExifUcs2String)value;
         Assert.Equal(expected, typed.Value);
 
         Assert.True(value.TrySetValue(Encoding.GetEncoding("UCS-2").GetBytes(expected)));
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
index fbbea97fb3..98159c5c32 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
@@ -21,7 +21,7 @@ public void CalculateHash_WithByteArray_CalculatesProfileHash(byte[] data, IccPr
     public void CalculateHash_WithByteArray_DoesNotModifyData()
     {
         byte[] data = IccTestDataProfiles.Profile_Random_Array;
-        var copy = new byte[data.Length];
+        byte[] copy = new byte[data.Length];
         Buffer.BlockCopy(data, 0, copy, 0, data.Length);
 
         IccProfile.CalculateHash(data);
@@ -33,7 +33,7 @@ public void CalculateHash_WithByteArray_DoesNotModifyData()
     [MemberData(nameof(IccTestDataProfiles.ProfileValidityTestData), MemberType = typeof(IccTestDataProfiles))]
     public void CheckIsValid_WithProfiles_ReturnsValidity(byte[] data, bool expected)
     {
-        var profile = new IccProfile(data);
+        IccProfile profile = new IccProfile(data);
 
         bool result = profile.CheckIsValid();
 
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
index 89b63b7dcc..5820238d6f 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
@@ -13,7 +13,7 @@ public void WriteProfile_NoEntries()
     {
         IccWriter writer = this.CreateWriter();
 
-        var profile = new IccProfile
+        IccProfile profile = new IccProfile
         {
             Header = IccTestDataProfiles.Header_Random_Write
         };
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
index 968fa86c4e..e56f7f182c 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
@@ -19,7 +19,7 @@ public void ZeroIsEqualToDefault()
     [Fact]
     public void SetIsTrueWhenNonDefaultValue()
     {
-        var id = new IccProfileId(1, 2, 3, 4);
+        IccProfileId id = new IccProfileId(1, 2, 3, 4);
 
         Assert.True(id.IsSet);
 
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
index 1a52ade629..94d9ba0461 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
@@ -22,7 +22,7 @@ public static IEnumerable<object[]> AllIptcTags()
     public void IptcProfile_WithUtf8Data_WritesEnvelopeRecord_Works()
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         profile.SetValue(IptcTag.City, "ESPAÑA");
         profile.UpdateData();
         byte[] expectedEnvelopeData = { 28, 1, 90, 0, 3, 27, 37, 71 };
@@ -39,7 +39,7 @@ public void IptcProfile_WithUtf8Data_WritesEnvelopeRecord_Works()
     public void IptcProfile_SetValue_WithStrictEnabled_Works(IptcTag tag)
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         string value = new('s', tag.MaxLength() + 1);
         int expectedLength = tag.MaxLength();
 
@@ -56,7 +56,7 @@ public void IptcProfile_SetValue_WithStrictEnabled_Works(IptcTag tag)
     public void IptcProfile_SetValue_WithStrictDisabled_Works(IptcTag tag)
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         string value = new('s', tag.MaxLength() + 1);
         int expectedLength = value.Length;
 
@@ -77,8 +77,8 @@ public void IptcProfile_SetValue_WithStrictDisabled_Works(IptcTag tag)
     public void IptcProfile_SetDateValue_Works(IptcTag tag)
     {
         // arrange
-        var profile = new IptcProfile();
-        var datetime = new DateTimeOffset(new DateTime(1994, 3, 17));
+        IptcProfile profile = new IptcProfile();
+        DateTimeOffset datetime = new DateTimeOffset(new DateTime(1994, 3, 17));
 
         // act
         profile.SetDateTimeValue(tag, datetime);
@@ -96,8 +96,8 @@ public void IptcProfile_SetDateValue_Works(IptcTag tag)
     public void IptcProfile_SetTimeValue_Works(IptcTag tag)
     {
         // arrange
-        var profile = new IptcProfile();
-        var dateTimeUtc = new DateTime(1994, 3, 17, 14, 15, 16, DateTimeKind.Utc);
+        IptcProfile profile = new IptcProfile();
+        DateTime dateTimeUtc = new DateTime(1994, 3, 17, 14, 15, 16, DateTimeKind.Utc);
         DateTimeOffset dateTimeOffset = new DateTimeOffset(dateTimeUtc).ToOffset(TimeSpan.FromHours(2));
 
         // act
@@ -116,7 +116,7 @@ public void ReadIptcMetadata_FromJpg_Works<TPixel>(TestImageProvider<TPixel> pro
         using (Image<TPixel> image = provider.GetImage(JpegDecoder.Instance))
         {
             Assert.NotNull(image.Metadata.IptcProfile);
-            var iptcValues = image.Metadata.IptcProfile.Values.ToList();
+            List<IptcValue> iptcValues = image.Metadata.IptcProfile.Values.ToList();
             IptcProfileContainsExpectedValues(iptcValues);
         }
     }
@@ -130,7 +130,7 @@ public void ReadIptcMetadata_FromTiff_Works<TPixel>(TestImageProvider<TPixel> pr
         {
             IptcProfile iptc = image.Frames.RootFrame.Metadata.IptcProfile;
             Assert.NotNull(iptc);
-            var iptcValues = iptc.Values.ToList();
+            List<IptcValue> iptcValues = iptc.Values.ToList();
             IptcProfileContainsExpectedValues(iptcValues);
         }
     }
@@ -170,7 +170,7 @@ public void ReadApp13_WithEmptyIptc_Works<TPixel>(TestImageProvider<TPixel> prov
     public void IptcProfile_ToAndFromByteArray_Works()
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         const string expectedCaptionWriter = "unittest";
         const string expectedCaption = "test";
         profile.SetValue(IptcTag.CaptionWriter, expectedCaptionWriter);
@@ -179,10 +179,10 @@ public void IptcProfile_ToAndFromByteArray_Works()
         // act
         profile.UpdateData();
         byte[] profileBytes = profile.Data;
-        var profileFromBytes = new IptcProfile(profileBytes);
+        IptcProfile profileFromBytes = new IptcProfile(profileBytes);
 
         // assert
-        var iptcValues = profileFromBytes.Values.ToList();
+        List<IptcValue> iptcValues = profileFromBytes.Values.ToList();
         ContainsIptcValue(iptcValues, IptcTag.CaptionWriter, expectedCaptionWriter);
         ContainsIptcValue(iptcValues, IptcTag.Caption, expectedCaption);
     }
@@ -191,7 +191,7 @@ public void IptcProfile_ToAndFromByteArray_Works()
     public void IptcProfile_CloneIsDeep()
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         const string captionWriter = "unittest";
         const string caption = "test";
         profile.SetValue(IptcTag.CaptionWriter, captionWriter);
@@ -203,7 +203,7 @@ public void IptcProfile_CloneIsDeep()
 
         // assert
         Assert.Equal(2, clone.Values.Count());
-        var cloneValues = clone.Values.ToList();
+        List<IptcValue> cloneValues = clone.Values.ToList();
         ContainsIptcValue(cloneValues, IptcTag.CaptionWriter, captionWriter);
         ContainsIptcValue(cloneValues, IptcTag.Caption, "changed");
         ContainsIptcValue(profile.Values.ToList(), IptcTag.Caption, caption);
@@ -213,7 +213,7 @@ public void IptcProfile_CloneIsDeep()
     public void IptcValue_CloneIsDeep()
     {
         // arrange
-        var iptcValue = new IptcValue(IptcTag.Caption, System.Text.Encoding.UTF8, "test", true);
+        IptcValue iptcValue = new IptcValue(IptcTag.Caption, System.Text.Encoding.UTF8, "test", true);
 
         // act
         IptcValue clone = iptcValue.DeepClone();
@@ -240,7 +240,7 @@ public void WritingImage_PreservesIptcProfile()
         // assert
         IptcProfile actual = reloadedImage.Metadata.IptcProfile;
         Assert.NotNull(actual);
-        var iptcValues = actual.Values.ToList();
+        List<IptcValue> iptcValues = actual.Values.ToList();
         ContainsIptcValue(iptcValues, IptcTag.CaptionWriter, expectedCaptionWriter);
         ContainsIptcValue(iptcValues, IptcTag.Caption, expectedCaption);
     }
@@ -263,7 +263,7 @@ public void WritingImage_PreservesIptcProfile()
     public void IptcProfile_AddRepeatable_Works(IptcTag tag)
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         const string expectedValue1 = "test";
         const string expectedValue2 = "another one";
         profile.SetValue(tag, expectedValue1, false);
@@ -272,7 +272,7 @@ public void IptcProfile_AddRepeatable_Works(IptcTag tag)
         profile.SetValue(tag, expectedValue2, false);
 
         // assert
-        var values = profile.Values.ToList();
+        List<IptcValue> values = profile.Values.ToList();
         Assert.Equal(2, values.Count);
         ContainsIptcValue(values, tag, expectedValue1);
         ContainsIptcValue(values, tag, expectedValue2);
@@ -315,7 +315,7 @@ public void IptcProfile_AddRepeatable_Works(IptcTag tag)
     public void IptcProfile_AddNoneRepeatable_DoesOverrideOldValue(IptcTag tag)
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         const string expectedValue = "another one";
         profile.SetValue(tag, "test", false);
 
@@ -323,7 +323,7 @@ public void IptcProfile_AddNoneRepeatable_DoesOverrideOldValue(IptcTag tag)
         profile.SetValue(tag, expectedValue, false);
 
         // assert
-        var values = profile.Values.ToList();
+        List<IptcValue> values = profile.Values.ToList();
         Assert.Equal(1, values.Count);
         ContainsIptcValue(values, tag, expectedValue);
     }
@@ -332,7 +332,7 @@ public void IptcProfile_AddNoneRepeatable_DoesOverrideOldValue(IptcTag tag)
     public void IptcProfile_RemoveByTag_RemovesAllEntrys()
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         profile.SetValue(IptcTag.Byline, "test");
         profile.SetValue(IptcTag.Byline, "test2");
 
@@ -348,7 +348,7 @@ public void IptcProfile_RemoveByTag_RemovesAllEntrys()
     public void IptcProfile_RemoveByTagAndValue_Works()
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         profile.SetValue(IptcTag.Byline, "test");
         profile.SetValue(IptcTag.Byline, "test2");
 
@@ -364,7 +364,7 @@ public void IptcProfile_RemoveByTagAndValue_Works()
     public void IptcProfile_GetValue_RetrievesAllEntries()
     {
         // arrange
-        var profile = new IptcProfile();
+        IptcProfile profile = new IptcProfile();
         profile.SetValue(IptcTag.Byline, "test");
         profile.SetValue(IptcTag.Byline, "test2");
         profile.SetValue(IptcTag.Caption, "test");
@@ -385,7 +385,7 @@ private static void ContainsIptcValue(List<IptcValue> values, IptcTag tag, strin
 
     private static Image<Rgba32> WriteAndReadJpeg(Image<Rgba32> image)
     {
-        using (var memStream = new MemoryStream())
+        using (MemoryStream memStream = new MemoryStream())
         {
             image.SaveAsJpeg(memStream);
             image.Dispose();
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs
index 5dc6ac6db7..1c253bbbeb 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs
@@ -111,10 +111,10 @@ public void XmpProfile_CloneIsDeep()
     public void WritingGif_PreservesXmpProfile()
     {
         // arrange
-        using var image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Metadata.XmpProfile = original;
-        var encoder = new GifEncoder();
+        GifEncoder encoder = new GifEncoder();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -129,10 +129,10 @@ public void WritingGif_PreservesXmpProfile()
     public void WritingJpeg_PreservesXmpProfile()
     {
         // arrange
-        using var image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Metadata.XmpProfile = original;
-        var encoder = new JpegEncoder();
+        JpegEncoder encoder = new JpegEncoder();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -147,10 +147,10 @@ public void WritingJpeg_PreservesXmpProfile()
     public async Task WritingJpeg_PreservesExtendedXmpProfile()
     {
         // arrange
-        var provider = TestImageProvider<Rgba32>.File(TestImages.Jpeg.Baseline.ExtendedXmp);
+        TestImageProvider<Rgba32> provider = TestImageProvider<Rgba32>.File(TestImages.Jpeg.Baseline.ExtendedXmp);
         using Image<Rgba32> image = await provider.GetImageAsync(JpegDecoder.Instance);
         XmpProfile original = image.Metadata.XmpProfile;
-        var encoder = new JpegEncoder();
+        JpegEncoder encoder = new JpegEncoder();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -165,10 +165,10 @@ public async Task WritingJpeg_PreservesExtendedXmpProfile()
     public void WritingPng_PreservesXmpProfile()
     {
         // arrange
-        using var image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Metadata.XmpProfile = original;
-        var encoder = new PngEncoder();
+        PngEncoder encoder = new PngEncoder();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -183,10 +183,10 @@ public void WritingPng_PreservesXmpProfile()
     public void WritingTiff_PreservesXmpProfile()
     {
         // arrange
-        using var image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Frames.RootFrame.Metadata.XmpProfile = original;
-        var encoder = new TiffEncoder();
+        TiffEncoder encoder = new TiffEncoder();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -201,10 +201,10 @@ public void WritingTiff_PreservesXmpProfile()
     public void WritingWebp_PreservesXmpProfile()
     {
         // arrange
-        using var image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Metadata.XmpProfile = original;
-        var encoder = new WebpEncoder();
+        WebpEncoder encoder = new WebpEncoder();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -228,13 +228,13 @@ private static XmpProfile CreateMinimalXmlProfile()
     {
         string content = $"<?xpacket begin='' id='{Guid.NewGuid()}'?><x:xmpmeta xmlns:x='adobe:ns:meta/'></x:xmpmeta><?xpacket end='w'?> ";
         byte[] data = Encoding.UTF8.GetBytes(content);
-        var profile = new XmpProfile(data);
+        XmpProfile profile = new XmpProfile(data);
         return profile;
     }
 
     private static Image<Rgba32> WriteAndRead(Image<Rgba32> image, IImageEncoder encoder)
     {
-        using (var memStream = new MemoryStream())
+        using (MemoryStream memStream = new MemoryStream())
         {
             image.Save(memStream, encoder);
             image.Dispose();
diff --git a/tests/ImageSharp.Tests/Numerics/SignedRationalTests.cs b/tests/ImageSharp.Tests/Numerics/SignedRationalTests.cs
index 04183571b5..2e066d1d78 100644
--- a/tests/ImageSharp.Tests/Numerics/SignedRationalTests.cs
+++ b/tests/ImageSharp.Tests/Numerics/SignedRationalTests.cs
@@ -14,15 +14,15 @@ public class SignedRationalTests
     [Fact]
     public void AreEqual()
     {
-        var r1 = new SignedRational(3, 2);
-        var r2 = new SignedRational(3, 2);
+        SignedRational r1 = new SignedRational(3, 2);
+        SignedRational r2 = new SignedRational(3, 2);
 
         Assert.Equal(r1, r2);
         Assert.True(r1 == r2);
 
-        var r3 = new SignedRational(7.55);
-        var r4 = new SignedRational(755, 100);
-        var r5 = new SignedRational(151, 20);
+        SignedRational r3 = new SignedRational(7.55);
+        SignedRational r4 = new SignedRational(755, 100);
+        SignedRational r5 = new SignedRational(151, 20);
 
         Assert.Equal(r3, r4);
         Assert.Equal(r4, r5);
@@ -34,8 +34,8 @@ public void AreEqual()
     [Fact]
     public void AreNotEqual()
     {
-        var first = new SignedRational(0, 100);
-        var second = new SignedRational(100, 100);
+        SignedRational first = new SignedRational(0, 100);
+        SignedRational second = new SignedRational(100, 100);
 
         Assert.NotEqual(first, second);
         Assert.True(first != second);
@@ -47,7 +47,7 @@ public void AreNotEqual()
     [Fact]
     public void ConstructorAssignsProperties()
     {
-        var rational = new SignedRational(7, -55);
+        SignedRational rational = new SignedRational(7, -55);
         Assert.Equal(7, rational.Numerator);
         Assert.Equal(-55, rational.Denominator);
 
@@ -75,15 +75,15 @@ public void ConstructorAssignsProperties()
     [Fact]
     public void Fraction()
     {
-        var first = new SignedRational(1.0 / 1600);
-        var second = new SignedRational(1.0 / 1600, true);
+        SignedRational first = new SignedRational(1.0 / 1600);
+        SignedRational second = new SignedRational(1.0 / 1600, true);
         Assert.False(first.Equals(second));
     }
 
     [Fact]
     public void ToDouble()
     {
-        var rational = new SignedRational(0, 0);
+        SignedRational rational = new SignedRational(0, 0);
         Assert.Equal(double.NaN, rational.ToDouble());
 
         rational = new SignedRational(2, 0);
@@ -96,7 +96,7 @@ public void ToDouble()
     [Fact]
     public void ToStringRepresentation()
     {
-        var rational = new SignedRational(0, 0);
+        SignedRational rational = new SignedRational(0, 0);
         Assert.Equal("[ Indeterminate ]", rational.ToString());
 
         rational = new SignedRational(double.PositiveInfinity);
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTestsTPixel.cs b/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTestsTPixel.cs
index d375a74c67..f423451978 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTestsTPixel.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTestsTPixel.cs
@@ -46,7 +46,7 @@ public void NormalBlendFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel
     public void NormalBlendFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.NormalSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
@@ -86,7 +86,7 @@ public void MultiplyFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TP
     public void MultiplyFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.MultiplySrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
@@ -136,7 +136,7 @@ public void AddFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel>
     public void AddFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.AddSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
@@ -176,7 +176,7 @@ public void SubtractFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TP
     public void SubtractFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.SubtractSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
@@ -216,7 +216,7 @@ public void ScreenFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPix
     public void ScreenFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.ScreenSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
@@ -256,7 +256,7 @@ public void DarkenFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPix
     public void DarkenFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.DarkenSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
@@ -296,7 +296,7 @@ public void LightenFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPi
     public void LightenFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.LightenSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
@@ -336,7 +336,7 @@ public void OverlayFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPi
     public void OverlayFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.OverlaySrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
@@ -376,7 +376,7 @@ public void HardLightFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<T
     public void HardLightFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.HardLightSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
diff --git a/tests/ImageSharp.Tests/Primitives/ColorMatrixTests.cs b/tests/ImageSharp.Tests/Primitives/ColorMatrixTests.cs
index 9c0e83a7fe..0ea429a771 100644
--- a/tests/ImageSharp.Tests/Primitives/ColorMatrixTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/ColorMatrixTests.cs
@@ -49,7 +49,7 @@ public void ColorMatrixMultiply()
         ColorMatrix value1 = CreateAllTwos();
         ColorMatrix value2 = CreateAllThrees();
 
-        var m = default(ColorMatrix);
+        ColorMatrix m = default(ColorMatrix);
 
         // First row
         m.M11 = (value1.M11 * value2.M11) + (value1.M12 * value2.M21) + (value1.M13 * value2.M31) + (value1.M14 * value2.M41);
diff --git a/tests/ImageSharp.Tests/Primitives/DenseMatrixTests.cs b/tests/ImageSharp.Tests/Primitives/DenseMatrixTests.cs
index ecc5923264..1f28e38b44 100644
--- a/tests/ImageSharp.Tests/Primitives/DenseMatrixTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/DenseMatrixTests.cs
@@ -38,7 +38,7 @@ public void DenseMatrixThrowsOnEmptyInitializer()
     [Fact]
     public void DenseMatrixReturnsCorrectDimensions()
     {
-        var dense = new DenseMatrix<float>(FloydSteinbergMatrix);
+        DenseMatrix<float> dense = new DenseMatrix<float>(FloydSteinbergMatrix);
         Assert.True(dense.Columns == FloydSteinbergMatrix.GetLength(1));
         Assert.True(dense.Rows == FloydSteinbergMatrix.GetLength(0));
         Assert.Equal(3, dense.Columns);
@@ -63,7 +63,7 @@ public void DenseMatrixGetReturnsCorrectResults()
     [Fact]
     public void DenseMatrixGetSetReturnsCorrectResults()
     {
-        var dense = new DenseMatrix<int>(4, 4);
+        DenseMatrix<int> dense = new DenseMatrix<int>(4, 4);
         const int Val = 5;
 
         dense[3, 3] = Val;
@@ -74,7 +74,7 @@ public void DenseMatrixGetSetReturnsCorrectResults()
     [Fact]
     public void DenseMatrixCanFillAndClear()
     {
-        var dense = new DenseMatrix<int>(9);
+        DenseMatrix<int> dense = new DenseMatrix<int>(9);
         dense.Fill(4);
 
         for (int i = 0; i < dense.Data.Length; i++)
@@ -100,7 +100,7 @@ public void DenseMatrixCorrectlyCasts()
     [Fact]
     public void DenseMatrixCanTranspose()
     {
-        var dense = new DenseMatrix<int>(3, 1);
+        DenseMatrix<int> dense = new DenseMatrix<int>(3, 1);
         dense[0, 0] = 1;
         dense[0, 1] = 2;
         dense[0, 2] = 3;
@@ -117,9 +117,9 @@ public void DenseMatrixCanTranspose()
     [Fact]
     public void DenseMatrixEquality()
     {
-        var dense = new DenseMatrix<int>(3, 1);
-        var dense2 = new DenseMatrix<int>(3, 1);
-        var dense3 = new DenseMatrix<int>(1, 3);
+        DenseMatrix<int> dense = new DenseMatrix<int>(3, 1);
+        DenseMatrix<int> dense2 = new DenseMatrix<int>(3, 1);
+        DenseMatrix<int> dense3 = new DenseMatrix<int>(1, 3);
 
         Assert.True(dense == dense2);
         Assert.False(dense != dense2);
diff --git a/tests/ImageSharp.Tests/Primitives/PointFTests.cs b/tests/ImageSharp.Tests/Primitives/PointFTests.cs
index c3d9e8176b..32a7b68500 100644
--- a/tests/ImageSharp.Tests/Primitives/PointFTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/PointFTests.cs
@@ -15,7 +15,7 @@ public class PointFTests
     [Fact]
     public void CanReinterpretCastFromVector2()
     {
-        var vector = new Vector2(1, 2);
+        Vector2 vector = new Vector2(1, 2);
 
         PointF point = Unsafe.As<Vector2, PointF>(ref vector);
 
@@ -37,7 +37,7 @@ public void DefaultConstructorTest()
     [InlineData(0.0, 0.0)]
     public void NonDefaultConstructorTest(float x, float y)
     {
-        var p1 = new PointF(x, y);
+        PointF p1 = new PointF(x, y);
 
         Assert.Equal(x, p1.X);
         Assert.Equal(y, p1.Y);
@@ -67,7 +67,7 @@ public void IsEmptyRandomTest(float x, float y)
     [InlineData(0, 0)]
     public void CoordinatesTest(float x, float y)
     {
-        var p = new PointF(x, y);
+        PointF p = new PointF(x, y);
         Assert.Equal(x, p.X);
         Assert.Equal(y, p.Y);
 
@@ -84,11 +84,11 @@ public void CoordinatesTest(float x, float y)
     [InlineData(0, 0, 0, 0)]
     public void ArithmeticTestWithSize(float x, float y, int x1, int y1)
     {
-        var p = new PointF(x, y);
-        var s = new Size(x1, y1);
+        PointF p = new PointF(x, y);
+        Size s = new Size(x1, y1);
 
-        var addExpected = new PointF(x + x1, y + y1);
-        var subExpected = new PointF(x - x1, y - y1);
+        PointF addExpected = new PointF(x + x1, y + y1);
+        PointF subExpected = new PointF(x - x1, y - y1);
         Assert.Equal(addExpected, p + s);
         Assert.Equal(subExpected, p - s);
         Assert.Equal(addExpected, PointF.Add(p, s));
@@ -101,11 +101,11 @@ public void ArithmeticTestWithSize(float x, float y, int x1, int y1)
     [InlineData(0, 0)]
     public void ArithmeticTestWithSizeF(float x, float y)
     {
-        var p = new PointF(x, y);
-        var s = new SizeF(y, x);
+        PointF p = new PointF(x, y);
+        SizeF s = new SizeF(y, x);
 
-        var addExpected = new PointF(x + y, y + x);
-        var subExpected = new PointF(x - y, y - x);
+        PointF addExpected = new PointF(x + y, y + x);
+        PointF subExpected = new PointF(x - y, y - x);
         Assert.Equal(addExpected, p + s);
         Assert.Equal(subExpected, p - s);
         Assert.Equal(addExpected, PointF.Add(p, s));
@@ -115,10 +115,10 @@ public void ArithmeticTestWithSizeF(float x, float y)
     [Fact]
     public void RotateTest()
     {
-        var p = new PointF(13, 17);
+        PointF p = new PointF(13, 17);
         Matrix3x2 matrix = Matrix3x2Extensions.CreateRotationDegrees(45, PointF.Empty);
 
-        var pout = PointF.Transform(p, matrix);
+        PointF pout = PointF.Transform(p, matrix);
 
         Assert.Equal(-2.82842732F, pout.X, ApproximateFloatComparer);
         Assert.Equal(21.2132034F, pout.Y, ApproximateFloatComparer);
@@ -127,10 +127,10 @@ public void RotateTest()
     [Fact]
     public void SkewTest()
     {
-        var p = new PointF(13, 17);
+        PointF p = new PointF(13, 17);
         Matrix3x2 matrix = Matrix3x2Extensions.CreateSkewDegrees(45, 45, PointF.Empty);
 
-        var pout = PointF.Transform(p, matrix);
+        PointF pout = PointF.Transform(p, matrix);
         Assert.Equal(new PointF(30, 30), pout);
     }
 
@@ -142,8 +142,8 @@ public void SkewTest()
     [InlineData(0, 0)]
     public void EqualityTest(float x, float y)
     {
-        var pLeft = new PointF(x, y);
-        var pRight = new PointF(y, x);
+        PointF pLeft = new PointF(x, y);
+        PointF pRight = new PointF(y, x);
 
         if (x == y)
         {
@@ -164,7 +164,7 @@ public void EqualityTest(float x, float y)
     [Fact]
     public void EqualityTest_NotPointF()
     {
-        var point = new PointF(0, 0);
+        PointF point = new PointF(0, 0);
         Assert.False(point.Equals(null));
         Assert.False(point.Equals(0));
 
@@ -180,7 +180,7 @@ public void EqualityTest_NotPointF()
     [Fact]
     public void GetHashCodeTest()
     {
-        var point = new PointF(10, 10);
+        PointF point = new PointF(10, 10);
         Assert.Equal(point.GetHashCode(), new PointF(10, 10).GetHashCode());
         Assert.NotEqual(point.GetHashCode(), new PointF(20, 10).GetHashCode());
         Assert.NotEqual(point.GetHashCode(), new PointF(10, 20).GetHashCode());
@@ -189,7 +189,7 @@ public void GetHashCodeTest()
     [Fact]
     public void ToStringTest()
     {
-        var p = new PointF(5.1F, -5.123F);
+        PointF p = new PointF(5.1F, -5.123F);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "PointF [ X={0}, Y={1} ]", p.X, p.Y), p.ToString());
     }
 
diff --git a/tests/ImageSharp.Tests/Primitives/PointTests.cs b/tests/ImageSharp.Tests/Primitives/PointTests.cs
index f5c64abf52..4050ac4bea 100644
--- a/tests/ImageSharp.Tests/Primitives/PointTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/PointTests.cs
@@ -21,8 +21,8 @@ public void DefaultConstructorTest()
     [InlineData(0, 0)]
     public void NonDefaultConstructorTest(int x, int y)
     {
-        var p1 = new Point(x, y);
-        var p2 = new Point(new Size(x, y));
+        Point p1 = new Point(x, y);
+        Point p2 = new Point(new Size(x, y));
 
         Assert.Equal(p1, p2);
     }
@@ -33,8 +33,8 @@ public void NonDefaultConstructorTest(int x, int y)
     [InlineData(0)]
     public void SingleIntConstructorTest(int x)
     {
-        var p1 = new Point(x);
-        var p2 = new Point(unchecked((short)(x & 0xFFFF)), unchecked((short)((x >> 16) & 0xFFFF)));
+        Point p1 = new Point(x);
+        Point p2 = new Point(unchecked((short)(x & 0xFFFF)), unchecked((short)((x >> 16) & 0xFFFF)));
 
         Assert.Equal(p1, p2);
     }
@@ -63,7 +63,7 @@ public void IsEmptyRandomTest(int x, int y)
     [InlineData(0, 0)]
     public void CoordinatesTest(int x, int y)
     {
-        var p = new Point(x, y);
+        Point p = new Point(x, y);
         Assert.Equal(x, p.X);
         Assert.Equal(y, p.Y);
     }
@@ -86,7 +86,7 @@ public void PointFConversionTest(int x, int y)
     [InlineData(0, 0)]
     public void SizeConversionTest(int x, int y)
     {
-        var sz = (Size)new Point(x, y);
+        Size sz = (Size)new Point(x, y);
         Assert.Equal(new Size(x, y), sz);
     }
 
@@ -98,7 +98,7 @@ public void SizeConversionTest(int x, int y)
     public void ArithmeticTest(int x, int y)
     {
         Point addExpected, subExpected, p = new Point(x, y);
-        var s = new Size(y, x);
+        Size s = new Size(y, x);
 
         unchecked
         {
@@ -119,7 +119,7 @@ public void ArithmeticTest(int x, int y)
     [InlineData(0, 0)]
     public void PointFMathematicalTest(float x, float y)
     {
-        var pf = new PointF(x, y);
+        PointF pf = new PointF(x, y);
         Point pCeiling, pTruncate, pRound;
 
         unchecked
@@ -141,8 +141,8 @@ public void PointFMathematicalTest(float x, float y)
     [InlineData(0, 0)]
     public void OffsetTest(int x, int y)
     {
-        var p1 = new Point(x, y);
-        var p2 = new Point(y, x);
+        Point p1 = new Point(x, y);
+        Point p2 = new Point(y, x);
 
         p1.Offset(p2);
 
@@ -156,10 +156,10 @@ public void OffsetTest(int x, int y)
     [Fact]
     public void RotateTest()
     {
-        var p = new Point(13, 17);
+        Point p = new Point(13, 17);
         Matrix3x2 matrix = Matrix3x2Extensions.CreateRotationDegrees(45, Point.Empty);
 
-        var pout = Point.Transform(p, matrix);
+        Point pout = Point.Transform(p, matrix);
 
         Assert.Equal(new Point(-3, 21), pout);
     }
@@ -167,10 +167,10 @@ public void RotateTest()
     [Fact]
     public void SkewTest()
     {
-        var p = new Point(13, 17);
+        Point p = new Point(13, 17);
         Matrix3x2 matrix = Matrix3x2Extensions.CreateSkewDegrees(45, 45, Point.Empty);
 
-        var pout = Point.Transform(p, matrix);
+        Point pout = Point.Transform(p, matrix);
         Assert.Equal(new Point(30, 30), pout);
     }
 
@@ -181,9 +181,9 @@ public void SkewTest()
     [InlineData(0, 0)]
     public void EqualityTest(int x, int y)
     {
-        var p1 = new Point(x, y);
-        var p2 = new Point((x / 2) - 1, (y / 2) - 1);
-        var p3 = new Point(x, y);
+        Point p1 = new Point(x, y);
+        Point p2 = new Point((x / 2) - 1, (y / 2) - 1);
+        Point p3 = new Point(x, y);
 
         Assert.True(p1 == p3);
         Assert.True(p1 != p2);
@@ -203,7 +203,7 @@ public void EqualityTest(int x, int y)
     [Fact]
     public void EqualityTest_NotPoint()
     {
-        var point = new Point(0, 0);
+        Point point = new Point(0, 0);
         Assert.False(point.Equals(null));
         Assert.False(point.Equals(0));
         Assert.False(point.Equals(new PointF(0, 0)));
@@ -212,7 +212,7 @@ public void EqualityTest_NotPoint()
     [Fact]
     public void GetHashCodeTest()
     {
-        var point = new Point(10, 10);
+        Point point = new Point(10, 10);
         Assert.Equal(point.GetHashCode(), new Point(10, 10).GetHashCode());
         Assert.NotEqual(point.GetHashCode(), new Point(20, 10).GetHashCode());
         Assert.NotEqual(point.GetHashCode(), new Point(10, 20).GetHashCode());
@@ -223,7 +223,7 @@ public void GetHashCodeTest()
     [InlineData(1, -2, 3, -4)]
     public void ConversionTest(int x, int y, int width, int height)
     {
-        var rect = new Rectangle(x, y, width, height);
+        Rectangle rect = new Rectangle(x, y, width, height);
         RectangleF rectF = rect;
         Assert.Equal(x, rectF.X);
         Assert.Equal(y, rectF.Y);
@@ -234,7 +234,7 @@ public void ConversionTest(int x, int y, int width, int height)
     [Fact]
     public void ToStringTest()
     {
-        var p = new Point(5, -5);
+        Point p = new Point(5, -5);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "Point [ X={0}, Y={1} ]", p.X, p.Y), p.ToString());
     }
 
diff --git a/tests/ImageSharp.Tests/Primitives/RectangleFTests.cs b/tests/ImageSharp.Tests/Primitives/RectangleFTests.cs
index a9b3251ca3..0e8bf4f344 100644
--- a/tests/ImageSharp.Tests/Primitives/RectangleFTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/RectangleFTests.cs
@@ -23,10 +23,10 @@ public void DefaultConstructorTest()
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void NonDefaultConstructorTest(float x, float y, float width, float height)
     {
-        var rect1 = new RectangleF(x, y, width, height);
-        var p = new PointF(x, y);
-        var s = new SizeF(width, height);
-        var rect2 = new RectangleF(p, s);
+        RectangleF rect1 = new RectangleF(x, y, width, height);
+        PointF p = new PointF(x, y);
+        SizeF s = new SizeF(width, height);
+        RectangleF rect2 = new RectangleF(p, s);
 
         Assert.Equal(rect1, rect2);
     }
@@ -38,8 +38,8 @@ public void NonDefaultConstructorTest(float x, float y, float width, float heigh
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void FromLTRBTest(float left, float top, float right, float bottom)
     {
-        var expected = new RectangleF(left, top, right - left, bottom - top);
-        var actual = RectangleF.FromLTRB(left, top, right, bottom);
+        RectangleF expected = new RectangleF(left, top, right - left, bottom - top);
+        RectangleF actual = RectangleF.FromLTRB(left, top, right, bottom);
 
         Assert.Equal(expected, actual);
     }
@@ -51,9 +51,9 @@ public void FromLTRBTest(float left, float top, float right, float bottom)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void DimensionsTest(float x, float y, float width, float height)
     {
-        var rect = new RectangleF(x, y, width, height);
-        var p = new PointF(x, y);
-        var s = new SizeF(width, height);
+        RectangleF rect = new RectangleF(x, y, width, height);
+        PointF p = new PointF(x, y);
+        SizeF s = new SizeF(width, height);
 
         Assert.Equal(p, rect.Location);
         Assert.Equal(s, rect.Size);
@@ -84,8 +84,8 @@ public void IsEmptyTest()
     [InlineData(float.MaxValue, float.MinValue)]
     public void LocationSetTest(float x, float y)
     {
-        var point = new PointF(x, y);
-        var rect = new RectangleF(10, 10, 10, 10) { Location = point };
+        PointF point = new PointF(x, y);
+        RectangleF rect = new RectangleF(10, 10, 10, 10) { Location = point };
         Assert.Equal(point, rect.Location);
         Assert.Equal(point.X, rect.X);
         Assert.Equal(point.Y, rect.Y);
@@ -96,8 +96,8 @@ public void LocationSetTest(float x, float y)
     [InlineData(float.MaxValue, float.MinValue)]
     public void SizeSetTest(float x, float y)
     {
-        var size = new SizeF(x, y);
-        var rect = new RectangleF(10, 10, 10, 10) { Size = size };
+        SizeF size = new SizeF(x, y);
+        RectangleF rect = new RectangleF(10, 10, 10, 10) { Size = size };
         Assert.Equal(size, rect.Size);
         Assert.Equal(size.Width, rect.Width);
         Assert.Equal(size.Height, rect.Height);
@@ -109,8 +109,8 @@ public void SizeSetTest(float x, float y)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void EqualityTest(float x, float y, float width, float height)
     {
-        var rect1 = new RectangleF(x, y, width, height);
-        var rect2 = new RectangleF(width, height, x, y);
+        RectangleF rect1 = new RectangleF(x, y, width, height);
+        RectangleF rect2 = new RectangleF(width, height, x, y);
 
         Assert.True(rect1 != rect2);
         Assert.False(rect1 == rect2);
@@ -121,7 +121,7 @@ public void EqualityTest(float x, float y, float width, float height)
     [Fact]
     public void EqualityTestNotRectangleF()
     {
-        var rectangle = new RectangleF(0, 0, 0, 0);
+        RectangleF rectangle = new RectangleF(0, 0, 0, 0);
         Assert.False(rectangle.Equals(null));
         Assert.False(rectangle.Equals(0));
 
@@ -137,8 +137,8 @@ public void EqualityTestNotRectangleF()
     [Fact]
     public void GetHashCodeTest()
     {
-        var rect1 = new RectangleF(10, 10, 10, 10);
-        var rect2 = new RectangleF(10, 10, 10, 10);
+        RectangleF rect1 = new RectangleF(10, 10, 10, 10);
+        RectangleF rect2 = new RectangleF(10, 10, 10, 10);
         Assert.Equal(rect1.GetHashCode(), rect2.GetHashCode());
         Assert.NotEqual(rect1.GetHashCode(), new RectangleF(20, 10, 10, 10).GetHashCode());
         Assert.NotEqual(rect1.GetHashCode(), new RectangleF(10, 20, 10, 10).GetHashCode());
@@ -151,11 +151,11 @@ public void GetHashCodeTest()
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void ContainsTest(float x, float y, float width, float height)
     {
-        var rect = new RectangleF(x, y, width, height);
+        RectangleF rect = new RectangleF(x, y, width, height);
         float x1 = (x + width) / 2;
         float y1 = (y + height) / 2;
-        var p = new PointF(x1, y1);
-        var r = new RectangleF(x1, y1, width / 2, height / 2);
+        PointF p = new PointF(x1, y1);
+        RectangleF r = new RectangleF(x1, y1, width / 2, height / 2);
 
         Assert.False(rect.Contains(x1, y1));
         Assert.False(rect.Contains(p));
@@ -168,13 +168,13 @@ public void ContainsTest(float x, float y, float width, float height)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void InflateTest(float x, float y, float width, float height)
     {
-        var rect = new RectangleF(x, y, width, height);
-        var inflatedRect = new RectangleF(x - width, y - height, width + (2 * width), height + (2 * height));
+        RectangleF rect = new RectangleF(x, y, width, height);
+        RectangleF inflatedRect = new RectangleF(x - width, y - height, width + (2 * width), height + (2 * height));
 
         rect.Inflate(width, height);
         Assert.Equal(inflatedRect, rect);
 
-        var s = new SizeF(x, y);
+        SizeF s = new SizeF(x, y);
         inflatedRect = RectangleF.Inflate(rect, x, y);
 
         rect.Inflate(s);
@@ -186,9 +186,9 @@ public void InflateTest(float x, float y, float width, float height)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void IntersectTest(float x, float y, float width, float height)
     {
-        var rect1 = new RectangleF(x, y, width, height);
-        var rect2 = new RectangleF(y, x, width, height);
-        var expectedRect = RectangleF.Intersect(rect1, rect2);
+        RectangleF rect1 = new RectangleF(x, y, width, height);
+        RectangleF rect2 = new RectangleF(y, x, width, height);
+        RectangleF expectedRect = RectangleF.Intersect(rect1, rect2);
         rect1.Intersect(rect2);
         Assert.Equal(expectedRect, rect1);
         Assert.False(rect1.IntersectsWith(expectedRect));
@@ -197,9 +197,9 @@ public void IntersectTest(float x, float y, float width, float height)
     [Fact]
     public void IntersectIntersectingRectsTest()
     {
-        var rect1 = new RectangleF(0, 0, 5, 5);
-        var rect2 = new RectangleF(1, 1, 3, 3);
-        var expected = new RectangleF(1, 1, 3, 3);
+        RectangleF rect1 = new RectangleF(0, 0, 5, 5);
+        RectangleF rect2 = new RectangleF(1, 1, 3, 3);
+        RectangleF expected = new RectangleF(1, 1, 3, 3);
 
         Assert.Equal(expected, RectangleF.Intersect(rect1, rect2));
     }
@@ -211,15 +211,15 @@ public void IntersectIntersectingRectsTest()
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void UnionTest(float x, float y, float width, float height)
     {
-        var a = new RectangleF(x, y, width, height);
-        var b = new RectangleF(width, height, x, y);
+        RectangleF a = new RectangleF(x, y, width, height);
+        RectangleF b = new RectangleF(width, height, x, y);
 
         float x1 = Math.Min(a.X, b.X);
         float x2 = Math.Max(a.X + a.Width, b.X + b.Width);
         float y1 = Math.Min(a.Y, b.Y);
         float y2 = Math.Max(a.Y + a.Height, b.Y + b.Height);
 
-        var expectedRectangle = new RectangleF(x1, y1, x2 - x1, y2 - y1);
+        RectangleF expectedRectangle = new RectangleF(x1, y1, x2 - x1, y2 - y1);
 
         Assert.Equal(expectedRectangle, RectangleF.Union(a, b));
     }
@@ -231,9 +231,9 @@ public void UnionTest(float x, float y, float width, float height)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void OffsetTest(float x, float y, float width, float height)
     {
-        var r1 = new RectangleF(x, y, width, height);
-        var expectedRect = new RectangleF(x + width, y + height, width, height);
-        var p = new PointF(width, height);
+        RectangleF r1 = new RectangleF(x, y, width, height);
+        RectangleF expectedRect = new RectangleF(x + width, y + height, width, height);
+        PointF p = new PointF(width, height);
 
         r1.Offset(p);
         Assert.Equal(expectedRect, r1);
@@ -246,7 +246,7 @@ public void OffsetTest(float x, float y, float width, float height)
     [Fact]
     public void ToStringTest()
     {
-        var r = new RectangleF(5, 5.1F, 1.3F, 1);
+        RectangleF r = new RectangleF(5, 5.1F, 1.3F, 1);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "RectangleF [ X={0}, Y={1}, Width={2}, Height={3} ]", r.X, r.Y, r.Width, r.Height), r.ToString());
     }
 
diff --git a/tests/ImageSharp.Tests/Primitives/RectangleTests.cs b/tests/ImageSharp.Tests/Primitives/RectangleTests.cs
index 2ba3a77315..54d53cddef 100644
--- a/tests/ImageSharp.Tests/Primitives/RectangleTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/RectangleTests.cs
@@ -23,8 +23,8 @@ public void DefaultConstructorTest()
     [InlineData(0, int.MinValue, 0, int.MaxValue)]
     public void NonDefaultConstructorTest(int x, int y, int width, int height)
     {
-        var rect1 = new Rectangle(x, y, width, height);
-        var rect2 = new Rectangle(new Point(x, y), new Size(width, height));
+        Rectangle rect1 = new Rectangle(x, y, width, height);
+        Rectangle rect2 = new Rectangle(new Point(x, y), new Size(width, height));
 
         Assert.Equal(rect1, rect2);
     }
@@ -36,8 +36,8 @@ public void NonDefaultConstructorTest(int x, int y, int width, int height)
     [InlineData(0, int.MinValue, 0, int.MaxValue)]
     public void FromLTRBTest(int left, int top, int right, int bottom)
     {
-        var rect1 = new Rectangle(left, top, unchecked(right - left), unchecked(bottom - top));
-        var rect2 = Rectangle.FromLTRB(left, top, right, bottom);
+        Rectangle rect1 = new Rectangle(left, top, unchecked(right - left), unchecked(bottom - top));
+        Rectangle rect2 = Rectangle.FromLTRB(left, top, right, bottom);
 
         Assert.Equal(rect1, rect2);
     }
@@ -68,7 +68,7 @@ public void NonEmptyTest(int x, int y, int width, int height)
     [InlineData(int.MinValue, int.MaxValue, int.MinValue, int.MaxValue)]
     public void DimensionsTest(int x, int y, int width, int height)
     {
-        var rect = new Rectangle(x, y, width, height);
+        Rectangle rect = new Rectangle(x, y, width, height);
         Assert.Equal(new Point(x, y), rect.Location);
         Assert.Equal(new Size(width, height), rect.Size);
 
@@ -81,8 +81,8 @@ public void DimensionsTest(int x, int y, int width, int height)
         Assert.Equal(unchecked(x + width), rect.Right);
         Assert.Equal(unchecked(y + height), rect.Bottom);
 
-        var p = new Point(width, height);
-        var s = new Size(x, y);
+        Point p = new Point(width, height);
+        Size s = new Size(x, y);
         rect.Location = p;
         rect.Size = s;
 
@@ -104,8 +104,8 @@ public void DimensionsTest(int x, int y, int width, int height)
     [InlineData(int.MaxValue, int.MinValue)]
     public void LocationSetTest(int x, int y)
     {
-        var point = new Point(x, y);
-        var rect = new Rectangle(10, 10, 10, 10) { Location = point };
+        Point point = new Point(x, y);
+        Rectangle rect = new Rectangle(10, 10, 10, 10) { Location = point };
         Assert.Equal(point, rect.Location);
         Assert.Equal(point.X, rect.X);
         Assert.Equal(point.Y, rect.Y);
@@ -116,8 +116,8 @@ public void LocationSetTest(int x, int y)
     [InlineData(int.MaxValue, int.MinValue)]
     public void SizeSetTest(int x, int y)
     {
-        var size = new Size(x, y);
-        var rect = new Rectangle(10, 10, 10, 10) { Size = size };
+        Size size = new Size(x, y);
+        Rectangle rect = new Rectangle(10, 10, 10, 10) { Size = size };
         Assert.Equal(size, rect.Size);
         Assert.Equal(size.Width, rect.Width);
         Assert.Equal(size.Height, rect.Height);
@@ -130,8 +130,8 @@ public void SizeSetTest(int x, int y)
     [InlineData(int.MinValue, int.MaxValue, int.MinValue, int.MaxValue)]
     public void EqualityTest(int x, int y, int width, int height)
     {
-        var rect1 = new Rectangle(x, y, width, height);
-        var rect2 = new Rectangle(width / 2, height / 2, x, y);
+        Rectangle rect1 = new Rectangle(x, y, width, height);
+        Rectangle rect2 = new Rectangle(width / 2, height / 2, x, y);
 
         Assert.True(rect1 != rect2);
         Assert.False(rect1 == rect2);
@@ -142,7 +142,7 @@ public void EqualityTest(int x, int y, int width, int height)
     [Fact]
     public void EqualityTestNotRectangle()
     {
-        var rectangle = new Rectangle(0, 0, 0, 0);
+        Rectangle rectangle = new Rectangle(0, 0, 0, 0);
         Assert.False(rectangle.Equals(null));
         Assert.False(rectangle.Equals(0));
         Assert.False(rectangle.Equals(new RectangleF(0, 0, 0, 0)));
@@ -151,8 +151,8 @@ public void EqualityTestNotRectangle()
     [Fact]
     public void GetHashCodeTest()
     {
-        var rect1 = new Rectangle(10, 10, 10, 10);
-        var rect2 = new Rectangle(10, 10, 10, 10);
+        Rectangle rect1 = new Rectangle(10, 10, 10, 10);
+        Rectangle rect2 = new Rectangle(10, 10, 10, 10);
         Assert.Equal(rect1.GetHashCode(), rect2.GetHashCode());
         Assert.NotEqual(rect1.GetHashCode(), new Rectangle(20, 10, 10, 10).GetHashCode());
         Assert.NotEqual(rect1.GetHashCode(), new Rectangle(10, 20, 10, 10).GetHashCode());
@@ -166,7 +166,7 @@ public void GetHashCodeTest()
     [InlineData(0, 0, 0, 0)]
     public void RectangleFConversionTest(float x, float y, float width, float height)
     {
-        var rect = new RectangleF(x, y, width, height);
+        RectangleF rect = new RectangleF(x, y, width, height);
         Rectangle rCeiling, rTruncate, rRound;
 
         unchecked
@@ -196,9 +196,9 @@ public void RectangleFConversionTest(float x, float y, float width, float height
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void ContainsTest(int x, int y, int width, int height)
     {
-        var rect = new Rectangle(unchecked((2 * x) - width), unchecked((2 * y) - height), width, height);
-        var p = new Point(x, y);
-        var r = new Rectangle(x, y, width / 2, height / 2);
+        Rectangle rect = new Rectangle(unchecked((2 * x) - width), unchecked((2 * y) - height), width, height);
+        Point p = new Point(x, y);
+        Rectangle r = new Rectangle(x, y, width / 2, height / 2);
 
         Assert.False(rect.Contains(x, y));
         Assert.False(rect.Contains(p));
@@ -222,7 +222,7 @@ public void InflateTest(int x, int y, int width, int height)
         rect.Inflate(width, height);
         Assert.Equal(inflatedRect, rect);
 
-        var s = new Size(x, y);
+        Size s = new Size(x, y);
         unchecked
         {
             inflatedRect = new Rectangle(rect.X - x, rect.Y - y, rect.Width + (2 * x), rect.Height + (2 * y));
@@ -238,8 +238,8 @@ public void InflateTest(int x, int y, int width, int height)
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void IntersectTest(int x, int y, int width, int height)
     {
-        var rect = new Rectangle(x, y, width, height);
-        var expectedRect = Rectangle.Intersect(rect, rect);
+        Rectangle rect = new Rectangle(x, y, width, height);
+        Rectangle expectedRect = Rectangle.Intersect(rect, rect);
         rect.Intersect(rect);
         Assert.Equal(expectedRect, rect);
         Assert.False(rect.IntersectsWith(expectedRect));
@@ -248,9 +248,9 @@ public void IntersectTest(int x, int y, int width, int height)
     [Fact]
     public void IntersectIntersectingRectsTest()
     {
-        var rect1 = new Rectangle(0, 0, 5, 5);
-        var rect2 = new Rectangle(1, 1, 3, 3);
-        var expected = new Rectangle(1, 1, 3, 3);
+        Rectangle rect1 = new Rectangle(0, 0, 5, 5);
+        Rectangle rect2 = new Rectangle(1, 1, 3, 3);
+        Rectangle expected = new Rectangle(1, 1, 3, 3);
 
         Assert.Equal(expected, Rectangle.Intersect(rect1, rect2));
     }
@@ -262,15 +262,15 @@ public void IntersectIntersectingRectsTest()
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void UnionTest(int x, int y, int width, int height)
     {
-        var a = new Rectangle(x, y, width, height);
-        var b = new Rectangle(width, height, x, y);
+        Rectangle a = new Rectangle(x, y, width, height);
+        Rectangle b = new Rectangle(width, height, x, y);
 
         int x1 = Math.Min(a.X, b.X);
         int x2 = Math.Max(a.X + a.Width, b.X + b.Width);
         int y1 = Math.Min(a.Y, b.Y);
         int y2 = Math.Max(a.Y + a.Height, b.Y + b.Height);
 
-        var expectedRectangle = new Rectangle(x1, y1, x2 - x1, y2 - y1);
+        Rectangle expectedRectangle = new Rectangle(x1, y1, x2 - x1, y2 - y1);
 
         Assert.Equal(expectedRectangle, Rectangle.Union(a, b));
     }
@@ -282,9 +282,9 @@ public void UnionTest(int x, int y, int width, int height)
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void OffsetTest(int x, int y, int width, int height)
     {
-        var r1 = new Rectangle(x, y, width, height);
-        var expectedRect = new Rectangle(x + width, y + height, width, height);
-        var p = new Point(width, height);
+        Rectangle r1 = new Rectangle(x, y, width, height);
+        Rectangle expectedRect = new Rectangle(x + width, y + height, width, height);
+        Point p = new Point(width, height);
 
         r1.Offset(p);
         Assert.Equal(expectedRect, r1);
@@ -297,7 +297,7 @@ public void OffsetTest(int x, int y, int width, int height)
     [Fact]
     public void ToStringTest()
     {
-        var r = new Rectangle(5, -5, 0, 1);
+        Rectangle r = new Rectangle(5, -5, 0, 1);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "Rectangle [ X={0}, Y={1}, Width={2}, Height={3} ]", r.X, r.Y, r.Width, r.Height), r.ToString());
     }
 
@@ -321,7 +321,7 @@ public void ToStringTest()
     [InlineData(0, 0, 0, 0)]
     public void DeconstructTest(int x, int y, int width, int height)
     {
-        var r = new Rectangle(x, y, width, height);
+        Rectangle r = new Rectangle(x, y, width, height);
 
         (int dx, int dy, int dw, int dh) = r;
 
diff --git a/tests/ImageSharp.Tests/Primitives/SizeFTests.cs b/tests/ImageSharp.Tests/Primitives/SizeFTests.cs
index 1a36b4921a..3ab3b872fb 100644
--- a/tests/ImageSharp.Tests/Primitives/SizeFTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/SizeFTests.cs
@@ -20,9 +20,9 @@ public void DefaultConstructorTest()
     [InlineData(0, 0)]
     public void NonDefaultConstructorAndDimensionsTest(float width, float height)
     {
-        var s1 = new SizeF(width, height);
-        var p1 = new PointF(width, height);
-        var s2 = new SizeF(s1);
+        SizeF s1 = new SizeF(width, height);
+        PointF p1 = new PointF(width, height);
+        SizeF s2 = new SizeF(s1);
 
         Assert.Equal(s1, s2);
         Assert.Equal(s1, new SizeF(p1));
@@ -62,10 +62,10 @@ public void IsEmptyRandomTest(float width, float height)
     [InlineData(0, 0)]
     public void ArithmeticTest(float width, float height)
     {
-        var s1 = new SizeF(width, height);
-        var s2 = new SizeF(height, width);
-        var addExpected = new SizeF(width + height, width + height);
-        var subExpected = new SizeF(width - height, height - width);
+        SizeF s1 = new SizeF(width, height);
+        SizeF s2 = new SizeF(height, width);
+        SizeF addExpected = new SizeF(width + height, width + height);
+        SizeF subExpected = new SizeF(width - height, height - width);
 
         Assert.Equal(addExpected, s1 + s2);
         Assert.Equal(addExpected, SizeF.Add(s1, s2));
@@ -81,8 +81,8 @@ public void ArithmeticTest(float width, float height)
     [InlineData(0, 0)]
     public void EqualityTest(float width, float height)
     {
-        var sLeft = new SizeF(width, height);
-        var sRight = new SizeF(height, width);
+        SizeF sLeft = new SizeF(width, height);
+        SizeF sRight = new SizeF(height, width);
 
         if (width == height)
         {
@@ -103,7 +103,7 @@ public void EqualityTest(float width, float height)
     [Fact]
     public void EqualityTest_NotSizeF()
     {
-        var size = new SizeF(0, 0);
+        SizeF size = new SizeF(0, 0);
         Assert.False(size.Equals(null));
         Assert.False(size.Equals(0));
 
@@ -119,7 +119,7 @@ public void EqualityTest_NotSizeF()
     [Fact]
     public void GetHashCodeTest()
     {
-        var size = new SizeF(10, 10);
+        SizeF size = new SizeF(10, 10);
         Assert.Equal(size.GetHashCode(), new SizeF(10, 10).GetHashCode());
         Assert.NotEqual(size.GetHashCode(), new SizeF(20, 10).GetHashCode());
         Assert.NotEqual(size.GetHashCode(), new SizeF(10, 20).GetHashCode());
@@ -132,9 +132,9 @@ public void GetHashCodeTest()
     [InlineData(0, 0)]
     public void ConversionTest(float width, float height)
     {
-        var s1 = new SizeF(width, height);
-        var p1 = (PointF)s1;
-        var s2 = new Size(unchecked((int)width), unchecked((int)height));
+        SizeF s1 = new SizeF(width, height);
+        PointF p1 = (PointF)s1;
+        Size s2 = new Size(unchecked((int)width), unchecked((int)height));
 
         Assert.Equal(new PointF(width, height), p1);
         Assert.Equal(p1, (PointF)s1);
@@ -144,7 +144,7 @@ public void ConversionTest(float width, float height)
     [Fact]
     public void ToStringTest()
     {
-        var sz = new SizeF(10, 5);
+        SizeF sz = new SizeF(10, 5);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "SizeF [ Width={0}, Height={1} ]", sz.Width, sz.Height), sz.ToString());
     }
 
diff --git a/tests/ImageSharp.Tests/Primitives/SizeTests.cs b/tests/ImageSharp.Tests/Primitives/SizeTests.cs
index eec1fb63b0..41457a8de5 100644
--- a/tests/ImageSharp.Tests/Primitives/SizeTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/SizeTests.cs
@@ -23,8 +23,8 @@ public void DefaultConstructorTest()
     [InlineData(0, 0)]
     public void NonDefaultConstructorTest(int width, int height)
     {
-        var s1 = new Size(width, height);
-        var s2 = new Size(new Point(width, height));
+        Size s1 = new Size(width, height);
+        Size s2 = new Size(new Point(width, height));
 
         Assert.Equal(s1, s2);
 
@@ -59,7 +59,7 @@ public void IsEmptyRandomTest(int width, int height)
     [InlineData(0, 0)]
     public void DimensionsTest(int width, int height)
     {
-        var p = new Size(width, height);
+        Size p = new Size(width, height);
         Assert.Equal(width, p.Width);
         Assert.Equal(height, p.Height);
     }
@@ -82,7 +82,7 @@ public void PointFConversionTest(int width, int height)
     [InlineData(0, 0)]
     public void SizeConversionTest(int width, int height)
     {
-        var sz = (Point)new Size(width, height);
+        Point sz = (Point)new Size(width, height);
         Assert.Equal(new Point(width, height), sz);
     }
 
@@ -93,8 +93,8 @@ public void SizeConversionTest(int width, int height)
     [InlineData(0, 0)]
     public void ArithmeticTest(int width, int height)
     {
-        var sz1 = new Size(width, height);
-        var sz2 = new Size(height, width);
+        Size sz1 = new Size(width, height);
+        Size sz2 = new Size(height, width);
         Size addExpected, subExpected;
 
         unchecked
@@ -116,7 +116,7 @@ public void ArithmeticTest(int width, int height)
     [InlineData(0, 0)]
     public void PointFMathematicalTest(float width, float height)
     {
-        var szF = new SizeF(width, height);
+        SizeF szF = new SizeF(width, height);
         Size pCeiling, pTruncate, pRound;
 
         unchecked
@@ -138,9 +138,9 @@ public void PointFMathematicalTest(float width, float height)
     [InlineData(0, 0)]
     public void EqualityTest(int width, int height)
     {
-        var p1 = new Size(width, height);
-        var p2 = new Size(unchecked(width - 1), unchecked(height - 1));
-        var p3 = new Size(width, height);
+        Size p1 = new Size(width, height);
+        Size p2 = new Size(unchecked(width - 1), unchecked(height - 1));
+        Size p3 = new Size(width, height);
 
         Assert.True(p1 == p3);
         Assert.True(p1 != p2);
@@ -160,7 +160,7 @@ public void EqualityTest(int width, int height)
     [Fact]
     public void EqualityTest_NotSize()
     {
-        var size = new Size(0, 0);
+        Size size = new Size(0, 0);
         Assert.False(size.Equals(null));
         Assert.False(size.Equals(0));
         Assert.False(size.Equals(new SizeF(0, 0)));
@@ -169,7 +169,7 @@ public void EqualityTest_NotSize()
     [Fact]
     public void GetHashCodeTest()
     {
-        var size = new Size(10, 10);
+        Size size = new Size(10, 10);
         Assert.Equal(size.GetHashCode(), new Size(10, 10).GetHashCode());
         Assert.NotEqual(size.GetHashCode(), new Size(20, 10).GetHashCode());
         Assert.NotEqual(size.GetHashCode(), new Size(10, 20).GetHashCode());
@@ -178,7 +178,7 @@ public void GetHashCodeTest()
     [Fact]
     public void ToStringTest()
     {
-        var sz = new Size(10, 5);
+        Size sz = new Size(10, 5);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "Size [ Width={0}, Height={1} ]", sz.Width, sz.Height), sz.ToString());
     }
 
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/BoxBlurTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/BoxBlurTest.cs
index da2bc465f6..2337e4567d 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/BoxBlurTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/BoxBlurTest.cs
@@ -13,7 +13,7 @@ public class BoxBlurTest : BaseImageOperationsExtensionTest
     public void BoxBlur_BoxBlurProcessorDefaultsSet()
     {
         this.operations.BoxBlur();
-        var processor = this.Verify<BoxBlurProcessor>();
+        BoxBlurProcessor processor = this.Verify<BoxBlurProcessor>();
 
         Assert.Equal(7, processor.Radius);
     }
@@ -22,7 +22,7 @@ public void BoxBlur_BoxBlurProcessorDefaultsSet()
     public void BoxBlur_amount_BoxBlurProcessorDefaultsSet()
     {
         this.operations.BoxBlur(34);
-        var processor = this.Verify<BoxBlurProcessor>();
+        BoxBlurProcessor processor = this.Verify<BoxBlurProcessor>();
 
         Assert.Equal(34, processor.Radius);
     }
@@ -31,7 +31,7 @@ public void BoxBlur_amount_BoxBlurProcessorDefaultsSet()
     public void BoxBlur_amount_rect_BoxBlurProcessorDefaultsSet()
     {
         this.operations.BoxBlur(5, this.rect);
-        var processor = this.Verify<BoxBlurProcessor>(this.rect);
+        BoxBlurProcessor processor = this.Verify<BoxBlurProcessor>(this.rect);
 
         Assert.Equal(5, processor.Radius);
     }
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs
index 476e5b0a90..2cf1c744dc 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs
@@ -11,9 +11,9 @@ public class KernelSamplingMapTest
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7RepeatBorder()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(0, 0, 7, 7);
-        var mode = BorderWrappingMode.Repeat;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Repeat;
         int[] expected =
         {
             0, 0, 0, 1, 2,
@@ -30,9 +30,9 @@ public void KernalSamplingMap_Kernel5Image7x7RepeatBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7BounceBorder()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(0, 0, 7, 7);
-        var mode = BorderWrappingMode.Bounce;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
             2, 1, 0, 1, 2,
@@ -49,9 +49,9 @@ public void KernalSamplingMap_Kernel5Image7x7BounceBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7MirrorBorder()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(0, 0, 7, 7);
-        var mode = BorderWrappingMode.Mirror;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
             1, 0, 0, 1, 2,
@@ -68,9 +68,9 @@ public void KernalSamplingMap_Kernel5Image7x7MirrorBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7WrapBorder()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(0, 0, 7, 7);
-        var mode = BorderWrappingMode.Wrap;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
             5, 6, 0, 1, 2,
@@ -87,9 +87,9 @@ public void KernalSamplingMap_Kernel5Image7x7WrapBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image9x9BounceBorder()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(1, 1, 9, 9);
-        var mode = BorderWrappingMode.Bounce;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(1, 1, 9, 9);
+        BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
             3, 2, 1, 2, 3,
@@ -108,9 +108,9 @@ public void KernalSamplingMap_Kernel5Image9x9BounceBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image9x9MirrorBorder()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(1, 1, 9, 9);
-        var mode = BorderWrappingMode.Mirror;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(1, 1, 9, 9);
+        BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
             2, 1, 1, 2, 3,
@@ -129,9 +129,9 @@ public void KernalSamplingMap_Kernel5Image9x9MirrorBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image9x9WrapBorder()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(1, 1, 9, 9);
-        var mode = BorderWrappingMode.Wrap;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(1, 1, 9, 9);
+        BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
             8, 9, 1, 2, 3,
@@ -150,9 +150,9 @@ public void KernalSamplingMap_Kernel5Image9x9WrapBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7RepeatBorderTile()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(2, 2, 7, 7);
-        var mode = BorderWrappingMode.Repeat;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Repeat;
         int[] expected =
         {
             2, 2, 2, 3, 4,
@@ -169,9 +169,9 @@ public void KernalSamplingMap_Kernel5Image7x7RepeatBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7BounceBorderTile()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(2, 2, 7, 7);
-        var mode = BorderWrappingMode.Bounce;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
             4, 3, 2, 3, 4,
@@ -188,9 +188,9 @@ public void KernalSamplingMap_Kernel5Image7x7BounceBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7MirrorBorderTile()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(2, 2, 7, 7);
-        var mode = BorderWrappingMode.Mirror;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
             3, 2, 2, 3, 4,
@@ -207,9 +207,9 @@ public void KernalSamplingMap_Kernel5Image7x7MirrorBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7WrapBorderTile()
     {
-        var kernelSize = new Size(5, 5);
-        var bounds = new Rectangle(2, 2, 7, 7);
-        var mode = BorderWrappingMode.Wrap;
+        Size kernelSize = new Size(5, 5);
+        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
             7, 8, 2, 3, 4,
@@ -226,9 +226,9 @@ public void KernalSamplingMap_Kernel5Image7x7WrapBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7RepeatBorder()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(0, 0, 7, 7);
-        var mode = BorderWrappingMode.Repeat;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Repeat;
         int[] expected =
         {
             0, 0, 1,
@@ -245,9 +245,9 @@ public void KernalSamplingMap_Kernel3Image7x7RepeatBorder()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7BounceBorder()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(0, 0, 7, 7);
-        var mode = BorderWrappingMode.Bounce;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
             1, 0, 1,
@@ -264,9 +264,9 @@ public void KernalSamplingMap_Kernel3Image7x7BounceBorder()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7MirrorBorder()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(0, 0, 7, 7);
-        var mode = BorderWrappingMode.Mirror;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
             0, 0, 1,
@@ -283,9 +283,9 @@ public void KernalSamplingMap_Kernel3Image7x7MirrorBorder()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7WrapBorder()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(0, 0, 7, 7);
-        var mode = BorderWrappingMode.Wrap;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
             6, 0, 1,
@@ -302,9 +302,9 @@ public void KernalSamplingMap_Kernel3Image7x7WrapBorder()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7RepeatBorderTile()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(2, 2, 7, 7);
-        var mode = BorderWrappingMode.Repeat;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Repeat;
         int[] expected =
         {
             2, 2, 3,
@@ -321,9 +321,9 @@ public void KernalSamplingMap_Kernel3Image7x7RepeatBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7BounceBorderTile()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(2, 2, 7, 7);
-        var mode = BorderWrappingMode.Bounce;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
             3, 2, 3,
@@ -340,9 +340,9 @@ public void KernalSamplingMap_Kernel3Image7BounceBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7MirrorBorderTile()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(2, 2, 7, 7);
-        var mode = BorderWrappingMode.Mirror;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
             2, 2, 3,
@@ -359,9 +359,9 @@ public void KernalSamplingMap_Kernel3Image7MirrorBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7WrapBorderTile()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(2, 2, 7, 7);
-        var mode = BorderWrappingMode.Wrap;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
             8, 2, 3,
@@ -378,9 +378,9 @@ public void KernalSamplingMap_Kernel3Image7x7WrapBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x5WrapBorderTile()
     {
-        var kernelSize = new Size(3, 3);
-        var bounds = new Rectangle(2, 2, 7, 5);
-        var mode = BorderWrappingMode.Wrap;
+        Size kernelSize = new Size(3, 3);
+        Rectangle bounds = new Rectangle(2, 2, 7, 5);
+        BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] xExpected =
         {
             8, 2, 3,
@@ -405,15 +405,15 @@ public void KernalSamplingMap_Kernel3Image7x5WrapBorderTile()
     private void AssertOffsets(Size kernelSize, Rectangle bounds, BorderWrappingMode xBorderMode, BorderWrappingMode yBorderMode, int[] xExpected, int[] yExpected)
     {
         // Arrange
-        var map = new KernelSamplingMap(Configuration.Default.MemoryAllocator);
+        KernelSamplingMap map = new KernelSamplingMap(Configuration.Default.MemoryAllocator);
 
         // Act
         map.BuildSamplingOffsetMap(kernelSize.Height, kernelSize.Width, bounds, xBorderMode, yBorderMode);
 
         // Assert
-        var xOffsets = map.GetColumnOffsetSpan().ToArray();
+        int[] xOffsets = map.GetColumnOffsetSpan().ToArray();
         Assert.Equal(xExpected, xOffsets);
-        var yOffsets = map.GetRowOffsetSpan().ToArray();
+        int[] yOffsets = map.GetRowOffsetSpan().ToArray();
         Assert.Equal(yExpected, yOffsets);
     }
 }
diff --git a/tests/ImageSharp.Tests/Processing/Effects/OilPaintTest.cs b/tests/ImageSharp.Tests/Processing/Effects/OilPaintTest.cs
index 6d5973dbbb..b24ab6c817 100644
--- a/tests/ImageSharp.Tests/Processing/Effects/OilPaintTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Effects/OilPaintTest.cs
@@ -13,7 +13,7 @@ public class OilPaintTest : BaseImageOperationsExtensionTest
     public void OilPaint_OilPaintingProcessorDefaultsSet()
     {
         this.operations.OilPaint();
-        var processor = this.Verify<OilPaintingProcessor>();
+        OilPaintingProcessor processor = this.Verify<OilPaintingProcessor>();
 
         Assert.Equal(10, processor.Levels);
         Assert.Equal(15, processor.BrushSize);
@@ -23,7 +23,7 @@ public void OilPaint_OilPaintingProcessorDefaultsSet()
     public void OilPaint_rect_OilPaintingProcessorDefaultsSet()
     {
         this.operations.OilPaint(this.rect);
-        var processor = this.Verify<OilPaintingProcessor>(this.rect);
+        OilPaintingProcessor processor = this.Verify<OilPaintingProcessor>(this.rect);
 
         Assert.Equal(10, processor.Levels);
         Assert.Equal(15, processor.BrushSize);
@@ -33,7 +33,7 @@ public void OilPaint_rect_OilPaintingProcessorDefaultsSet()
     public void OilPaint_Levels_Brush_OilPaintingProcessorDefaultsSet()
     {
         this.operations.OilPaint(34, 65);
-        var processor = this.Verify<OilPaintingProcessor>();
+        OilPaintingProcessor processor = this.Verify<OilPaintingProcessor>();
 
         Assert.Equal(34, processor.Levels);
         Assert.Equal(65, processor.BrushSize);
@@ -43,7 +43,7 @@ public void OilPaint_Levels_Brush_OilPaintingProcessorDefaultsSet()
     public void OilPaint_Levels_Brush_rect_OilPaintingProcessorDefaultsSet()
     {
         this.operations.OilPaint(54, 43, this.rect);
-        var processor = this.Verify<OilPaintingProcessor>(this.rect);
+        OilPaintingProcessor processor = this.Verify<OilPaintingProcessor>(this.rect);
 
         Assert.Equal(54, processor.Levels);
         Assert.Equal(43, processor.BrushSize);
diff --git a/tests/ImageSharp.Tests/Processing/Effects/PixelateTest.cs b/tests/ImageSharp.Tests/Processing/Effects/PixelateTest.cs
index 6531f7b442..f557183d6e 100644
--- a/tests/ImageSharp.Tests/Processing/Effects/PixelateTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Effects/PixelateTest.cs
@@ -13,7 +13,7 @@ public class PixelateTest : BaseImageOperationsExtensionTest
     public void Pixelate_PixelateProcessorDefaultsSet()
     {
         this.operations.Pixelate();
-        var processor = this.Verify<PixelateProcessor>();
+        PixelateProcessor processor = this.Verify<PixelateProcessor>();
 
         Assert.Equal(4, processor.Size);
     }
@@ -22,7 +22,7 @@ public void Pixelate_PixelateProcessorDefaultsSet()
     public void Pixelate_Size_PixelateProcessorDefaultsSet()
     {
         this.operations.Pixelate(12);
-        var processor = this.Verify<PixelateProcessor>();
+        PixelateProcessor processor = this.Verify<PixelateProcessor>();
 
         Assert.Equal(12, processor.Size);
     }
@@ -31,7 +31,7 @@ public void Pixelate_Size_PixelateProcessorDefaultsSet()
     public void Pixelate_Size_rect_PixelateProcessorDefaultsSet()
     {
         this.operations.Pixelate(23, this.rect);
-        var processor = this.Verify<PixelateProcessor>(this.rect);
+        PixelateProcessor processor = this.Verify<PixelateProcessor>(this.rect);
 
         Assert.Equal(23, processor.Size);
     }
diff --git a/tests/ImageSharp.Tests/Processing/FakeImageOperationsProvider.cs b/tests/ImageSharp.Tests/Processing/FakeImageOperationsProvider.cs
index 17f63384e0..08f62ec017 100644
--- a/tests/ImageSharp.Tests/Processing/FakeImageOperationsProvider.cs
+++ b/tests/ImageSharp.Tests/Processing/FakeImageOperationsProvider.cs
@@ -35,7 +35,7 @@ public IEnumerable<FakeImageOperations<TPixel>> Created<TPixel>(Image<TPixel> so
     public IInternalImageProcessingContext<TPixel> CreateImageProcessingContext<TPixel>(Configuration configuration, Image<TPixel> source, bool mutate)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var op = new FakeImageOperations<TPixel>(configuration, source, mutate);
+        FakeImageOperations<TPixel> op = new FakeImageOperations<TPixel>(configuration, source, mutate);
         this.imageOperators.Add(op);
         return op;
     }
diff --git a/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs b/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
index 87436e4a35..306caf8f27 100644
--- a/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
@@ -31,7 +31,7 @@ public void Brightness_amount_rect_BrightnessProcessorDefaultsSet()
     [Fact]
     public void Brightness_scaled_vector()
     {
-        var rgbImage = new Image<Rgb24>(Configuration.Default, 100, 100, new Rgb24(0, 0, 0));
+        Image<Rgb24> rgbImage = new Image<Rgb24>(Configuration.Default, 100, 100, new Rgb24(0, 0, 0));
 
         rgbImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2)));
 
@@ -43,7 +43,7 @@ public void Brightness_scaled_vector()
 
         Assert.Equal(new Rgb24(20, 20, 20), rgbImage[0, 0]);
 
-        var halfSingleImage = new Image<HalfSingle>(Configuration.Default, 100, 100, new HalfSingle(-1));
+        Image<HalfSingle> halfSingleImage = new Image<HalfSingle>(Configuration.Default, 100, 100, new HalfSingle(-1));
 
         halfSingleImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2)));
 
diff --git a/tests/ImageSharp.Tests/Processing/Filters/HueTest.cs b/tests/ImageSharp.Tests/Processing/Filters/HueTest.cs
index 0c197a96f7..33deb715ba 100644
--- a/tests/ImageSharp.Tests/Processing/Filters/HueTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Filters/HueTest.cs
@@ -13,7 +13,7 @@ public class HueTest : BaseImageOperationsExtensionTest
     public void Hue_amount_HueProcessorDefaultsSet()
     {
         this.operations.Hue(34f);
-        var processor = this.Verify<HueProcessor>();
+        HueProcessor processor = this.Verify<HueProcessor>();
 
         Assert.Equal(34f, processor.Degrees);
     }
@@ -22,7 +22,7 @@ public void Hue_amount_HueProcessorDefaultsSet()
     public void Hue_amount_rect_HueProcessorDefaultsSet()
     {
         this.operations.Hue(5f, this.rect);
-        var processor = this.Verify<HueProcessor>(this.rect);
+        HueProcessor processor = this.Verify<HueProcessor>(this.rect);
 
         Assert.Equal(5f, processor.Degrees);
     }
diff --git a/tests/ImageSharp.Tests/Processing/Filters/LomographTest.cs b/tests/ImageSharp.Tests/Processing/Filters/LomographTest.cs
index e84bd243e4..f68ecef08f 100644
--- a/tests/ImageSharp.Tests/Processing/Filters/LomographTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Filters/LomographTest.cs
@@ -13,7 +13,7 @@ public class LomographTest : BaseImageOperationsExtensionTest
     public void Lomograph_amount_LomographProcessorDefaultsSet()
     {
         this.operations.Lomograph();
-        var processor = this.Verify<LomographProcessor>();
+        LomographProcessor processor = this.Verify<LomographProcessor>();
         Assert.Equal(processor.GraphicsOptions, this.options);
     }
 
@@ -21,7 +21,7 @@ public void Lomograph_amount_LomographProcessorDefaultsSet()
     public void Lomograph_amount_rect_LomographProcessorDefaultsSet()
     {
         this.operations.Lomograph(this.rect);
-        var processor = this.Verify<LomographProcessor>(this.rect);
+        LomographProcessor processor = this.Verify<LomographProcessor>(this.rect);
         Assert.Equal(processor.GraphicsOptions, this.options);
     }
 }
diff --git a/tests/ImageSharp.Tests/Processing/Filters/PolaroidTest.cs b/tests/ImageSharp.Tests/Processing/Filters/PolaroidTest.cs
index 7d3e0aed0f..89d8d47bcf 100644
--- a/tests/ImageSharp.Tests/Processing/Filters/PolaroidTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Filters/PolaroidTest.cs
@@ -13,7 +13,7 @@ public class PolaroidTest : BaseImageOperationsExtensionTest
     public void Polaroid_amount_PolaroidProcessorDefaultsSet()
     {
         this.operations.Polaroid();
-        var processor = this.Verify<PolaroidProcessor>();
+        PolaroidProcessor processor = this.Verify<PolaroidProcessor>();
         Assert.Equal(processor.GraphicsOptions, this.options);
     }
 
@@ -21,7 +21,7 @@ public void Polaroid_amount_PolaroidProcessorDefaultsSet()
     public void Polaroid_amount_rect_PolaroidProcessorDefaultsSet()
     {
         this.operations.Polaroid(this.rect);
-        var processor = this.Verify<PolaroidProcessor>(this.rect);
+        PolaroidProcessor processor = this.Verify<PolaroidProcessor>(this.rect);
         Assert.Equal(processor.GraphicsOptions, this.options);
     }
 }
diff --git a/tests/ImageSharp.Tests/Processing/ImageOperationTests.cs b/tests/ImageSharp.Tests/Processing/ImageOperationTests.cs
index 744e26d8f7..4b66f47142 100644
--- a/tests/ImageSharp.Tests/Processing/ImageOperationTests.cs
+++ b/tests/ImageSharp.Tests/Processing/ImageOperationTests.cs
@@ -24,7 +24,7 @@ public ImageOperationTests()
     {
         this.provider = new FakeImageOperationsProvider();
 
-        var processorMock = new Mock<IImageProcessor>();
+        Mock<IImageProcessor> processorMock = new Mock<IImageProcessor>();
         this.processorDefinition = processorMock.Object;
 
         this.image = new Image<Rgba32>(
@@ -103,7 +103,7 @@ public void CloneCallsImageOperationsProvider_ListOfProcessors_NotOnOriginal()
     [Fact]
     public void ApplyProcessors_ListOfProcessors_AppliesAllProcessorsToOperation()
     {
-        var operations = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(Configuration.Default, null, false);
+        FakeImageOperationsProvider.FakeImageOperations<Rgba32> operations = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(Configuration.Default, null, false);
         operations.ApplyProcessors(this.processorDefinition);
         Assert.Contains(this.processorDefinition, operations.Applied.Select(x => x.NonGenericProcessor));
     }
@@ -152,7 +152,7 @@ private static string GetExpectedExceptionText()
     {
         try
         {
-            var img = new Image<Rgba32>(1, 1);
+            Image<Rgba32> img = new Image<Rgba32>(1, 1);
             img.Dispose();
             img.EnsureNotDisposed();
         }
diff --git a/tests/ImageSharp.Tests/Processing/Normalization/HistogramEqualizationTests.cs b/tests/ImageSharp.Tests/Processing/Normalization/HistogramEqualizationTests.cs
index 60e33835af..afa3a99fce 100644
--- a/tests/ImageSharp.Tests/Processing/Normalization/HistogramEqualizationTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Normalization/HistogramEqualizationTests.cs
@@ -32,7 +32,7 @@ public void GlobalHistogramEqualization_WithDifferentLuminanceLevels(int luminan
             70,  87,  69,  68,  65,  73,  78,  90
         };
 
-        using (var image = new Image<Rgba32>(8, 8))
+        using (Image<Rgba32> image = new Image<Rgba32>(8, 8))
         {
             for (int y = 0; y < 8; y++)
             {
@@ -83,7 +83,7 @@ public void GlobalHistogramEqualization_CompareToReferenceOutput<TPixel>(TestIma
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            var options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new HistogramEqualizationOptions
             {
                 Method = HistogramEqualizationMethod.Global,
                 LuminanceLevels = 256,
@@ -101,7 +101,7 @@ public void Adaptive_SlidingWindow_15Tiles_WithClipping<TPixel>(TestImageProvide
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            var options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new HistogramEqualizationOptions
             {
                 Method = HistogramEqualizationMethod.AdaptiveSlidingWindow,
                 LuminanceLevels = 256,
@@ -121,7 +121,7 @@ public void Adaptive_TileInterpolation_10Tiles_WithClipping<TPixel>(TestImagePro
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            var options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new HistogramEqualizationOptions
             {
                 Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
                 LuminanceLevels = 256,
@@ -141,7 +141,7 @@ public void AutoLevel_SeparateChannels_CompareToReferenceOutput<TPixel>(TestImag
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            var options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new HistogramEqualizationOptions
             {
                 Method = HistogramEqualizationMethod.AutoLevel,
                 LuminanceLevels = 256,
@@ -160,7 +160,7 @@ public void AutoLevel_SynchronizedChannels_CompareToReferenceOutput<TPixel>(Test
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            var options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new HistogramEqualizationOptions
             {
                 Method = HistogramEqualizationMethod.AutoLevel,
                 LuminanceLevels = 256,
@@ -187,7 +187,7 @@ public void Issue984<TPixel>(TestImageProvider<TPixel> provider)
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            var options = new HistogramEqualizationOptions()
+            HistogramEqualizationOptions options = new HistogramEqualizationOptions()
             {
                 Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
                 LuminanceLevels = 256,
@@ -214,7 +214,7 @@ public unsafe void Issue1640<TPixel>(TestImageProvider<TPixel> provider)
         // https://github.com/SixLabors/ImageSharp/discussions/1640
         // Test using isolated memory to ensure clean buffers for reference
         provider.Configuration = Configuration.CreateDefaultInstance();
-        var options = new HistogramEqualizationOptions
+        HistogramEqualizationOptions options = new HistogramEqualizationOptions
         {
             Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
             LuminanceLevels = 4096,
diff --git a/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs b/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
index 7eec6eb0c1..be92633341 100644
--- a/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
@@ -45,7 +45,7 @@ public void Glow_Radux_GlowProcessorWithDefaultValues()
     [Fact]
     public void Glow_Rect_GlowProcessorWithDefaultValues()
     {
-        var rect = new Rectangle(12, 123, 43, 65);
+        Rectangle rect = new Rectangle(12, 123, 43, 65);
         this.operations.Glow(rect);
         GlowProcessor p = this.Verify<GlowProcessor>(rect);
 
diff --git a/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs b/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
index 1602b5c7a2..14dcc7438e 100644
--- a/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
@@ -48,7 +48,7 @@ public void Vignette_Radux_VignetteProcessorWithDefaultValues()
     [Fact]
     public void Vignette_Rect_VignetteProcessorWithDefaultValues()
     {
-        var rect = new Rectangle(12, 123, 43, 65);
+        Rectangle rect = new Rectangle(12, 123, 43, 65);
         this.operations.Vignette(rect);
         VignetteProcessor p = this.Verify<VignetteProcessor>(rect);
 
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
index 9694aeb222..18f62c1717 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
@@ -102,7 +102,7 @@ public void ApplyDitherFilterInBox<TPixel>(TestImageProvider<TPixel> provider)
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            var bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
+            Rectangle bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
 
             image.Mutate(x => x.BinaryDither(DefaultDitherer, bounds));
             image.DebugSave(provider);
@@ -119,7 +119,7 @@ public void ApplyDiffusionFilterInBox<TPixel>(TestImageProvider<TPixel> provider
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            var bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
+            Rectangle bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
 
             image.Mutate(x => x.BinaryDither(DefaultErrorDiffuser, bounds));
             image.DebugSave(provider);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
index ecbbb21abd..a94c759751 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
@@ -46,7 +46,7 @@ public void ImageShouldApplyBinaryThresholdInBox<TPixel>(TestImageProvider<TPixe
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            var bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
+            Rectangle bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
 
             image.Mutate(x => x.BinaryThreshold(value, bounds));
             image.DebugSave(provider, value);
@@ -76,7 +76,7 @@ public void ImageShouldApplyBinarySaturationThresholdInBox<TPixel>(TestImageProv
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            var bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
+            Rectangle bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
 
             image.Mutate(x => x.BinaryThreshold(value, BinaryThresholdMode.Saturation, bounds));
             image.DebugSave(provider, value);
@@ -96,7 +96,7 @@ public void ImageShouldApplyBinaryMaxChromaThresholdFilter<TPixel>(TestImageProv
 
             if (!TestEnvironment.Is64BitProcess && TestEnvironment.IsFramework)
             {
-                var comparer = ImageComparer.TolerantPercentage(0.0004F);
+                ImageComparer comparer = ImageComparer.TolerantPercentage(0.0004F);
                 image.CompareToReferenceOutput(comparer, provider, value.ToString("0.00", NumberFormatInfo.InvariantInfo));
             }
             else
@@ -114,14 +114,14 @@ public void ImageShouldApplyBinaryMaxChromaThresholdInBox<TPixel>(TestImageProvi
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            var bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
+            Rectangle bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
 
             image.Mutate(x => x.BinaryThreshold(value, BinaryThresholdMode.MaxChroma, bounds));
             image.DebugSave(provider, value);
 
             if (!TestEnvironment.Is64BitProcess && TestEnvironment.IsFramework)
             {
-                var comparer = ImageComparer.TolerantPercentage(0.0004F);
+                ImageComparer comparer = ImageComparer.TolerantPercentage(0.0004F);
                 image.CompareToReferenceOutput(comparer, provider, value.ToString("0.00", NumberFormatInfo.InvariantInfo));
             }
             else
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
index d51012f9ec..2da74377a4 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
@@ -55,7 +55,7 @@ public void DetectEdges_WorksOnWrappedMemoryImage<TPixel>(TestImageProvider<TPix
             ctx =>
                 {
                     Size size = ctx.GetCurrentSize();
-                    var bounds = new Rectangle(10, 10, size.Width / 2, size.Height / 2);
+                    Rectangle bounds = new Rectangle(10, 10, size.Width / 2, size.Height / 2);
                     ctx.DetectEdges(bounds);
                 },
             comparer: OpaqueComparer,
@@ -158,7 +158,7 @@ public void DetectEdges_InBox<TPixel>(TestImageProvider<TPixel> provider)
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            var bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
+            Rectangle bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
 
             image.Mutate(x => x.DetectEdges(bounds));
             image.DebugSave(provider);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
index b8e968f73a..9e47f54cc9 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
@@ -101,7 +101,7 @@ public void DiffusionFilter_ShouldNotDependOnSinglePixelType<TPixel>(TestImagePr
         }
 
         // Increased tolerance because of compatibility issues on .NET 4.6.2:
-        var comparer = ImageComparer.TolerantPercentage(1f);
+        ImageComparer comparer = ImageComparer.TolerantPercentage(1f);
         provider.RunValidatingProcessorTest(x => x.Dither(DefaultErrorDiffuser), comparer: comparer);
     }
 
@@ -186,7 +186,7 @@ public void ShouldThrowForDefaultDitherInstance(IDither dither)
     {
         void Command()
         {
-            using var image = new Image<Rgba32>(10, 10);
+            using Image<Rgba32> image = new Image<Rgba32>(10, 10);
             image.Mutate(x => x.Dither(dither));
         }
 
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
index fd732f570f..193ee8e1c2 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
@@ -71,7 +71,7 @@ public void PositionAwareFullImage<TPixel>(TestImageProvider<TPixel> provider)
 
                         Vector4 v4 = span[i];
                         float avg = (v4.X + v4.Y + v4.Z) / 3f;
-                        var gray = new Vector4(avg, avg, avg, a);
+                        Vector4 gray = new Vector4(avg, avg, avg, a);
 
                         span[i] = Vector4.Clamp(gray, Vector4.Zero, Vector4.One);
                     }
@@ -101,7 +101,7 @@ public void PositionAwareInBox<TPixel>(TestImageProvider<TPixel> provider)
 
                         Vector4 v4 = span[i];
                         float avg = (v4.X + v4.Y + v4.Z) / 3f;
-                        var gray = new Vector4(avg, avg, avg, a);
+                        Vector4 gray = new Vector4(avg, avg, avg, a);
 
                         span[i] = Vector4.Clamp(gray, Vector4.Zero, Vector4.One);
                     }
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
index c6880d3a81..0e766ab1a2 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
@@ -13,8 +13,8 @@ public class OctreeQuantizerTests
     [Fact]
     public void OctreeQuantizerConstructor()
     {
-        var expected = new QuantizerOptions { MaxColors = 128 };
-        var quantizer = new OctreeQuantizer(expected);
+        QuantizerOptions expected = new QuantizerOptions { MaxColors = 128 };
+        OctreeQuantizer quantizer = new OctreeQuantizer(expected);
 
         Assert.Equal(expected.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(QuantizerConstants.DefaultDither, quantizer.Options.Dither);
@@ -38,7 +38,7 @@ public void OctreeQuantizerConstructor()
     [Fact]
     public void OctreeQuantizerCanCreateFrameQuantizer()
     {
-        var quantizer = new OctreeQuantizer();
+        OctreeQuantizer quantizer = new OctreeQuantizer();
         IQuantizer<Rgba32> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
index 91cf90bc46..e2515f8d8f 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
@@ -15,8 +15,8 @@ public class PaletteQuantizerTests
     [Fact]
     public void PaletteQuantizerConstructor()
     {
-        var expected = new QuantizerOptions { MaxColors = 128 };
-        var quantizer = new PaletteQuantizer(Palette, expected);
+        QuantizerOptions expected = new QuantizerOptions { MaxColors = 128 };
+        PaletteQuantizer quantizer = new PaletteQuantizer(Palette, expected);
 
         Assert.Equal(expected.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(QuantizerConstants.DefaultDither, quantizer.Options.Dither);
@@ -40,7 +40,7 @@ public void PaletteQuantizerConstructor()
     [Fact]
     public void PaletteQuantizerCanCreateFrameQuantizer()
     {
-        var quantizer = new PaletteQuantizer(Palette);
+        PaletteQuantizer quantizer = new PaletteQuantizer(Palette);
         IQuantizer<Rgba32> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
index ab4304d898..03ec0c1e67 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
@@ -13,8 +13,8 @@ public class WuQuantizerTests
     [Fact]
     public void WuQuantizerConstructor()
     {
-        var expected = new QuantizerOptions { MaxColors = 128 };
-        var quantizer = new WuQuantizer(expected);
+        QuantizerOptions expected = new QuantizerOptions { MaxColors = 128 };
+        WuQuantizer quantizer = new WuQuantizer(expected);
 
         Assert.Equal(expected.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(QuantizerConstants.DefaultDither, quantizer.Options.Dither);
@@ -38,7 +38,7 @@ public void WuQuantizerConstructor()
     [Fact]
     public void WuQuantizerCanCreateFrameQuantizer()
     {
-        var quantizer = new WuQuantizer();
+        WuQuantizer quantizer = new WuQuantizer();
         IQuantizer<Rgba32> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
index 6a61538ea1..2c162f3cb9 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
@@ -57,7 +57,7 @@ public void AutoOrient_WorksForAllExifOrientations<TPixel>(TestImageProvider<TPi
     public void AutoOrient_WorksWithCorruptExifData<TPixel>(TestImageProvider<TPixel> provider, ExifDataType dataType, byte[] orientation)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var profile = new ExifProfile();
+        ExifProfile profile = new ExifProfile();
         profile.SetValue(ExifTag.JPEGTables, orientation);
 
         byte[] bytes = profile.ToByteArray();
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
index 18a7a9bd09..619610cc26 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
@@ -17,7 +17,7 @@ public class CropTest
     public void Crop<TPixel>(TestImageProvider<TPixel> provider, int x, int y, int w, int h)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        var rect = new Rectangle(x, y, w, h);
+        Rectangle rect = new Rectangle(x, y, w, h);
         FormattableString info = $"X{x}Y{y}.W{w}H{h}";
         provider.RunValidatingProcessorTest(
             ctx => ctx.Crop(rect),
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
index ca4b00d8aa..d587bc7e05 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
@@ -35,8 +35,8 @@ public void Entropy_WillNotCropWhiteImage<TPixel>(TestImageProvider<TPixel> prov
     {
         // arrange
         using Image<TPixel> image = provider.GetImage();
-        var expectedHeight = image.Height;
-        var expectedWidth = image.Width;
+        int expectedHeight = image.Height;
+        int expectedWidth = image.Width;
 
         // act
         image.Mutate(img => img.EntropyCrop());
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
index 84d834cc50..73bac7a290 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
@@ -34,8 +34,8 @@ public void CalculateResizeWorkerHeightInWindowBands(
     [Fact]
     public void CalculateMinRectangleWhenSourceIsSmallerThanTarget()
     {
-        var sourceSize = new Size(200, 100);
-        var target = new Size(400, 200);
+        Size sourceSize = new Size(200, 100);
+        Size target = new Size(400, 200);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
@@ -52,11 +52,11 @@ public void CalculateMinRectangleWhenSourceIsSmallerThanTarget()
     [Fact]
     public void MaxSizeAndRectangleAreCorrect()
     {
-        var sourceSize = new Size(5072, 6761);
-        var target = new Size(0, 450);
+        Size sourceSize = new Size(5072, 6761);
+        Size target = new Size(0, 450);
 
-        var expectedSize = new Size(338, 450);
-        var expectedRectangle = new Rectangle(Point.Empty, expectedSize);
+        Size expectedSize = new Size(338, 450);
+        Rectangle expectedRectangle = new Rectangle(Point.Empty, expectedSize);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
@@ -73,11 +73,11 @@ public void MaxSizeAndRectangleAreCorrect()
     [Fact]
     public void CropSizeAndRectangleAreCorrect()
     {
-        var sourceSize = new Size(100, 100);
-        var target = new Size(25, 50);
+        Size sourceSize = new Size(100, 100);
+        Size target = new Size(25, 50);
 
-        var expectedSize = new Size(25, 50);
-        var expectedRectangle = new Rectangle(-12, 0, 50, 50);
+        Size expectedSize = new Size(25, 50);
+        Rectangle expectedRectangle = new Rectangle(-12, 0, 50, 50);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
@@ -94,11 +94,11 @@ public void CropSizeAndRectangleAreCorrect()
     [Fact]
     public void BoxPadSizeAndRectangleAreCorrect()
     {
-        var sourceSize = new Size(100, 100);
-        var target = new Size(120, 110);
+        Size sourceSize = new Size(100, 100);
+        Size target = new Size(120, 110);
 
-        var expectedSize = new Size(120, 110);
-        var expectedRectangle = new Rectangle(10, 5, 100, 100);
+        Size expectedSize = new Size(120, 110);
+        Rectangle expectedRectangle = new Rectangle(10, 5, 100, 100);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
@@ -115,11 +115,11 @@ public void BoxPadSizeAndRectangleAreCorrect()
     [Fact]
     public void PadSizeAndRectangleAreCorrect()
     {
-        var sourceSize = new Size(100, 100);
-        var target = new Size(120, 110);
+        Size sourceSize = new Size(100, 100);
+        Size target = new Size(120, 110);
 
-        var expectedSize = new Size(120, 110);
-        var expectedRectangle = new Rectangle(5, 0, 110, 110);
+        Size expectedSize = new Size(120, 110);
+        Rectangle expectedRectangle = new Rectangle(5, 0, 110, 110);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
@@ -136,11 +136,11 @@ public void PadSizeAndRectangleAreCorrect()
     [Fact]
     public void StretchSizeAndRectangleAreCorrect()
     {
-        var sourceSize = new Size(100, 100);
-        var target = new Size(57, 32);
+        Size sourceSize = new Size(100, 100);
+        Size target = new Size(57, 32);
 
-        var expectedSize = new Size(57, 32);
-        var expectedRectangle = new Rectangle(Point.Empty, expectedSize);
+        Size expectedSize = new Size(57, 32);
+        Rectangle expectedRectangle = new Rectangle(Point.Empty, expectedSize);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
index 290a3b37ac..2048b9809d 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
@@ -39,7 +39,7 @@ public static ReferenceKernelMap Calculate<TResampler>(in TResampler sampler, in
 
             double radius = tolerantMath.Ceiling(scale * sampler.Radius);
 
-            var result = new List<ReferenceKernel>();
+            List<ReferenceKernel> result = new List<ReferenceKernel>();
 
             for (int i = 0; i < destinationSize; i++)
             {
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.cs
index c6da46ee2f..f1309f3310 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.cs
@@ -88,7 +88,7 @@ public static readonly TheoryData<IResampler, int, int> KernelMapData
     public void PrintNonNormalizedKernelMap<TResampler>(TResampler resampler, int srcSize, int destSize)
         where TResampler : struct, IResampler
     {
-        var kernelMap = ReferenceKernelMap.Calculate<TResampler>(in resampler, destSize, srcSize, false);
+        ReferenceKernelMap kernelMap = ReferenceKernelMap.Calculate<TResampler>(in resampler, destSize, srcSize, false);
 
         this.Output.WriteLine($"Actual KernelMap:\n{PrintKernelMap(kernelMap)}\n");
     }
@@ -116,15 +116,15 @@ public void KernelMapContentIsCorrect_ExtendedGeneratedValues(string resamplerNa
     private void VerifyKernelMapContentIsCorrect<TResampler>(TResampler resampler, int srcSize, int destSize)
         where TResampler : struct, IResampler
     {
-        var referenceMap = ReferenceKernelMap.Calculate(in resampler, destSize, srcSize);
-        var kernelMap = ResizeKernelMap.Calculate(in resampler, destSize, srcSize, Configuration.Default.MemoryAllocator);
+        ReferenceKernelMap referenceMap = ReferenceKernelMap.Calculate(in resampler, destSize, srcSize);
+        ResizeKernelMap kernelMap = ResizeKernelMap.Calculate(in resampler, destSize, srcSize, Configuration.Default.MemoryAllocator);
 
 #if DEBUG
         this.Output.WriteLine(kernelMap.Info);
         this.Output.WriteLine($"Expected KernelMap:\n{PrintKernelMap(referenceMap)}\n");
         this.Output.WriteLine($"Actual KernelMap:\n{PrintKernelMap(kernelMap)}\n");
 #endif
-        var comparer = new ApproximateFloatComparer(1e-6f);
+        ApproximateFloatComparer comparer = new ApproximateFloatComparer(1e-6f);
 
         for (int i = 0; i < kernelMap.DestinationLength; i++)
         {
@@ -163,7 +163,7 @@ private static string PrintKernelMap<TKernelMap>(
         Func<TKernelMap, int> getDestinationSize,
         Func<TKernelMap, int, ReferenceKernel> getKernel)
     {
-        var bld = new StringBuilder();
+        StringBuilder bld = new StringBuilder();
 
         if (kernelMap is ResizeKernelMap actualMap)
         {
@@ -193,7 +193,7 @@ private static string PrintKernelMap<TKernelMap>(
 
     private static TheoryData<string, int, int> GenerateImageResizeData()
     {
-        var result = new TheoryData<string, int, int>();
+        TheoryData<string, int, int> result = new TheoryData<string, int, int>();
 
         string[] resamplerNames = TestUtils.GetAllResamplerNames(false);
 
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs b/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
index 30c89ec339..41750eddd2 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
@@ -25,7 +25,7 @@ public void CropWidthHeightCropProcessorWithRectangleSet(int width, int height)
     [InlineData(12, 123, 6, 2)]
     public void CropRectangleCropProcessorWithRectangleSet(int x, int y, int width, int height)
     {
-        var cropRectangle = new Rectangle(x, y, width, height);
+        Rectangle cropRectangle = new Rectangle(x, y, width, height);
         this.operations.Crop(cropRectangle);
         CropProcessor processor = this.Verify<CropProcessor>();
 
@@ -35,7 +35,7 @@ public void CropRectangleCropProcessorWithRectangleSet(int x, int y, int width,
     [Fact]
     public void CropRectangleWithInvalidBoundsThrowsException()
     {
-        var cropRectangle = Rectangle.Inflate(this.SourceBounds(), 5, 5);
+        Rectangle cropRectangle = Rectangle.Inflate(this.SourceBounds(), 5, 5);
         Assert.Throws<ArgumentException>(() => this.operations.Crop(cropRectangle));
     }
 }
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
index 6b6db69c11..e7a6c792c8 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
@@ -174,7 +174,7 @@ public void PerspectiveTransformMatchesCSS<TPixel>(TestImageProvider<TPixel> pro
     [Fact]
     public void Issue1911()
     {
-        using var image = new Image<Rgba32>(100, 100);
+        using Image<Rgba32> image = new Image<Rgba32>(100, 100);
         image.Mutate(x => x = x.Transform(new Rectangle(0, 0, 99, 100), Matrix4x4.Identity, new Size(99, 100), KnownResamplers.Lanczos2));
 
         Assert.Equal(99, image.Width);
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
index f6c93ffd0e..9ee43e2e71 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
@@ -64,7 +64,7 @@ public void ResizeWithOptions()
         bool compand = true;
         ResizeMode mode = ResizeMode.Stretch;
 
-        var resizeOptions = new ResizeOptions
+        ResizeOptions resizeOptions = new ResizeOptions
         {
             Size = new Size(width, height),
             Sampler = sampler,
@@ -93,7 +93,7 @@ public void HwIntrinsics_Resize()
     {
         static void RunTest()
         {
-            using var image = new Image<Rgba32>(50, 50);
+            using Image<Rgba32> image = new Image<Rgba32>(50, 50);
             image.Mutate(img => img.Resize(25, 25));
 
             Assert.Equal(25, image.Width);
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/TransformBuilderTestBase.cs b/tests/ImageSharp.Tests/Processing/Transforms/TransformBuilderTestBase.cs
index f046c2503c..2a9b335b13 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/TransformBuilderTestBase.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/TransformBuilderTestBase.cs
@@ -29,7 +29,7 @@ public void _1Scale_2Translate(Vector2 scale, Vector2 translate, Vector2 source,
 #pragma warning restore SA1300 // Element should begin with upper-case letter
     {
         // These operations should be size-agnostic:
-        var size = new Size(123, 321);
+        Size size = new Size(123, 321);
         TBuilder builder = this.CreateBuilder();
 
         this.AppendScale(builder, new SizeF(scale));
@@ -55,7 +55,7 @@ public void _1Translate_2Scale(Vector2 translate, Vector2 scale, Vector2 source,
 #pragma warning restore SA1300 // Element should begin with upper-case letter
     {
         // Translate ans scale are size-agnostic:
-        var size = new Size(456, 432);
+        Size size = new Size(456, 432);
         TBuilder builder = this.CreateBuilder();
 
         this.AppendTranslation(builder, translate);
@@ -70,7 +70,7 @@ public void _1Translate_2Scale(Vector2 translate, Vector2 scale, Vector2 source,
     [InlineData(-20, 10)]
     public void LocationOffsetIsPrepended(int locationX, int locationY)
     {
-        var rectangle = new Rectangle(locationX, locationY, 10, 10);
+        Rectangle rectangle = new Rectangle(locationX, locationY, 10, 10);
         TBuilder builder = this.CreateBuilder();
 
         this.AppendScale(builder, new SizeF(2, 2));
@@ -92,7 +92,7 @@ public void AppendRotationDegrees_WithoutSpecificRotationCenter_RotationIsCenter
         float x,
         float y)
     {
-        var size = new Size(width, height);
+        Size size = new Size(width, height);
         TBuilder builder = this.CreateBuilder();
 
         this.AppendRotationDegrees(builder, degrees);
@@ -100,8 +100,8 @@ public void AppendRotationDegrees_WithoutSpecificRotationCenter_RotationIsCenter
         // TODO: We should also test CreateRotationMatrixDegrees() (and all TransformUtils stuff!) for correctness
         Matrix3x2 matrix = TransformUtils.CreateRotationTransformMatrixDegrees(degrees, size, TransformSpace.Pixel);
 
-        var position = new Vector2(x, y);
-        var expected = Vector2.Transform(position, matrix);
+        Vector2 position = new Vector2(x, y);
+        Vector2 expected = Vector2.Transform(position, matrix);
         Vector2 actual = this.Execute(builder, new Rectangle(Point.Empty, size), position);
 
         Assert.Equal(actual, expected, Comparer);
@@ -120,16 +120,16 @@ public void AppendRotationDegrees_WithRotationCenter(
         float x,
         float y)
     {
-        var size = new Size(width, height);
+        Size size = new Size(width, height);
         TBuilder builder = this.CreateBuilder();
 
-        var centerPoint = new Vector2(cx, cy);
+        Vector2 centerPoint = new Vector2(cx, cy);
         this.AppendRotationDegrees(builder, degrees, centerPoint);
 
-        var matrix = Matrix3x2.CreateRotation(GeometryUtilities.DegreeToRadian(degrees), centerPoint);
+        Matrix3x2 matrix = Matrix3x2.CreateRotation(GeometryUtilities.DegreeToRadian(degrees), centerPoint);
 
-        var position = new Vector2(x, y);
-        var expected = Vector2.Transform(position, matrix);
+        Vector2 position = new Vector2(x, y);
+        Vector2 expected = Vector2.Transform(position, matrix);
         Vector2 actual = this.Execute(builder, new Rectangle(Point.Empty, size), position);
 
         Assert.Equal(actual, expected, Comparer);
@@ -147,15 +147,15 @@ public void AppendSkewDegrees_WithoutSpecificSkewCenter_SkewIsCenteredAroundImag
         float x,
         float y)
     {
-        var size = new Size(width, height);
+        Size size = new Size(width, height);
         TBuilder builder = this.CreateBuilder();
 
         this.AppendSkewDegrees(builder, degreesX, degreesY);
 
         Matrix3x2 matrix = TransformUtils.CreateSkewTransformMatrixDegrees(degreesX, degreesY, size, TransformSpace.Pixel);
 
-        var position = new Vector2(x, y);
-        var expected = Vector2.Transform(position, matrix);
+        Vector2 position = new Vector2(x, y);
+        Vector2 expected = Vector2.Transform(position, matrix);
         Vector2 actual = this.Execute(builder, new Rectangle(Point.Empty, size), position);
         Assert.Equal(actual, expected, Comparer);
     }
@@ -174,16 +174,16 @@ public void AppendSkewDegrees_WithSkewCenter(
         float x,
         float y)
     {
-        var size = new Size(width, height);
+        Size size = new Size(width, height);
         TBuilder builder = this.CreateBuilder();
 
-        var centerPoint = new Vector2(cx, cy);
+        Vector2 centerPoint = new Vector2(cx, cy);
         this.AppendSkewDegrees(builder, degreesX, degreesY, centerPoint);
 
-        var matrix = Matrix3x2.CreateSkew(GeometryUtilities.DegreeToRadian(degreesX), GeometryUtilities.DegreeToRadian(degreesY), centerPoint);
+        Matrix3x2 matrix = Matrix3x2.CreateSkew(GeometryUtilities.DegreeToRadian(degreesX), GeometryUtilities.DegreeToRadian(degreesY), centerPoint);
 
-        var position = new Vector2(x, y);
-        var expected = Vector2.Transform(position, matrix);
+        Vector2 position = new Vector2(x, y);
+        Vector2 expected = Vector2.Transform(position, matrix);
         Vector2 actual = this.Execute(builder, new Rectangle(Point.Empty, size), position);
 
         Assert.Equal(actual, expected, Comparer);
@@ -192,7 +192,7 @@ public void AppendSkewDegrees_WithSkewCenter(
     [Fact]
     public void AppendPrependOpposite()
     {
-        var rectangle = new Rectangle(-1, -1, 3, 3);
+        Rectangle rectangle = new Rectangle(-1, -1, 3, 3);
         TBuilder b1 = this.CreateBuilder();
         TBuilder b2 = this.CreateBuilder();
 
@@ -226,7 +226,7 @@ public void AppendPrependOpposite()
     [InlineData(-1, 0)]
     public void ThrowsForInvalidSizes(int width, int height)
     {
-        var size = new Size(width, height);
+        Size size = new Size(width, height);
 
         Assert.ThrowsAny<ArgumentOutOfRangeException>(
             () =>
diff --git a/tests/ImageSharp.Tests/ProfilingBenchmarks/LoadResizeSaveProfilingBenchmarks.cs b/tests/ImageSharp.Tests/ProfilingBenchmarks/LoadResizeSaveProfilingBenchmarks.cs
index a1d7e358b6..fa3fcec41b 100644
--- a/tests/ImageSharp.Tests/ProfilingBenchmarks/LoadResizeSaveProfilingBenchmarks.cs
+++ b/tests/ImageSharp.Tests/ProfilingBenchmarks/LoadResizeSaveProfilingBenchmarks.cs
@@ -18,7 +18,7 @@ public LoadResizeSaveProfilingBenchmarks(ITestOutputHelper output)
     [InlineData(TestImages.Jpeg.Baseline.Jpeg420Exif)]
     public void LoadResizeSave(string imagePath)
     {
-        var configuration = Configuration.CreateDefaultInstance();
+        Configuration configuration = Configuration.CreateDefaultInstance();
         configuration.MaxDegreeOfParallelism = 1;
 
         DecoderOptions options = new()
@@ -28,12 +28,12 @@ public void LoadResizeSave(string imagePath)
 
         byte[] imageBytes = TestFile.Create(imagePath).Bytes;
 
-        using var ms = new MemoryStream();
+        using MemoryStream ms = new MemoryStream();
         this.Measure(
             30,
             () =>
                 {
-                    using (var image = Image.Load(options, imageBytes))
+                    using (Image image = Image.Load(options, imageBytes))
                     {
                         image.Mutate(x => x.Resize(image.Size / 4));
                         image.SaveAsJpeg(ms);
diff --git a/tests/ImageSharp.Tests/ProfilingBenchmarks/ResizeProfilingBenchmarks.cs b/tests/ImageSharp.Tests/ProfilingBenchmarks/ResizeProfilingBenchmarks.cs
index f20ca8ce18..df531ae4c6 100644
--- a/tests/ImageSharp.Tests/ProfilingBenchmarks/ResizeProfilingBenchmarks.cs
+++ b/tests/ImageSharp.Tests/ProfilingBenchmarks/ResizeProfilingBenchmarks.cs
@@ -28,7 +28,7 @@ public void ResizeBicubic(int width, int height)
             this.ExecutionCount,
             () =>
                 {
-                    using (var image = new Image<Rgba32>(this.configuration, width, height))
+                    using (Image<Rgba32> image = new Image<Rgba32>(this.configuration, width, height))
                     {
                         image.Mutate(x => x.Resize(width / 5, height / 5));
                     }
diff --git a/tests/ImageSharp.Tests/TestFormat.cs b/tests/ImageSharp.Tests/TestFormat.cs
index d30ce7846d..a3a8f296c4 100644
--- a/tests/ImageSharp.Tests/TestFormat.cs
+++ b/tests/ImageSharp.Tests/TestFormat.cs
@@ -38,7 +38,7 @@ public TestFormat()
 
     public MemoryStream CreateStream(byte[] marker = null)
     {
-        var ms = new MemoryStream();
+        MemoryStream ms = new MemoryStream();
         byte[] data = this.header;
         ms.Write(data, 0, data.Length);
         if (marker != null)
@@ -54,7 +54,7 @@ public Stream CreateAsyncSemaphoreStream(SemaphoreSlim notifyWaitPositionReached
     {
         byte[] buffer = new byte[size];
         this.header.CopyTo(buffer, 0);
-        var semaphoreStream = new SemaphoreReadMemoryStream(buffer, waitAfterPosition, notifyWaitPositionReachedSemaphore, continueSemaphore);
+        SemaphoreReadMemoryStream semaphoreStream = new SemaphoreReadMemoryStream(buffer, waitAfterPosition, notifyWaitPositionReachedSemaphore, continueSemaphore);
         return seeakable ? semaphoreStream : new AsyncStreamWrapper(semaphoreStream, () => false);
     }
 
diff --git a/tests/ImageSharp.Tests/TestUtilities/ArrayHelper.cs b/tests/ImageSharp.Tests/TestUtilities/ArrayHelper.cs
index 8ff2abd90b..90a98d1c81 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ArrayHelper.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ArrayHelper.cs
@@ -13,7 +13,7 @@ public static class ArrayHelper
     /// <returns>The concatenated array</returns>
     public static T[] Concat<T>(params T[][] arrays)
     {
-        var result = new T[arrays.Sum(t => t.Length)];
+        T[] result = new T[arrays.Sum(t => t.Length)];
         int offset = 0;
         for (int i = 0; i < arrays.Length; i++)
         {
@@ -33,7 +33,7 @@ public static T[] Concat<T>(params T[][] arrays)
     /// <returns>The created array filled with the given value</returns>
     public static T[] Fill<T>(T value, int length)
     {
-        var result = new T[length];
+        T[] result = new T[length];
         for (int i = 0; i < length; i++)
         {
             result[i] = value;
diff --git a/tests/ImageSharp.Tests/TestUtilities/Attributes/WithFileCollectionAttribute.cs b/tests/ImageSharp.Tests/TestUtilities/Attributes/WithFileCollectionAttribute.cs
index 57949e7b11..87f6f0479d 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Attributes/WithFileCollectionAttribute.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Attributes/WithFileCollectionAttribute.cs
@@ -58,7 +58,7 @@ protected override IEnumerable<object[]> GetAllFactoryMethodArgs(MethodInfo test
         Func<object> accessor = this.GetPropertyAccessor(testMethod.DeclaringType, this.fileEnumeratorMemberName);
         accessor = accessor ?? this.GetFieldAccessor(testMethod.DeclaringType, this.fileEnumeratorMemberName);
 
-        var files = (IEnumerable<string>)accessor();
+        IEnumerable<string> files = (IEnumerable<string>)accessor();
         return files.Select(f => new object[] { f });
     }
 
diff --git a/tests/ImageSharp.Tests/TestUtilities/ByteArrayUtility.cs b/tests/ImageSharp.Tests/TestUtilities/ByteArrayUtility.cs
index 963c3c7835..2fb75444e3 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ByteArrayUtility.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ByteArrayUtility.cs
@@ -11,7 +11,7 @@ public static byte[] WithByteOrder(this byte[] bytes, bool isLittleEndian)
     {
         if (isLittleEndian != BitConverter.IsLittleEndian)
         {
-            var reversedBytes = new byte[bytes.Length];
+            byte[] reversedBytes = new byte[bytes.Length];
             Array.Copy(bytes, reversedBytes, bytes.Length);
             Array.Reverse(reversedBytes);
             return reversedBytes;
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
index 92fc06eff5..d5168b78bf 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
@@ -23,10 +23,10 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
         int width = actual.Width;
 
         // TODO: Comparing through Rgba64 may not be robust enough because of the existence of super high precision pixel types.
-        var aBuffer = new Rgba64[width];
-        var bBuffer = new Rgba64[width];
+        Rgba64[] aBuffer = new Rgba64[width];
+        Rgba64[] bBuffer = new Rgba64[width];
 
-        var differences = new List<PixelDifference>();
+        List<PixelDifference> differences = new List<PixelDifference>();
         Configuration configuration = expected.Configuration;
         Buffer2D<TPixelA> expectedBuffer = expected.PixelBuffer;
         Buffer2D<TPixelB> actualBuffer = actual.PixelBuffer;
@@ -46,7 +46,7 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
 
                 if (aPixel != bPixel)
                 {
-                    var diff = new PixelDifference(new Point(x, y), aPixel, bPixel);
+                    PixelDifference diff = new PixelDifference(new Point(x, y), aPixel, bPixel);
                     differences.Add(diff);
                 }
             }
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
index 7153674e6b..7d0443bc7a 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
@@ -147,7 +147,7 @@ public static void VerifySimilarityIgnoreRegion<TPixelA, TPixelB>(
         IEnumerable<ImageSimilarityReport<TPixelA, TPixelB>> reports = comparer.CompareImages(expected, actual);
         if (reports.Any())
         {
-            var cleanedReports = new List<ImageSimilarityReport<TPixelA, TPixelB>>(reports.Count());
+            List<ImageSimilarityReport<TPixelA, TPixelB>> cleanedReports = new List<ImageSimilarityReport<TPixelA, TPixelB>>(reports.Count());
             foreach (ImageSimilarityReport<TPixelA, TPixelB> r in reports)
             {
                 IEnumerable<PixelDifference> outsideChanges = r.Differences.Where(
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageSimilarityReport.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageSimilarityReport.cs
index c50ae5e219..8c72bbf543 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageSimilarityReport.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageSimilarityReport.cs
@@ -61,7 +61,7 @@ public override string ToString()
 
     private string PrintDifference()
     {
-        var sb = new StringBuilder();
+        StringBuilder sb = new StringBuilder();
         if (this.TotalNormalizedDifference.HasValue)
         {
             sb.AppendLine();
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
index d057267da7..3d4d1ab8d9 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
@@ -65,12 +65,12 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
         int width = actual.Width;
 
         // TODO: Comparing through Rgba64 may not robust enough because of the existence of super high precision pixel types.
-        var aBuffer = new Rgba64[width];
-        var bBuffer = new Rgba64[width];
+        Rgba64[] aBuffer = new Rgba64[width];
+        Rgba64[] bBuffer = new Rgba64[width];
 
         float totalDifference = 0F;
 
-        var differences = new List<PixelDifference>();
+        List<PixelDifference> differences = new List<PixelDifference>();
         Configuration configuration = expected.Configuration;
         Buffer2D<TPixelA> expectedBuffer = expected.PixelBuffer;
         Buffer2D<TPixelB> actualBuffer = actual.PixelBuffer;
@@ -89,7 +89,7 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
 
                 if (d > this.PerPixelManhattanThreshold)
                 {
-                    var diff = new PixelDifference(new Point(x, y), aBuffer[x], bBuffer[x]);
+                    PixelDifference diff = new PixelDifference(new Point(x, y), aBuffer[x], bBuffer[x]);
                     differences.Add(diff);
 
                     totalDifference += d;
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs
index 3652d77a1e..4cd452e55d 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs
@@ -45,7 +45,7 @@ private static Dictionary<string, object> GetDecoderParameters(
             {
                 Type type = options.GetType();
 
-                var data = new Dictionary<string, object>();
+                Dictionary<string, object> data = new Dictionary<string, object>();
 
                 while (type != null && type != typeof(object))
                 {
@@ -196,7 +196,7 @@ public override Image<TPixel> GetImage(IImageDecoder decoder, DecoderOptions opt
                 return this.DecodeImage(decoder, options);
             }
 
-            var key = new Key(this.PixelType, this.FilePath, decoder, options, null);
+            Key key = new Key(this.PixelType, this.FilePath, decoder, options, null);
             Image<TPixel> cachedImage = Cache.GetOrAdd(key, _ => this.DecodeImage(decoder, options));
 
             return cachedImage.Clone(this.Configuration);
@@ -233,7 +233,7 @@ public override Image<TPixel> GetImage<T>(ISpecializedImageDecoder<T> decoder, T
                 return this.DecodeImage(decoder, options);
             }
 
-            var key = new Key(this.PixelType, this.FilePath, decoder, options.GeneralOptions, options);
+            Key key = new Key(this.PixelType, this.FilePath, decoder, options.GeneralOptions, options);
             Image<TPixel> cachedImage = Cache.GetOrAdd(key, _ => this.DecodeImage(decoder, options));
 
             return cachedImage.Clone(this.Configuration);
@@ -270,7 +270,7 @@ private Image<TPixel> DecodeImage(IImageDecoder decoder, DecoderOptions options)
         {
             options.SetConfiguration(this.Configuration);
 
-            var testFile = TestFile.Create(this.FilePath);
+            TestFile testFile = TestFile.Create(this.FilePath);
             using Stream stream = new MemoryStream(testFile.Bytes);
             return decoder.Decode<TPixel>(options, stream);
         }
@@ -280,7 +280,7 @@ private Image<TPixel> DecodeImage<T>(ISpecializedImageDecoder<T> decoder, T opti
         {
             options.GeneralOptions.SetConfiguration(this.Configuration);
 
-            var testFile = TestFile.Create(this.FilePath);
+            TestFile testFile = TestFile.Create(this.FilePath);
             using Stream stream = new MemoryStream(testFile.Bytes);
             return decoder.Decode<TPixel>(options, stream);
         }
@@ -288,7 +288,7 @@ private Image<TPixel> DecodeImage<T>(ISpecializedImageDecoder<T> decoder, T opti
 
     public static string GetFilePathOrNull(ITestImageProvider provider)
     {
-        var fileProvider = provider as FileProvider;
+        FileProvider fileProvider = provider as FileProvider;
         return fileProvider?.FilePath;
     }
 }
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/MemberMethodProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/MemberMethodProvider.cs
index 390195274f..6da5b75f0d 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/MemberMethodProvider.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/MemberMethodProvider.cs
@@ -54,7 +54,7 @@ public override void Deserialize(IXunitSerializationInfo info)
 
         private Func<Image<TPixel>> GetFactory()
         {
-            var declaringType = Type.GetType(this.declaringTypeName);
+            Type declaringType = Type.GetType(this.declaringTypeName);
             MethodInfo m = declaringType.GetMethod(this.methodName);
             Type pixelType = typeof(TPixel);
             Type imgType = typeof(Image<>).MakeGenericType(pixelType);
diff --git a/tests/ImageSharp.Tests/TestUtilities/MeasureFixture.cs b/tests/ImageSharp.Tests/TestUtilities/MeasureFixture.cs
index de42ba0ccf..b5fad39292 100644
--- a/tests/ImageSharp.Tests/TestUtilities/MeasureFixture.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/MeasureFixture.cs
@@ -30,7 +30,7 @@ public void Measure(int times, Action action, [CallerMemberName] string operatio
             this.Output?.WriteLine($"{operationName} X {times} ...");
         }
 
-        var sw = Stopwatch.StartNew();
+        Stopwatch sw = Stopwatch.StartNew();
 
         for (int i = 0; i < times; i++)
         {
diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs
index 04f59979f7..78014b7af5 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs
@@ -27,7 +27,7 @@ internal static unsafe Image<TPixel> From32bppArgbSystemDrawingBitmap<TPixel>(Bi
         int w = bmp.Width;
         int h = bmp.Height;
 
-        var fullRect = new System.Drawing.Rectangle(0, 0, w, h);
+        System.Drawing.Rectangle fullRect = new System.Drawing.Rectangle(0, 0, w, h);
 
         if (bmp.PixelFormat != PixelFormat.Format32bppArgb)
         {
@@ -37,7 +37,7 @@ internal static unsafe Image<TPixel> From32bppArgbSystemDrawingBitmap<TPixel>(Bi
         }
 
         BitmapData data = bmp.LockBits(fullRect, ImageLockMode.ReadWrite, bmp.PixelFormat);
-        var image = new Image<TPixel>(w, h);
+        Image<TPixel> image = new Image<TPixel>(w, h);
         try
         {
             byte* sourcePtrBase = (byte*)data.Scan0;
@@ -86,7 +86,7 @@ internal static unsafe Image<TPixel> From24bppRgbSystemDrawingBitmap<TPixel>(Bit
         int w = bmp.Width;
         int h = bmp.Height;
 
-        var fullRect = new System.Drawing.Rectangle(0, 0, w, h);
+        System.Drawing.Rectangle fullRect = new System.Drawing.Rectangle(0, 0, w, h);
 
         if (bmp.PixelFormat != PixelFormat.Format24bppRgb)
         {
@@ -96,7 +96,7 @@ internal static unsafe Image<TPixel> From24bppRgbSystemDrawingBitmap<TPixel>(Bit
         }
 
         BitmapData data = bmp.LockBits(fullRect, ImageLockMode.ReadWrite, bmp.PixelFormat);
-        var image = new Image<TPixel>(w, h);
+        Image<TPixel> image = new Image<TPixel>(w, h);
         try
         {
             byte* sourcePtrBase = (byte*)data.Scan0;
@@ -138,8 +138,8 @@ internal static unsafe Bitmap To32bppArgbSystemDrawingBitmap<TPixel>(Image<TPixe
         int w = image.Width;
         int h = image.Height;
 
-        var resultBitmap = new Bitmap(w, h, PixelFormat.Format32bppArgb);
-        var fullRect = new System.Drawing.Rectangle(0, 0, w, h);
+        Bitmap resultBitmap = new Bitmap(w, h, PixelFormat.Format32bppArgb);
+        System.Drawing.Rectangle fullRect = new System.Drawing.Rectangle(0, 0, w, h);
         BitmapData data = resultBitmap.LockBits(fullRect, ImageLockMode.ReadWrite, resultBitmap.PixelFormat);
         try
         {
diff --git a/tests/ImageSharp.Tests/TestUtilities/SixLaborsXunitTestFramework.cs b/tests/ImageSharp.Tests/TestUtilities/SixLaborsXunitTestFramework.cs
index edae08ce16..873d5bfde9 100644
--- a/tests/ImageSharp.Tests/TestUtilities/SixLaborsXunitTestFramework.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/SixLaborsXunitTestFramework.cs
@@ -18,7 +18,7 @@ public class SixLaborsXunitTestFramework : XunitTestFramework
     public SixLaborsXunitTestFramework(IMessageSink messageSink)
         : base(messageSink)
     {
-        var message = new DiagnosticMessage(HostEnvironmentInfo.GetInformation());
+        DiagnosticMessage message = new DiagnosticMessage(HostEnvironmentInfo.GetInformation());
         messageSink.OnMessage(message);
     }
 }
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestDataGenerator.cs b/tests/ImageSharp.Tests/TestUtilities/TestDataGenerator.cs
index 31de3909e1..53f0f06486 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestDataGenerator.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestDataGenerator.cs
@@ -20,7 +20,7 @@ internal static class TestDataGenerator
     /// <returns>The <see cref="float[]"/>.</returns>
     public static float[] GenerateRandomFloatArray(this Random rnd, int length, float minVal, float maxVal)
     {
-        var values = new float[length];
+        float[] values = new float[length];
 
         RandomFill(rnd, values, minVal, maxVal);
 
@@ -45,7 +45,7 @@ public static void RandomFill(this Random rnd, Span<float> destination, float mi
     /// <returns>The <see cref="Vector4[]"/>.</returns>
     public static Vector4[] GenerateRandomVectorArray(this Random rnd, int length, float minVal, float maxVal)
     {
-        var values = new Vector4[length];
+        Vector4[] values = new Vector4[length];
 
         for (int i = 0; i < length; i++)
         {
@@ -69,7 +69,7 @@ public static Vector4[] GenerateRandomVectorArray(this Random rnd, int length, f
     /// <returns>The <see cref="float[]"/>.</returns>
     public static float[] GenerateRandomRoundedFloatArray(this Random rnd, int length, float minVal, float maxVal)
     {
-        var values = new float[length];
+        float[] values = new float[length];
 
         for (int i = 0; i < length; i++)
         {
@@ -87,14 +87,14 @@ public static float[] GenerateRandomRoundedFloatArray(this Random rnd, int lengt
     /// <returns>The <see cref="byte[]"/>.</returns>
     public static byte[] GenerateRandomByteArray(this Random rnd, int length)
     {
-        var values = new byte[length];
+        byte[] values = new byte[length];
         rnd.NextBytes(values);
         return values;
     }
 
     public static short[] GenerateRandomInt16Array(this Random rnd, int length, short minVal, short maxVal)
     {
-        var values = new short[length];
+        short[] values = new short[length];
         for (int i = 0; i < values.Length; i++)
         {
             values[i] = (short)rnd.Next(minVal, maxVal);
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs b/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs
index 8818830351..a641c7fcc7 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs
@@ -215,7 +215,7 @@ private static void EnsureRemoteExecutorIs32Bit()
 
         string args = $"{remoteExecutorTmpPath} /32Bit+ /Force";
 
-        var si = new ProcessStartInfo()
+        ProcessStartInfo si = new ProcessStartInfo()
         {
             FileName = corFlagsFile.FullName,
             Arguments = args,
@@ -224,7 +224,7 @@ private static void EnsureRemoteExecutorIs32Bit()
             RedirectStandardError = true
         };
 
-        using var proc = Process.Start(si);
+        using Process proc = Process.Start(si);
         proc.WaitForExit();
         string standardOutput = proc.StandardOutput.ReadToEnd();
         string standardError = proc.StandardError.ReadToEnd();
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestMemoryAllocator.cs b/tests/ImageSharp.Tests/TestUtilities/TestMemoryAllocator.cs
index fe94cffc43..a0ff4a466e 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestMemoryAllocator.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestMemoryAllocator.cs
@@ -46,7 +46,7 @@ public override IMemoryOwner<T> Allocate<T>(int length, AllocationOptions option
     private T[] AllocateArray<T>(int length, AllocationOptions options)
         where T : struct
     {
-        var array = new T[length + 42];
+        T[] array = new T[length + 42];
         this.allocationLog?.Add(AllocationRequest.Create<T>(options, length, array));
 
         if (options == AllocationOptions.None)
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestMemoryManager.cs b/tests/ImageSharp.Tests/TestUtilities/TestMemoryManager.cs
index 50e086d579..7f25fd5aa1 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestMemoryManager.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestMemoryManager.cs
@@ -34,7 +34,7 @@ public override void Unpin()
 
     public static TestMemoryManager<T> CreateAsCopyOf(Span<T> copyThisBuffer)
     {
-        var pixelArray = new T[copyThisBuffer.Length];
+        T[] pixelArray = new T[copyThisBuffer.Length];
         copyThisBuffer.CopyTo(pixelArray);
         return new TestMemoryManager<T>(pixelArray);
     }
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/BasicSerializerTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/BasicSerializerTests.cs
index 52447b6c2c..f4944992a1 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/BasicSerializerTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/BasicSerializerTests.cs
@@ -51,7 +51,7 @@ public override void Serialize(IXunitSerializationInfo info)
     [Fact]
     public void SerializeDeserialize_ShouldPreserveValues()
     {
-        var obj = new DerivedObj() { Length = 123.1, Name = "Lol123!", Lives = 7, Strength = 4.8 };
+        DerivedObj obj = new DerivedObj() { Length = 123.1, Name = "Lol123!", Lives = 7, Strength = 4.8 };
 
         string str = BasicSerializer.Serialize(obj);
         BaseObj mirrorBase = BasicSerializer.Deserialize<BaseObj>(str);
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/ImageComparerTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/ImageComparerTests.cs
index 4c1a740e2b..349dd258eb 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/ImageComparerTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/ImageComparerTests.cs
@@ -31,7 +31,7 @@ public void TolerantImageComparer_ApprovesPerfectSimilarity<TPixel>(
         {
             using (Image<TPixel> clone = image.Clone())
             {
-                var comparer = ImageComparer.Tolerant(imageThreshold, pixelThreshold);
+                ImageComparer comparer = ImageComparer.Tolerant(imageThreshold, pixelThreshold);
                 comparer.VerifySimilarity(image, clone);
             }
         }
@@ -48,7 +48,7 @@ public void TolerantImageComparer_ApprovesSimilarityBelowTolerance<TPixel>(TestI
             {
                 ImagingTestCaseUtility.ModifyPixel(clone, 0, 0, 1);
 
-                var comparer = ImageComparer.Tolerant();
+                ImageComparer comparer = ImageComparer.Tolerant();
                 comparer.VerifySimilarity(image, clone);
             }
         }
@@ -66,7 +66,7 @@ public void TolerantImageComparer_DoesNotApproveSimilarityAboveTolerance<TPixel>
                 byte perChannelChange = 20;
                 ImagingTestCaseUtility.ModifyPixel(clone, 3, 1, perChannelChange);
 
-                var comparer = ImageComparer.Tolerant();
+                ImageComparer comparer = ImageComparer.Tolerant();
 
                 ImageDifferenceIsOverThresholdException ex = Assert.ThrowsAny<ImageDifferenceIsOverThresholdException>(
                     () => comparer.VerifySimilarity(image, clone));
@@ -90,7 +90,7 @@ public void TolerantImageComparer_TestPerPixelThreshold<TPixel>(TestImageProvide
                 ImagingTestCaseUtility.ModifyPixel(clone, 1, 0, 1);
                 ImagingTestCaseUtility.ModifyPixel(clone, 2, 0, 1);
 
-                var comparer = ImageComparer.Tolerant(perPixelManhattanThreshold: 257 * 3);
+                ImageComparer comparer = ImageComparer.Tolerant(perPixelManhattanThreshold: 257 * 3);
                 comparer.VerifySimilarity(image, clone);
             }
         }
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/ReferenceDecoderBenchmarks.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/ReferenceDecoderBenchmarks.cs
index 6e1eba28e8..90e7261942 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/ReferenceDecoderBenchmarks.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/ReferenceDecoderBenchmarks.cs
@@ -76,7 +76,7 @@ public void BenchmarkSystemDrawingBmpDecoder<TPixel>(TestImageProvider<TPixel> p
 
     private void BenchmarkDecoderImpl(IEnumerable<string> testFiles, IImageDecoder decoder, string info, int times = DefaultExecutionCount)
     {
-        var measure = new MeasureFixture(this.Output);
+        MeasureFixture measure = new MeasureFixture(this.Output);
         measure.Measure(
             times,
             () =>
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/SystemDrawingReferenceCodecTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/SystemDrawingReferenceCodecTests.cs
index 4608583791..4a88cfb1b4 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/SystemDrawingReferenceCodecTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/SystemDrawingReferenceCodecTests.cs
@@ -1,6 +1,7 @@
 // Copyright (c) Six Labors.
 // Licensed under the Six Labors Split License.
 
+using System.Drawing;
 using SixLabors.ImageSharp.Formats;
 using SixLabors.ImageSharp.Formats.Png;
 using SixLabors.ImageSharp.PixelFormats;
@@ -35,7 +36,7 @@ public void From32bppArgbSystemDrawingBitmap<TPixel>(TestImageProvider<TPixel> d
     {
         string path = TestFile.GetInputFileFullPath(TestImages.Png.Splash);
 
-        using var sdBitmap = new System.Drawing.Bitmap(path);
+        using Bitmap sdBitmap = new System.Drawing.Bitmap(path);
         using Image<TPixel> image = SystemDrawingBridge.From32bppArgbSystemDrawingBitmap<TPixel>(sdBitmap);
         image.DebugSave(dummyProvider);
     }
@@ -49,7 +50,7 @@ private static string SavePng<TPixel>(TestImageProvider<TPixel> provider, PngCol
             sourceImage.Mutate(c => c.MakeOpaque());
         }
 
-        var encoder = new PngEncoder { ColorType = pngColorType };
+        PngEncoder encoder = new PngEncoder { ColorType = pngColorType };
         return provider.Utility.SaveTestOutputFile(sourceImage, "png", encoder);
     }
 
@@ -65,7 +66,7 @@ public void From32bppArgbSystemDrawingBitmap2<TPixel>(TestImageProvider<TPixel>
 
         string path = SavePng(provider, PngColorType.RgbWithAlpha);
 
-        using var sdBitmap = new System.Drawing.Bitmap(path);
+        using Bitmap sdBitmap = new System.Drawing.Bitmap(path);
         using Image<TPixel> original = provider.GetImage();
         using Image<TPixel> resaved = SystemDrawingBridge.From32bppArgbSystemDrawingBitmap<TPixel>(sdBitmap);
         ImageComparer comparer = ImageComparer.Exact;
@@ -80,7 +81,7 @@ public void From24bppRgbSystemDrawingBitmap<TPixel>(TestImageProvider<TPixel> pr
         string path = SavePng(provider, PngColorType.Rgb);
 
         using Image<TPixel> original = provider.GetImage();
-        using var sdBitmap = new System.Drawing.Bitmap(path);
+        using Bitmap sdBitmap = new System.Drawing.Bitmap(path);
         using Image<TPixel> resaved = SystemDrawingBridge.From24bppRgbSystemDrawingBitmap<TPixel>(sdBitmap);
         ImageComparer comparer = ImageComparer.Exact;
         comparer.VerifySimilarity(original, resaved);

From d485e89a268482091a4491790a6fdf89c3381d45 Mon Sep 17 00:00:00 2001
From: Stefan Nikolei <stefan@nikolei.eu>
Date: Sun, 22 Dec 2024 11:44:14 +0100
Subject: [PATCH 3/6] install libgdiplus on ubuntu-latest

---
 shared-infrastructure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/shared-infrastructure b/shared-infrastructure
index 1dbfb576c8..ec3e588f79 160000
--- a/shared-infrastructure
+++ b/shared-infrastructure
@@ -1 +1 @@
-Subproject commit 1dbfb576c83507645265c79e03369b66cdc0379f
+Subproject commit ec3e588f79d98957d23e40aafc5128e4b8140ed9

From 085caa28dfc8f585da8cb1d1cedfc8268d70b3cb Mon Sep 17 00:00:00 2001
From: Stefan Nikolei <stefan@nikolei.eu>
Date: Thu, 30 Jan 2025 06:35:05 +0100
Subject: [PATCH 4/6] add commit to git blame ignore

---
 .git-blame-ignore-revs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index e6e79e0408..259a4cfb4e 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -1,4 +1,5 @@
 # file-scoped namespaces and global usings
 5528a2923ccc63d776c91994b0b17a2c3ad5be94
 d14c82023fc01a6fca99c42212cb3c97991fae9e
-0e9a066195a100ae56b4ca49cee9927fb15e1482
\ No newline at end of file
+0e9a066195a100ae56b4ca49cee9927fb15e1482
+dfa0188f245f4671c8f1a4607f911869e2c6ec9d

From 9be1ec9e4a287664b885cea4797e67bc9421f665 Mon Sep 17 00:00:00 2001
From: Stefan Nikolei <stefan@nikolei.eu>
Date: Thu, 30 Jan 2025 13:33:56 +0100
Subject: [PATCH 5/6] Use target type new

---
 .../Advanced/ParallelExecutionSettings.cs     |   4 +-
 .../Advanced/ParallelRowIterator.Wrappers.cs  |   2 +-
 .../Advanced/ParallelRowIterator.cs           |   4 +-
 src/ImageSharp/Color/Color.WebSafePalette.cs  |   2 +-
 src/ImageSharp/Color/Color.WernerPalette.cs   |   2 +-
 src/ImageSharp/ColorProfiles/CieLab.cs        |   2 +-
 src/ImageSharp/ColorProfiles/CieLch.cs        |   6 +-
 src/ImageSharp/ColorProfiles/CieLchuv.cs      |   4 +-
 src/ImageSharp/ColorProfiles/CieLuv.cs        |   4 +-
 src/ImageSharp/ColorProfiles/CieXyy.cs        |   8 +-
 src/ImageSharp/ColorProfiles/Cmyk.cs          |   6 +-
 src/ImageSharp/ColorProfiles/Hsl.cs           |   8 +-
 src/ImageSharp/ColorProfiles/Hsv.cs           |  10 +-
 src/ImageSharp/ColorProfiles/HunterLab.cs     |   4 +-
 .../KnownChromaticAdaptationMatrices.cs       |  12 +-
 .../ColorProfiles/KnownRgbWorkingSpaces.cs    |  38 +++---
 src/ImageSharp/ColorProfiles/Lms.cs           |   4 +-
 src/ImageSharp/ColorProfiles/Rgb.cs           |   6 +-
 .../VonKriesChromaticAdaptation.cs            |   4 +-
 src/ImageSharp/ColorProfiles/YCbCr.cs         |   4 +-
 .../Extensions/ConfigurationExtensions.cs     |   2 +-
 src/ImageSharp/Common/Helpers/Numerics.cs     |   4 +-
 .../Common/Helpers/SimdUtils.Pack.cs          |   2 +-
 src/ImageSharp/Common/Helpers/SimdUtils.cs    |   2 +-
 .../Common/Helpers/UnitConverter.cs           |   4 +-
 src/ImageSharp/Compression/Zlib/Deflater.cs   |   2 +-
 .../Compression/Zlib/DeflaterEngine.cs        |   2 +-
 .../Compression/Zlib/DeflaterHuffman.cs       |   2 +-
 .../Compression/Zlib/DeflaterOutputStream.cs  |   2 +-
 .../Compression/Zlib/ZlibDeflateStream.cs     |   2 +-
 .../Compression/Zlib/ZlibInflateStream.cs     |   2 +-
 src/ImageSharp/Configuration.cs               |   2 +-
 src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs  |  12 +-
 src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs  |   6 +-
 src/ImageSharp/Formats/Bmp/BmpMetadata.cs     |  16 +--
 .../Formats/Cur/CurFrameMetadata.cs           |   6 +-
 src/ImageSharp/Formats/Cur/CurMetadata.cs     |   2 +-
 src/ImageSharp/Formats/Gif/GifDecoderCore.cs  |   2 +-
 src/ImageSharp/Formats/Gif/GifMetadata.cs     |   2 +-
 .../Formats/Ico/IcoFrameMetadata.cs           |   6 +-
 src/ImageSharp/Formats/Ico/IcoMetadata.cs     |   4 +-
 .../Formats/Jpeg/Components/Block8x8.cs       |   2 +-
 .../Jpeg/Components/Block8x8F.ScaledCopy.cs   |   8 +-
 .../JpegColorConverter.CmykVector.cs          |   4 +-
 .../JpegColorConverter.GrayScaleVector.cs     |   8 +-
 .../JpegColorConverter.RgbVector.cs           |   2 +-
 .../JpegColorConverter.YCbCrVector.cs         |  32 +++---
 .../JpegColorConverter.YccKVector.cs          |  36 +++---
 .../ColorConverters/JpegColorConverterBase.cs |   2 +-
 .../Jpeg/Components/Decoder/AdobeMarker.cs    |   2 +-
 .../Decoder/ArithmeticScanDecoder.cs          |   2 +-
 .../Components/Decoder/HuffmanScanDecoder.cs  |   4 +-
 .../Jpeg/Components/Decoder/JFifMarker.cs     |   2 +-
 .../Jpeg/Components/Decoder/JpegComponent.cs  |   4 +-
 .../Components/Decoder/SpectralConverter.cs   |   2 +-
 .../Jpeg/Components/Encoder/Component.cs      |   4 +-
 .../Components/Encoder/ComponentProcessor.cs  |   2 +-
 .../Components/Encoder/HuffmanScanEncoder.cs  |   2 +-
 .../Jpeg/Components/Encoder/JpegFrame.cs      |   2 +-
 .../Encoder/SpectralConverter{TPixel}.cs      |   6 +-
 .../Formats/Jpeg/Components/SizeExtensions.cs |   6 +-
 .../Formats/Jpeg/JpegDecoderCore.cs           |  30 ++---
 .../Jpeg/JpegEncoderCore.FrameConfig.cs       |  74 ++++++------
 src/ImageSharp/Formats/Jpeg/JpegMetadata.cs   |   4 +-
 src/ImageSharp/Formats/Pbm/PbmDecoderCore.cs  |   6 +-
 src/ImageSharp/Formats/Pbm/PbmMetadata.cs     |   2 +-
 src/ImageSharp/Formats/Pbm/PlainDecoder.cs    |   8 +-
 .../Formats/Png/Chunks/PngPhysical.cs         |   2 +-
 src/ImageSharp/Formats/Png/PngDecoder.cs      |   2 +-
 src/ImageSharp/Formats/Png/PngDecoderCore.cs  |  28 ++---
 .../Formats/Png/PngDecoderOptions.cs          |   2 +-
 src/ImageSharp/Formats/Png/PngEncoderCore.cs  |   2 +-
 src/ImageSharp/Formats/Png/PngFormat.cs       |   2 +-
 .../Formats/Png/PngFrameMetadata.cs           |   2 +-
 src/ImageSharp/Formats/Png/PngMetadata.cs     |   2 +-
 src/ImageSharp/Formats/Qoi/QoiDecoderCore.cs  |   4 +-
 src/ImageSharp/Formats/Qoi/QoiFormat.cs       |   2 +-
 src/ImageSharp/Formats/Qoi/QoiMetadata.cs     |   6 +-
 src/ImageSharp/Formats/Tga/TgaDecoderCore.cs  |   2 +-
 src/ImageSharp/Formats/Tga/TgaFormat.cs       |   2 +-
 src/ImageSharp/Formats/Tga/TgaMetadata.cs     |  10 +-
 .../Compressors/DeflateCompressor.cs          |   4 +-
 .../Compression/Compressors/LzwCompressor.cs  |   2 +-
 .../Compressors/TiffJpegCompressor.cs         |   2 +-
 .../Decompressors/DeflateTiffCompression.cs   |   2 +-
 .../Decompressors/LzwTiffCompression.cs       |   2 +-
 .../ModifiedHuffmanTiffCompression.cs         |   2 +-
 .../Decompressors/T4TiffCompression.cs        |   2 +-
 .../Decompressors/T6TiffCompression.cs        |   6 +-
 .../Decompressors/TiffLzwDecoder.cs           |   2 +-
 .../Decompressors/WebpTiffCompression.cs      |   2 +-
 .../Tiff/Compression/HorizontalPredictor.cs   |   6 +-
 .../BlackIsZero32FloatTiffColor{TPixel}.cs    |   4 +-
 .../RgbTiffColor{TPixel}.cs                   |   2 +-
 .../WhiteIsZero32FloatTiffColor{TPixel}.cs    |   2 +-
 .../WhiteIsZeroTiffColor{TPixel}.cs           |   2 +-
 .../YCbCrConverter.cs                         |   8 +-
 .../YCbCrPlanarTiffColor{TPixel}.cs           |   2 +-
 .../YCbCrTiffColor{TPixel}.cs                 |   2 +-
 .../Formats/Tiff/TiffBitsPerSample.cs         |   2 +-
 .../Formats/Tiff/TiffDecoderCore.cs           |   4 +-
 .../Tiff/TiffDecoderMetadataCreator.cs        |   6 +-
 .../Formats/Tiff/TiffDecoderOptionsParser.cs  |   6 +-
 .../Tiff/TiffEncoderEntriesCollector.cs       |   6 +-
 src/ImageSharp/Formats/Tiff/TiffMetadata.cs   |  14 +--
 .../Tiff/Writers/TiffBiColorWriter{TPixel}.cs |   2 +-
 .../Tiff/Writers/TiffPaletteWriter{TPixel}.cs |   4 +-
 src/ImageSharp/Formats/Webp/AlphaDecoder.cs   |   6 +-
 src/ImageSharp/Formats/Webp/AlphaEncoder.cs   |   2 +-
 .../Formats/Webp/BitWriter/Vp8BitWriter.cs    |   4 +-
 .../Formats/Webp/BitWriter/Vp8LBitWriter.cs   |   2 +-
 .../Webp/Lossless/BackwardReferenceEncoder.cs |  14 +--
 .../Formats/Webp/Lossless/CostManager.cs      |  14 +--
 .../Formats/Webp/Lossless/CrunchConfig.cs     |   2 +-
 .../Formats/Webp/Lossless/HTreeGroup.cs       |   2 +-
 .../Formats/Webp/Lossless/HuffmanUtils.cs     |   2 +-
 .../Formats/Webp/Lossless/PixOrCopy.cs        |   6 +-
 .../Formats/Webp/Lossless/Vp8LBackwardRefs.cs |   2 +-
 .../Formats/Webp/Lossless/Vp8LDecoder.cs      |   2 +-
 .../Formats/Webp/Lossless/Vp8LEncoder.cs      |  18 +--
 .../Formats/Webp/Lossless/Vp8LHistogram.cs    |   2 +-
 .../Formats/Webp/Lossless/Vp8LHistogramSet.cs |   4 +-
 .../Webp/Lossless/WebpLosslessDecoder.cs      |   8 +-
 src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs |  18 +--
 .../Formats/Webp/Lossy/Vp8BandProbas.cs       |   2 +-
 src/ImageSharp/Formats/Webp/Lossy/Vp8Costs.cs |   2 +-
 .../Formats/Webp/Lossy/Vp8Decoder.cs          |  18 +--
 .../Formats/Webp/Lossy/Vp8EncIterator.cs      |   2 +-
 .../Formats/Webp/Lossy/Vp8EncProba.cs         |   8 +-
 .../Formats/Webp/Lossy/Vp8Encoder.cs          |  12 +-
 src/ImageSharp/Formats/Webp/Lossy/Vp8Proba.cs |   2 +-
 src/ImageSharp/Formats/Webp/Lossy/Vp8Stats.cs |   2 +-
 .../Formats/Webp/Lossy/WebpLossyDecoder.cs    |   4 +-
 .../Formats/Webp/WebpAnimationDecoder.cs      |   4 +-
 .../Formats/Webp/WebpChunkParsingUtils.cs     |   4 +-
 .../Formats/Webp/WebpDecoderCore.cs           |  10 +-
 .../Formats/Webp/WebpDecoderOptions.cs        |   2 +-
 src/ImageSharp/Formats/Webp/WebpFormat.cs     |   6 +-
 src/ImageSharp/Formats/Webp/WebpMetadata.cs   |   2 +-
 .../GraphicOptionsDefaultsExtensions.cs       |   2 +-
 src/ImageSharp/Image.Decode.cs                |   2 +-
 src/ImageSharp/Image.WrapMemory.cs            |  20 ++--
 src/ImageSharp/Image.cs                       |   2 +-
 src/ImageSharp/ImageFrame.LoadPixelData.cs    |   2 +-
 .../ImageFrameCollection{TPixel}.cs           |   8 +-
 src/ImageSharp/ImageFrame{TPixel}.cs          |   6 +-
 src/ImageSharp/Image{TPixel}.cs               |  16 +--
 .../Allocators/Internals/ManagedBufferBase.cs |   2 +-
 .../Internals/SharedArrayPoolBuffer{T}.cs     |   2 +-
 ...iformUnmanagedMemoryPool.LifetimeGuards.cs |   2 +-
 .../Internals/UniformUnmanagedMemoryPool.cs   |   6 +-
 .../Internals/UnmanagedBuffer{T}.cs           |   2 +-
 .../Internals/UnmanagedMemoryHandle.cs        |   4 +-
 ...iformUnmanagedMemoryPoolMemoryAllocator.cs |   2 +-
 src/ImageSharp/Memory/Buffer2DExtensions.cs   |   2 +-
 src/ImageSharp/Memory/Buffer2DRegion{T}.cs    |   2 +-
 src/ImageSharp/Memory/ByteMemoryOwner{T}.cs   |   2 +-
 .../MemoryGroupExtensions.cs                  |  12 +-
 .../MemoryGroupView{T}.cs                     |   4 +-
 .../MemoryGroup{T}.Consumed.cs                |   4 +-
 .../MemoryGroup{T}.Owned.cs                   |   8 +-
 .../DiscontiguousBuffers/MemoryGroup{T}.cs    |   4 +-
 .../Memory/MemoryAllocatorExtensions.cs       |   2 +-
 .../Memory/UnmanagedMemoryManager{T}.cs       |   4 +-
 .../Profiles/Exif/ExifEncodedStringHelpers.cs |   2 +-
 .../Metadata/Profiles/Exif/ExifProfile.cs     |   4 +-
 .../Metadata/Profiles/Exif/ExifReader.cs      |   8 +-
 .../Metadata/Profiles/Exif/ExifWriter.cs      |   2 +-
 .../Profiles/Exif/Tags/ExifTag.Byte.cs        |   6 +-
 .../Profiles/Exif/Tags/ExifTag.ByteArray.cs   |  16 +--
 .../Profiles/Exif/Tags/ExifTag.DoubleArray.cs |   8 +-
 .../Exif/Tags/ExifTag.EncodedString.cs        |   6 +-
 .../Profiles/Exif/Tags/ExifTag.Long.cs        |  42 +++----
 .../Profiles/Exif/Tags/ExifTag.LongArray.cs   |  22 ++--
 .../Profiles/Exif/Tags/ExifTag.Number.cs      |  18 +--
 .../Profiles/Exif/Tags/ExifTag.NumberArray.cs |  10 +-
 .../Profiles/Exif/Tags/ExifTag.Rational.cs    |  66 +++++------
 .../Exif/Tags/ExifTag.RationalArray.cs        |  20 ++--
 .../Profiles/Exif/Tags/ExifTag.Short.cs       |  94 +++++++--------
 .../Profiles/Exif/Tags/ExifTag.ShortArray.cs  |  40 +++----
 .../Exif/Tags/ExifTag.SignedRational.cs       |  12 +-
 .../Exif/Tags/ExifTag.SignedRationalArray.cs  |   2 +-
 .../Exif/Tags/ExifTag.SignedShortArray.cs     |   2 +-
 .../Profiles/Exif/Tags/ExifTag.String.cs      | 108 +++++++++---------
 .../Profiles/Exif/Tags/ExifTag.Ucs2String.cs  |  10 +-
 .../Profiles/Exif/Tags/ExifTag.Undefined.cs   |  28 ++---
 .../Profiles/Exif/Values/ExifEncodedString.cs |   2 +-
 .../Profiles/Exif/Values/ExifRational.cs      |   2 +-
 .../Profiles/Exif/Values/ExifRationalArray.cs |   2 +-
 .../ICC/DataReader/IccDataReader.Lut.cs       |  10 +-
 .../IccDataReader.MultiProcessElement.cs      |   6 +-
 .../DataReader/IccDataReader.NonPrimitives.cs |   2 +-
 .../DataWriter/IccDataWriter.NonPrimitives.cs |   2 +-
 .../DataWriter/IccDataWriter.TagDataEntry.cs  |   6 +-
 .../Profiles/ICC/DataWriter/IccDataWriter.cs  |   2 +-
 .../Metadata/Profiles/ICC/IccProfile.cs       |   2 +-
 .../Metadata/Profiles/ICC/IccReader.cs        |   6 +-
 .../Metadata/Profiles/ICC/IccWriter.cs        |   2 +-
 .../TagDataEntries/IccLut16TagDataEntry.cs    |   2 +-
 .../IccTextDescriptionTagDataEntry.cs         |  10 +-
 .../Metadata/Profiles/IPTC/IptcProfile.cs     |   2 +-
 .../PixelBlenders/PorterDuffFunctions.cs      |   2 +-
 .../PixelFormats/PixelComponentInfo.cs        |   2 +-
 .../PixelImplementations/Bgr565.cs            |   4 +-
 .../PixelImplementations/Bgra5551.cs          |   2 +-
 .../PixelImplementations/HalfSingle.cs        |   2 +-
 .../PixelImplementations/HalfVector4.cs       |   2 +-
 .../PixelFormats/PixelImplementations/L16.cs  |   2 +-
 .../PixelFormats/PixelImplementations/L8.cs   |   2 +-
 .../PixelFormats/PixelImplementations/La16.cs |   2 +-
 .../PixelFormats/PixelImplementations/La32.cs |   2 +-
 .../PixelImplementations/NormalizedByte2.cs   |   6 +-
 .../PixelImplementations/NormalizedByte4.cs   |   2 +-
 .../PixelImplementations/NormalizedShort4.cs  |   2 +-
 .../PixelImplementations/Rgb24.cs             |   2 +-
 .../PixelImplementations/Rgba1010102.cs       |   2 +-
 .../PixelImplementations/Rgba32.cs            |   4 +-
 .../PixelImplementations/Short2.cs            |   6 +-
 .../PixelImplementations/Short4.cs            |   2 +-
 src/ImageSharp/Primitives/ColorMatrix.Impl.cs |  10 +-
 src/ImageSharp/Primitives/Complex64.cs        |   6 +-
 src/ImageSharp/Primitives/DenseMatrix{T}.cs   |   8 +-
 src/ImageSharp/Primitives/LongRational.cs     |  12 +-
 src/ImageSharp/Primitives/Point.cs            |   2 +-
 src/ImageSharp/Primitives/Rectangle.cs        |   2 +-
 src/ImageSharp/Primitives/RectangleF.cs       |   2 +-
 src/ImageSharp/Primitives/SignedRational.cs   |   2 +-
 src/ImageSharp/Primitives/Size.cs             |  26 ++---
 src/ImageSharp/Primitives/SizeF.cs            |   4 +-
 src/ImageSharp/Primitives/ValueSize.cs        |   2 +-
 .../HistogramEqualizationExtensions.cs        |   2 +-
 .../Extensions/Transforms/CropExtensions.cs   |   2 +-
 .../Extensions/Transforms/PadExtensions.cs    |   4 +-
 .../Transforms/TransformExtensions.cs         |   4 +-
 .../Processing/KnownFilterMatrices.cs         |  34 +++---
 .../CloningImageProcessor{TPixel}.cs          |   4 +-
 .../Convolution/BoxBlurProcessor{TPixel}.cs   |   2 +-
 .../Convolution2DRowOperation{TPixel}.cs      |   4 +-
 .../Convolution/Convolution2DState.cs         |   4 +-
 .../Convolution/ConvolutionState.cs           |   2 +-
 .../EdgeDetector2DProcessor{TPixel}.cs        |   2 +-
 .../Implementation/LaplacianKernelFactory.cs  |   2 +-
 .../Convolution/MedianConvolutionState.cs     |   2 +-
 .../Convolution/MedianRowOperation{TPixel}.cs |   4 +-
 .../Parameters/BokehBlurKernelDataProvider.cs |   8 +-
 .../Dithering/ErroDither.KnownTypes.cs        |  18 +--
 .../Processors/Dithering/OrderedDither.cs     |   2 +-
 .../Dithering/OrderedDitherFactory.cs         |   2 +-
 .../PaletteDitherProcessor{TPixel}.cs         |   4 +-
 .../Effects/OilPaintingProcessor{TPixel}.cs   |   2 +-
 .../Effects/PixelRowDelegateProcessor.cs      |   2 +-
 ...lRowDelegateProcessor{TPixel,TDelegate}.cs |   2 +-
 .../PositionAwarePixelRowDelegateProcessor.cs |   2 +-
 ...eHistogramEqualizationProcessor{TPixel}.cs |  10 +-
 .../AutoLevelProcessor{TPixel}.cs             |   2 +-
 ...lHistogramEqualizationProcessor{TPixel}.cs |   2 +-
 .../Overlays/GlowProcessor{TPixel}.cs         |   2 +-
 .../Overlays/VignetteProcessor{TPixel}.cs     |   2 +-
 .../Quantization/EuclideanPixelMap{TPixel}.cs |   2 +-
 .../Quantization/OctreeQuantizer.cs           |   2 +-
 .../Quantization/OctreeQuantizer{TPixel}.cs   |  12 +-
 .../Quantization/PaletteQuantizer.cs          |   2 +-
 .../Quantization/PaletteQuantizer{TPixel}.cs  |   2 +-
 .../Quantization/WernerPaletteQuantizer.cs    |   2 +-
 .../Quantization/WuQuantizer{TPixel}.cs       |   4 +-
 .../Transforms/CropProcessor{TPixel}.cs       |   4 +-
 .../AffineTransformProcessor{TPixel}.cs       |   4 +-
 .../Transforms/Resize/ResizeHelper.cs         |  16 +--
 .../Transforms/Resize/ResizeKernelMap.cs      |   2 +-
 .../Resize/ResizeProcessor{TPixel}.cs         |   6 +-
 .../Transforms/Resize/ResizeWorker.cs         |   4 +-
 .../Processors/Transforms/TransformUtils.cs   |  16 +--
 .../Bulk/FromRgba32Bytes.cs                   |   2 +-
 .../Codecs/Bmp/DecodeBmp.cs                   |   6 +-
 .../Codecs/Bmp/EncodeBmp.cs                   |   4 +-
 .../Codecs/Gif/DecodeGif.cs                   |   6 +-
 .../Codecs/Gif/EncodeGif.cs                   |   8 +-
 .../BlockOperations/Block8x8F_CopyTo2x2.cs    |  56 ++++-----
 .../BlockOperations/Block8x8F_DivideRound.cs  |   4 +-
 .../Jpeg/BlockOperations/Block8x8F_Round.cs   |   2 +-
 .../ColorConversion/CmykColorConversion.cs    |   8 +-
 .../ColorConversionBenchmark.cs               |   2 +-
 .../GrayscaleColorConversion.cs               |   6 +-
 .../ColorConversion/RgbColorConversion.cs     |   8 +-
 .../ColorConversion/YCbCrColorConversion.cs   |   8 +-
 .../ColorConversion/YccKColorConverter.cs     |   8 +-
 .../Codecs/Jpeg/DecodeJpeg.cs                 |   2 +-
 .../Codecs/Jpeg/DecodeJpegParseStreamOnly.cs  |  12 +-
 .../Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs   |   8 +-
 .../Codecs/Jpeg/EncodeJpegComparison.cs       |   6 +-
 .../Codecs/Jpeg/EncodeJpegFeatures.cs         |   4 +-
 .../Codecs/Png/EncodeIndexedPng.cs            |  24 ++--
 .../Codecs/Png/EncodePng.cs                   |   2 +-
 .../Codecs/Tga/EncodeTga.cs                   |   6 +-
 .../Codecs/Tiff/EncodeTiff.cs                 |  10 +-
 .../Codecs/Webp/EncodeWebp.cs                 |   2 +-
 .../Color/ColorEquality.cs                    |   2 +-
 .../Color/RgbWorkingSpaceAdapt.cs             |   2 +-
 .../ImageSharp.Benchmarks/Color/YcbCrToRgb.cs |   4 +-
 .../General/Adler32Benchmark.cs               |   2 +-
 .../ImageSharp.Benchmarks/General/Array2D.cs  |   2 +-
 .../General/BasicMath/ClampSpan.cs            |   2 +-
 .../General/BasicMath/ClampVector4.cs         |   4 +-
 .../General/CopyBuffers.cs                    |   4 +-
 .../General/IO/BufferedStreams.cs             |  34 +++---
 .../PixelConversion_ConvertFromRgba32.cs      |   6 +-
 .../PixelConversion_ConvertFromVector4.cs     |   4 +-
 .../PixelConversion_ConvertToRgba32.cs        |   4 +-
 ...vertToRgba32_AsPartOfCompositeOperation.cs |   4 +-
 .../PixelConversion_ConvertToVector4.cs       |   2 +-
 ...ertToVector4_AsPartOfCompositeOperation.cs |   2 +-
 .../PixelConversion_Rgba32_To_Bgra32.cs       |   4 +-
 .../General/Vector4Constants.cs               |  16 +--
 .../General/Vectorization/BitwiseOrUint32.cs  |   4 +-
 .../General/Vectorization/DivFloat.cs         |   4 +-
 .../General/Vectorization/DivUInt32.cs        |   4 +-
 .../General/Vectorization/Divide.cs           |   2 +-
 .../General/Vectorization/MulFloat.cs         |   6 +-
 .../General/Vectorization/MulUInt32.cs        |   4 +-
 .../General/Vectorization/Multiply.cs         |   2 +-
 .../General/Vectorization/Premultiply.cs      |   6 +-
 .../Vectorization/ReinterpretUInt32AsFloat.cs |   2 +-
 .../Vectorization/SIMDBenchmarkBase.cs        |   2 +-
 .../General/Vectorization/UInt32ToSingle.cs   |  14 +--
 .../General/Vectorization/VectorFetching.cs   |  12 +-
 .../LoadResizeSaveStressBenchmarks.cs         |   2 +-
 .../LoadResizeSaveStressRunner.cs             |   6 +-
 .../PixelBlenders/PorterDuffBulkVsPixel.cs    |   4 +-
 .../ImageSharp.Benchmarks/Processing/Crop.cs  |  10 +-
 .../Processing/OilPaint.cs                    |   2 +-
 .../Processing/Resize.cs                      |  10 +-
 .../LoadResizeSaveParallelMemoryStress.cs     |  10 +-
 .../Program.cs                                |   4 +-
 .../Color/ColorTests.CastTo.cs                |  22 ++--
 tests/ImageSharp.Tests/Color/ColorTests.cs    |  16 +--
 .../Color/ReferencePalette.cs                 |   2 +-
 .../ColorProfiles/CieLabTests.cs              |   4 +-
 .../ColorProfiles/CieLchTests.cs              |   4 +-
 .../ColorProfiles/CieLchuvTests.cs            |   4 +-
 .../ColorProfiles/CieLuvTests.cs              |   4 +-
 .../CieXyChromaticityCoordinatesTests.cs      |   4 +-
 .../ColorProfiles/CieXyyTests.cs              |   4 +-
 .../ColorProfiles/CieXyzTests.cs              |   4 +-
 .../ColorProfiles/CmykTests.cs                |   4 +-
 .../ColorProfiles/CompandingTests.cs          |   2 +-
 .../ColorProfiles/HslTests.cs                 |   4 +-
 .../ColorProfiles/HsvTests.cs                 |   4 +-
 .../ColorProfiles/HunterLabTests.cs           |   4 +-
 .../ColorProfiles/LmsTests.cs                 |   4 +-
 .../ColorProfiles/RgbTests.cs                 |   4 +-
 .../StringRepresentationTests.cs              |   2 +-
 .../ColorProfiles/YCbCrTests.cs               |   4 +-
 .../Common/EncoderExtensionsTests.cs          |   2 +-
 .../ImageSharp.Tests/Common/NumericsTests.cs  |   2 +-
 .../ImageSharp.Tests/Common/SimdUtilsTests.cs |   6 +-
 .../Common/StreamExtensionsTests.cs           |  10 +-
 tests/ImageSharp.Tests/ConfigurationTests.cs  |  24 ++--
 .../Drawing/DrawImageTests.cs                 |  20 ++--
 .../Formats/Bmp/BmpFileHeaderTests.cs         |   2 +-
 .../Formats/Bmp/ImageExtensionsTest.cs        |   4 +-
 .../Formats/Gif/GifEncoderTests.cs            |   8 +-
 .../Formats/Gif/GifMetadataTests.cs           |   4 +-
 .../Formats/Gif/ImageExtensionsTest.cs        |   4 +-
 .../Formats/ImageFormatManagerTests.cs        |   2 +-
 .../Formats/Jpg/Block8x8Tests.cs              |   6 +-
 .../Formats/Jpg/HuffmanScanEncoderTests.cs    |   2 +-
 .../Formats/Jpg/ImageExtensionsTest.cs        |   4 +-
 .../Formats/Jpg/JpegColorConverterTests.cs    |   6 +-
 .../Formats/Jpg/JpegDecoderTests.Metadata.cs  |   8 +-
 .../Formats/Jpg/JpegEncoderTests.Metadata.cs  |   4 +-
 .../Formats/Jpg/JpegFileMarkerTests.cs        |   2 +-
 .../Formats/Jpg/JpegMetadataTests.cs          |  16 +--
 .../Formats/Jpg/ParseStreamTests.cs           |   6 +-
 .../Formats/Jpg/SpectralJpegTests.cs          |  24 ++--
 .../Jpg/SpectralToPixelConversionTests.cs     |  12 +-
 .../Formats/Jpg/Utils/JpegFixture.cs          |  12 +-
 .../Formats/Jpg/Utils/LibJpegTools.cs         |  14 +--
 ...ceImplementations.LLM_FloatingPoint_DCT.cs |  42 +++----
 .../Formats/Jpg/Utils/VerifyJpeg.cs           |   2 +-
 .../Formats/Pbm/ImageExtensionsTest.cs        |   4 +-
 .../Formats/Pbm/PbmDecoderTests.cs            |  10 +-
 .../Formats/Pbm/PbmEncoderTests.cs            |  12 +-
 .../Formats/Pbm/PbmRoundTripTests.cs          |   6 +-
 .../Formats/Png/Adler32Tests.cs               |   2 +-
 .../Formats/Png/ImageExtensionsTest.cs        |   4 +-
 .../Formats/Png/PngDecoderTests.Chunks.cs     |   2 +-
 .../Formats/Png/PngDecoderTests.cs            |   4 +-
 .../Formats/Png/PngEncoderFilterTests.cs      |  28 ++---
 .../Formats/Png/PngEncoderTests.cs            |   4 +-
 .../Formats/Png/PngMetadataTests.cs           |   6 +-
 .../Formats/Png/PngTextDataTests.cs           |  16 +--
 .../Formats/Qoi/ImageExtensionsTest.cs        |   4 +-
 .../Formats/Tga/ImageExtensionsTest.cs        |   4 +-
 .../Formats/Tiff/BigTiffMetadataTests.cs      |  30 ++---
 .../DeflateTiffCompressionTests.cs            |   4 +-
 .../Compression/LzwTiffCompressionTests.cs    |   6 +-
 .../Compression/NoneTiffCompressionTests.cs   |   6 +-
 .../PackBitsTiffCompressionTests.cs           |   6 +-
 .../Formats/Tiff/ImageExtensionsTest.cs       |   4 +-
 .../BlackIsZeroTiffColorTests.cs              |   2 +-
 .../PaletteTiffColorTests.cs                  |   4 +-
 .../PhotometricInterpretationTestBase.cs      |   4 +-
 .../RgbPlanarTiffColorTests.cs                |  78 ++++++-------
 .../RgbTiffColorTests.cs                      |  78 ++++++-------
 .../WhiteIsZeroTiffColorTests.cs              |  18 +--
 .../Formats/Tiff/TiffEncoderBaseTester.cs     |   6 +-
 .../Tiff/TiffEncoderMultiframeTests.cs        |  20 ++--
 .../Formats/Tiff/TiffEncoderTests.cs          |   2 +-
 .../Formats/Tiff/Utils/TiffWriterTests.cs     |  32 +++---
 .../Formats/WebP/ImageExtensionsTests.cs      |   4 +-
 .../Formats/WebP/LosslessUtilsTests.cs        |   4 +-
 .../Formats/WebP/PredictorEncoderTests.cs     |   2 +-
 .../Formats/WebP/Vp8HistogramTests.cs         |  12 +-
 .../Formats/WebP/Vp8LHistogramTests.cs        |   2 +-
 .../Formats/WebP/Vp8ModeScoreTests.cs         |  10 +-
 .../Formats/WebP/Vp8ResidualTests.cs          |   6 +-
 .../Formats/WebP/WebpDecoderTests.cs          |   2 +-
 .../Formats/WebP/WebpMetaDataTests.cs         |  12 +-
 .../GraphicOptionsDefaultsExtensionsTests.cs  |  34 +++---
 .../ImageSharp.Tests/GraphicsOptionsTests.cs  |   8 +-
 .../Helpers/ColorNumericsTests.cs             |   2 +-
 .../ImageSharp.Tests/Helpers/NumericsTests.cs |   8 +-
 .../Helpers/ParallelExecutionSettingsTests.cs |   2 +-
 .../Helpers/ParallelRowIteratorTests.cs       |  60 +++++-----
 .../Helpers/RowIntervalTests.cs               |  14 +--
 .../Helpers/TolerantMathTests.cs              |   2 +-
 .../IO/ChunkedMemoryStreamTests.cs            |   4 +-
 .../ImageSharp.Tests/Image/ImageCloneTests.cs |   4 +-
 .../Image/ImageFrameCollectionTests.cs        |   6 +-
 .../ImageSharp.Tests/Image/ImageFrameTests.cs |  18 +--
 .../Image/ImageRotationTests.cs               |   6 +-
 .../ImageSharp.Tests/Image/ImageSaveTests.cs  |  12 +-
 .../Image/ImageTests.EncodeCancellation.cs    |  28 ++---
 .../Image/ImageTests.ImageLoadTestBase.cs     |  18 +--
 ..._FileSystemPath_UseDefaultConfiguration.cs |   2 +-
 ...s.Load_FromBytes_UseGlobalConfiguration.cs |   2 +-
 ...ts.Load_FromStream_ThrowsRightException.cs |   2 +-
 ...Load_FromStream_UseDefaultConfiguration.cs |   6 +-
 .../Image/ImageTests.WrapMemory.cs            |  50 ++++----
 .../Image/LargeImageIntegrationTests.cs       |   2 +-
 .../Image/ProcessPixelRowsTestBase.cs         |  42 +++----
 .../Memory/Allocators/BufferTestSuite.cs      |   2 +-
 .../RefCountedLifetimeGuardTests.cs           |  10 +-
 .../Allocators/SharedArrayPoolBufferTests.cs  |   4 +-
 .../SimpleGcMemoryAllocatorTests.cs           |   2 +-
 .../UniformUnmanagedMemoryPoolTests.Trim.cs   |  18 +--
 .../UniformUnmanagedMemoryPoolTests.cs        |  54 ++++-----
 ...niformUnmanagedPoolMemoryAllocatorTests.cs |  32 +++---
 .../Memory/Allocators/UnmanagedBufferTests.cs |   2 +-
 .../Allocators/UnmanagedMemoryHandleTests.cs  |   2 +-
 .../Memory/Buffer2DTests.SwapOrCopyContent.cs |  20 ++--
 .../ImageSharp.Tests/Memory/Buffer2DTests.cs  |  16 +--
 .../Memory/BufferAreaTests.cs                 |  12 +-
 .../DiscontiguousBuffers/MemoryGroupIndex.cs  |   6 +-
 .../MemoryGroupIndexTests.cs                  |  24 ++--
 .../MemoryGroupTests.Allocate.cs              |   6 +-
 .../DiscontiguousBuffers/MemoryGroupTests.cs  |  10 +-
 .../MemoryGroupTestsBase.cs                   |   2 +-
 tests/ImageSharp.Tests/Memory/TestStructs.cs  |   4 +-
 .../MemoryAllocatorValidator.cs               |   2 +-
 .../Metadata/ImageFrameMetadataTests.cs       |   2 +-
 .../Metadata/ImageMetadataTests.cs            |   6 +-
 .../Profiles/CICP/CicpProfileTests.cs         |   8 +-
 .../Profiles/Exif/ExifProfileTests.cs         |  70 ++++++------
 .../Metadata/Profiles/Exif/ExifReaderTests.cs |   4 +-
 .../Exif/ExifTagDescriptionAttributeTests.cs  |   2 +-
 .../Profiles/Exif/Values/ExifValuesTests.cs   |  44 +++----
 .../DataReader/IccDataReaderCurvesTests.cs    |   2 +-
 .../ICC/DataReader/IccDataReaderLutTests.cs   |   2 +-
 .../DataReader/IccDataReaderMatrixTests.cs    |   2 +-
 .../IccDataReaderMultiProcessElementTests.cs  |   2 +-
 .../IccDataReaderNonPrimitivesTests.cs        |   2 +-
 .../IccDataReaderPrimitivesTests.cs           |   2 +-
 .../IccDataReaderTagDataEntryTests.cs         |   2 +-
 .../DataWriter/IccDataWriterCurvesTests.cs    |   2 +-
 .../ICC/DataWriter/IccDataWriterLutTests.cs   |   2 +-
 .../ICC/DataWriter/IccDataWriterLutTests1.cs  |   2 +-
 .../ICC/DataWriter/IccDataWriterLutTests2.cs  |   2 +-
 .../DataWriter/IccDataWriterMatrixTests.cs    |   2 +-
 .../IccDataWriterMultiProcessElementTests.cs  |   2 +-
 .../IccDataWriterNonPrimitivesTests.cs        |   2 +-
 .../IccDataWriterPrimitivesTests.cs           |   2 +-
 .../IccDataWriterTagDataEntryTests.cs         |   2 +-
 .../ICC/DataWriter/IccDataWriterTests.cs      |   2 +-
 .../Metadata/Profiles/ICC/IccProfileTests.cs  |   2 +-
 .../Metadata/Profiles/ICC/IccReaderTests.cs   |   2 +-
 .../Metadata/Profiles/ICC/IccWriterTests.cs   |   4 +-
 .../Profiles/ICC/Various/IccProfileIdTests.cs |   2 +-
 .../Profiles/IPTC/IptcProfileTests.cs         |  38 +++---
 .../Metadata/Profiles/XMP/XmpProfileTests.cs  |  26 ++---
 .../Numerics/RationalTests.cs                 |  20 ++--
 .../Numerics/SignedRationalTests.cs           |  48 ++++----
 .../ImageSharp.Tests/PixelFormats/A8Tests.cs  |   2 +-
 .../PixelFormats/Abgr32Tests.cs               |   4 +-
 .../PixelFormats/Argb32Tests.cs               |   2 +-
 .../PixelFormats/Bgr24Tests.cs                |   4 +-
 .../PixelFormats/Bgr565Tests.cs               |  30 ++---
 .../PixelFormats/Bgra32Tests.cs               |   4 +-
 .../PixelFormats/Bgra4444Tests.cs             |  28 ++---
 .../PixelFormats/Bgra5551Tests.cs             |  30 ++---
 .../PixelFormats/Byte4Tests.cs                |  26 ++---
 .../PixelFormats/HalfVector2Tests.cs          |   2 +-
 .../PixelFormats/HalfVector4Tests.cs          |   2 +-
 .../ImageSharp.Tests/PixelFormats/L16Tests.cs |   4 +-
 .../ImageSharp.Tests/PixelFormats/L8Tests.cs  |   4 +-
 .../PixelFormats/La16Tests.cs                 |   4 +-
 .../PixelFormats/La32Tests.cs                 |   4 +-
 .../PixelFormats/NormalizedByte2Tests.cs      |   6 +-
 .../PixelFormats/NormalizedByte4Tests.cs      |  26 ++---
 .../PixelFormats/NormalizedShort2Tests.cs     |   6 +-
 .../PixelFormats/NormalizedShort4Tests.cs     |  26 ++---
 .../PixelFormats/PixelBlenderTests.cs         |  24 ++--
 .../PixelBlenders/PorterDuffFunctionsTests.cs |  52 ++++-----
 .../PorterDuffFunctionsTestsTPixel.cs         |  38 +++---
 .../PixelOperations/PixelOperationsTests.cs   |  14 +--
 .../PixelFormats/Rg32Tests.cs                 |   2 +-
 .../PixelFormats/Rgb24Tests.cs                |   4 +-
 .../PixelFormats/Rgb48Tests.cs                |   2 +-
 .../PixelFormats/Rgba1010102Tests.cs          |  28 ++---
 .../PixelFormats/Rgba32Tests.cs               |   2 +-
 .../PixelFormats/Rgba64Tests.cs               |   2 +-
 .../PixelFormats/RgbaVectorTests.cs           |   6 +-
 .../PixelFormats/Short2Tests.cs               |   8 +-
 .../PixelFormats/Short4Tests.cs               |   2 +-
 .../Primitives/DenseMatrixTests.cs            |  16 +--
 .../Primitives/PointFTests.cs                 |  43 ++++---
 .../ImageSharp.Tests/Primitives/PointTests.cs |  58 +++++-----
 .../Primitives/RectangleFTests.cs             |  72 ++++++------
 .../Primitives/RectangleTests.cs              |  80 ++++++-------
 .../ImageSharp.Tests/Primitives/SizeFTests.cs |  52 ++++-----
 .../ImageSharp.Tests/Primitives/SizeTests.cs  |  76 ++++++------
 .../BaseImageOperationsExtensionTest.cs       |   6 +-
 .../Binarization/OrderedDitherFactoryTests.cs |   8 +-
 .../Convolution/KernelSamplingMapTest.cs      |  82 ++++++-------
 .../Processors/LaplacianKernelFactoryTests.cs |   6 +-
 .../Processing/Filters/BrightnessTest.cs      |  16 +--
 .../Processing/ImageOperationTests.cs         |  10 +-
 .../Processing/ImageProcessingContextTests.cs |  12 +-
 .../HistogramEqualizationTests.cs             |  20 ++--
 .../Normalization/MagickCompareTests.cs       |   2 +-
 .../Processing/Overlays/GlowTest.cs           |   2 +-
 .../Processing/Overlays/VignetteTest.cs       |   2 +-
 .../Binarization/BinaryDitherTests.cs         |   8 +-
 .../Binarization/BinaryThresholdTest.cs       |  10 +-
 .../Basic1ParameterConvolutionTests.cs        |   2 +-
 .../Processors/Convolution/BokehBlurTest.cs   |   6 +-
 .../Convolution/ConvolutionTests.cs           |   2 +-
 .../Processors/Convolution/DetectEdgesTest.cs |  16 +--
 .../Processors/Dithering/DitherTests.cs       |   8 +-
 .../Processors/Effects/OilPaintTest.cs        |   6 +-
 .../Processors/Effects/PixelShaderTest.cs     |   8 +-
 .../Processors/Effects/PixelateTest.cs        |   2 +-
 .../Processors/Filters/BrightnessTest.cs      |   2 +-
 .../Processors/Filters/ColorBlindnessTest.cs  |   2 +-
 .../Processors/Filters/ContrastTest.cs        |   2 +-
 .../Processors/Filters/GrayscaleTest.cs       |   2 +-
 .../Processing/Processors/Filters/HueTest.cs  |   2 +-
 .../Processors/Filters/LightnessTest.cs       |   2 +-
 .../Processors/Filters/OpacityTest.cs         |   2 +-
 .../Processors/Filters/SaturateTest.cs        |   2 +-
 .../Quantization/OctreeQuantizerTests.cs      |  22 ++--
 .../Quantization/PaletteQuantizerTests.cs     |  22 ++--
 .../Quantization/WuQuantizerTests.cs          |  22 ++--
 .../Transforms/AffineTransformTests.cs        |  10 +-
 .../Processors/Transforms/AutoOrientTests.cs  |   6 +-
 .../Processors/Transforms/CropTest.cs         |   2 +-
 .../Processors/Transforms/EntropyCropTest.cs  |   2 +-
 .../Processors/Transforms/FlipTests.cs        |   4 +-
 .../Transforms/ResizeHelperTests.cs           |  58 +++++-----
 ...ResizeKernelMapTests.ReferenceKernelMap.cs |   8 +-
 .../Processors/Transforms/ResizeTests.cs      |  46 ++++----
 .../Processors/Transforms/RotateFlipTests.cs  |   4 +-
 .../Processors/Transforms/RotateTests.cs      |   8 +-
 .../Processors/Transforms/SkewTests.cs        |   4 +-
 .../Processors/Transforms/SwizzleTests.cs     |   9 +-
 .../Transforms/AffineTransformBuilderTests.cs |   3 +-
 .../Processing/Transforms/CropTest.cs         |   4 +-
 .../ProjectiveTransformBuilderTests.cs        |   3 +-
 .../Transforms/ProjectiveTransformTests.cs    |  24 ++--
 .../Processing/Transforms/ResizeTests.cs      |   6 +-
 .../Processing/Transforms/SwizzleTests.cs     |   7 +-
 .../LoadResizeSaveProfilingBenchmarks.cs      |   2 +-
 .../ResizeProfilingBenchmarks.cs              |   2 +-
 .../Quantization/QuantizedImageTests.cs       |   2 +-
 .../Quantization/WuQuantizerTests.cs          |  22 ++--
 .../TestDataIcc/IccTestDataLut.cs             |   2 +-
 .../TestDataIcc/IccTestDataNonPrimitives.cs   |  92 +++++++--------
 .../TestDataIcc/IccTestDataTagDataEntry.cs    |   4 +-
 tests/ImageSharp.Tests/TestFile.cs            |   2 +-
 tests/ImageSharp.Tests/TestFontUtilities.cs   |   4 +-
 tests/ImageSharp.Tests/TestFormat.cs          |  10 +-
 .../TestUtilities/ByteBuffer.cs               |   2 +-
 .../TestUtilities/EofHitCounter.cs            |   4 +-
 .../FeatureTesting/FeatureTestRunner.cs       |  16 +--
 .../ImageComparison/ExactImageComparer.cs     |   8 +-
 .../ImageComparison/ImageComparer.cs          |   4 +-
 .../ImageComparison/ImageComparingUtils.cs    |   2 +-
 .../ImageComparison/ImageSimilarityReport.cs  |   4 +-
 .../ImageComparison/TolerantImageComparer.cs  |   6 +-
 .../BasicTestPatternProvider.cs               |   2 +-
 .../ImageProviders/BlankProvider.cs           |   2 +-
 .../ImageProviders/FileProvider.cs            |   8 +-
 .../ImageProviders/TestImageProvider.cs       |   2 +-
 .../TestUtilities/MeasureFixture.cs           |   2 +-
 .../TestUtilities/PausedMemoryStream.cs       |   4 +-
 .../TestUtilities/PausedStream.cs             |   4 +-
 .../ReferenceCodecs/MagickReferenceDecoder.cs |  10 +-
 .../ReferenceCodecs/SystemDrawingBridge.cs    |   4 +-
 .../SystemDrawingReferenceDecoder.cs          |   4 +-
 .../SystemDrawingReferenceEncoder.cs          |   4 +-
 .../SixLaborsXunitTestFramework.cs            |   2 +-
 .../TestUtilities/TestEnvironment.cs          |  13 +--
 .../TestUtilities/TestImageExtensions.cs      |   2 +-
 .../TestUtilities/TestMemoryAllocator.cs      |  10 +-
 .../TestUtilities/TestMemoryManager.cs        |   2 +-
 .../TestUtilities/TestPixel.cs                |   2 +-
 .../TestUtilities/TestUtils.cs                |   4 +-
 .../TestUtilities/TestVector4.cs              |   2 +-
 .../Tests/BasicSerializerTests.cs             |   2 +-
 .../TestUtilities/Tests/ImageComparerTests.cs |   4 +-
 .../Tests/ReferenceDecoderBenchmarks.cs       |   2 +-
 .../Tests/SemaphoreReadMemoryStreamTests.cs   |   4 +-
 .../Tests/SystemDrawingReferenceCodecTests.cs |   8 +-
 .../Tests/TestUtilityExtensionsTests.cs       |   2 +-
 624 files changed, 2783 insertions(+), 2789 deletions(-)

diff --git a/src/ImageSharp/Advanced/ParallelExecutionSettings.cs b/src/ImageSharp/Advanced/ParallelExecutionSettings.cs
index fd9692f9ae..f295ddb1b0 100644
--- a/src/ImageSharp/Advanced/ParallelExecutionSettings.cs
+++ b/src/ImageSharp/Advanced/ParallelExecutionSettings.cs
@@ -79,7 +79,7 @@ public ParallelExecutionSettings MultiplyMinimumPixelsPerTask(int multiplier)
     {
         Guard.MustBeGreaterThan(multiplier, 0, nameof(multiplier));
 
-        return new ParallelExecutionSettings(
+        return new(
             this.MaxDegreeOfParallelism,
             this.MinimumPixelsProcessedPerTask * multiplier,
             this.MemoryAllocator);
@@ -92,6 +92,6 @@ public ParallelExecutionSettings MultiplyMinimumPixelsPerTask(int multiplier)
     /// <returns>The <see cref="ParallelExecutionSettings"/>.</returns>
     public static ParallelExecutionSettings FromConfiguration(Configuration configuration)
     {
-        return new ParallelExecutionSettings(configuration.MaxDegreeOfParallelism, configuration.MemoryAllocator);
+        return new(configuration.MaxDegreeOfParallelism, configuration.MemoryAllocator);
     }
 }
diff --git a/src/ImageSharp/Advanced/ParallelRowIterator.Wrappers.cs b/src/ImageSharp/Advanced/ParallelRowIterator.Wrappers.cs
index b76f2948f1..afe6aad010 100644
--- a/src/ImageSharp/Advanced/ParallelRowIterator.Wrappers.cs
+++ b/src/ImageSharp/Advanced/ParallelRowIterator.Wrappers.cs
@@ -139,7 +139,7 @@ public void Invoke(int i)
             }
 
             int yMax = Math.Min(yMin + this.stepY, this.maxY);
-            RowInterval rows = new RowInterval(yMin, yMax);
+            RowInterval rows = new(yMin, yMax);
 
             // Skip the safety copy when invoking a potentially impure method on a readonly field
             Unsafe.AsRef(in this.operation).Invoke(in rows);
diff --git a/src/ImageSharp/Advanced/ParallelRowIterator.cs b/src/ImageSharp/Advanced/ParallelRowIterator.cs
index 26b949c01b..fd84e31f80 100644
--- a/src/ImageSharp/Advanced/ParallelRowIterator.cs
+++ b/src/ImageSharp/Advanced/ParallelRowIterator.cs
@@ -65,8 +65,8 @@ public static void IterateRows<T>(
         }
 
         int verticalStep = DivideCeil(rectangle.Height, numOfSteps);
-        ParallelOptions? parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
-        RowOperationWrapper<T> wrappingOperation = new RowOperationWrapper<T>(top, bottom, verticalStep, in operation);
+        ParallelOptions? parallelOptions = new() { MaxDegreeOfParallelism = numOfSteps };
+        RowOperationWrapper<T> wrappingOperation = new(top, bottom, verticalStep, in operation);
 
         Parallel.For(
             0,
diff --git a/src/ImageSharp/Color/Color.WebSafePalette.cs b/src/ImageSharp/Color/Color.WebSafePalette.cs
index feb4a8659d..b805d63f97 100644
--- a/src/ImageSharp/Color/Color.WebSafePalette.cs
+++ b/src/ImageSharp/Color/Color.WebSafePalette.cs
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp;
 /// </content>
 public partial struct Color
 {
-    private static readonly Lazy<Color[]> WebSafePaletteLazy = new Lazy<Color[]>(CreateWebSafePalette, true);
+    private static readonly Lazy<Color[]> WebSafePaletteLazy = new(CreateWebSafePalette, true);
 
     /// <summary>
     /// Gets a collection of named, web safe colors as defined in the CSS Color Module Level 4.
diff --git a/src/ImageSharp/Color/Color.WernerPalette.cs b/src/ImageSharp/Color/Color.WernerPalette.cs
index 1058da6547..6f0e3744f3 100644
--- a/src/ImageSharp/Color/Color.WernerPalette.cs
+++ b/src/ImageSharp/Color/Color.WernerPalette.cs
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp;
 /// </content>
 public partial struct Color
 {
-    private static readonly Lazy<Color[]> WernerPaletteLazy = new Lazy<Color[]>(CreateWernerPalette, true);
+    private static readonly Lazy<Color[]> WernerPaletteLazy = new(CreateWernerPalette, true);
 
     /// <summary>
     /// Gets a collection of colors as defined in the original second edition of Werner’s Nomenclature of Colours 1821.
diff --git a/src/ImageSharp/ColorProfiles/CieLab.cs b/src/ImageSharp/ColorProfiles/CieLab.cs
index 377cc20a99..fdcceee66c 100644
--- a/src/ImageSharp/ColorProfiles/CieLab.cs
+++ b/src/ImageSharp/ColorProfiles/CieLab.cs
@@ -103,7 +103,7 @@ public static CieLab FromProfileConnectingSpace(ColorConversionOptions options,
         float a = 500F * (fx - fy);
         float b = 200F * (fy - fz);
 
-        return new CieLab(l, a, b);
+        return new(l, a, b);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/CieLch.cs b/src/ImageSharp/ColorProfiles/CieLch.cs
index 1319783406..976d77c1e2 100644
--- a/src/ImageSharp/ColorProfiles/CieLch.cs
+++ b/src/ImageSharp/ColorProfiles/CieLch.cs
@@ -25,7 +25,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
     /// <param name="h">The hue in degrees.</param>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     public CieLch(float l, float c, float h)
-        : this(new Vector3(l, c, h))
+        : this(new(l, c, h))
     {
     }
 
@@ -101,7 +101,7 @@ public static CieLch FromProfileConnectingSpace(ColorConversionOptions options,
             hDegrees += 360;
         }
 
-        return new CieLch(l, c, hDegrees);
+        return new(l, c, hDegrees);
     }
 
     /// <inheritdoc/>
@@ -127,7 +127,7 @@ public CieLab ToProfileConnectingSpace(ColorConversionOptions options)
         float a = c * MathF.Cos(hRadians);
         float b = c * MathF.Sin(hRadians);
 
-        return new CieLab(l, a, b);
+        return new(l, a, b);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/CieLchuv.cs b/src/ImageSharp/ColorProfiles/CieLchuv.cs
index 7fd95feb19..29307dc807 100644
--- a/src/ImageSharp/ColorProfiles/CieLchuv.cs
+++ b/src/ImageSharp/ColorProfiles/CieLchuv.cs
@@ -25,7 +25,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
     /// <param name="h">The hue in degrees.</param>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     public CieLchuv(float l, float c, float h)
-       : this(new Vector3(l, c, h))
+       : this(new(l, c, h))
     {
     }
 
@@ -102,7 +102,7 @@ public static CieLchuv FromProfileConnectingSpace(ColorConversionOptions options
             hDegrees += 360;
         }
 
-        return new CieLchuv(l, c, hDegrees);
+        return new(l, c, hDegrees);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/CieLuv.cs b/src/ImageSharp/ColorProfiles/CieLuv.cs
index 97e2826f74..846ccfa841 100644
--- a/src/ImageSharp/ColorProfiles/CieLuv.cs
+++ b/src/ImageSharp/ColorProfiles/CieLuv.cs
@@ -123,7 +123,7 @@ public static CieLuv FromProfileConnectingSpace(ColorConversionOptions options,
             v = 0;
         }
 
-        return new CieLuv((float)l, (float)u, (float)v);
+        return new((float)l, (float)u, (float)v);
     }
 
     /// <inheritdoc/>
@@ -177,7 +177,7 @@ public CieXyz ToProfileConnectingSpace(ColorConversionOptions options)
             z = 0;
         }
 
-        return new CieXyz((float)x, (float)y, (float)z);
+        return new((float)x, (float)y, (float)z);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/CieXyy.cs b/src/ImageSharp/ColorProfiles/CieXyy.cs
index 62873df147..7ab2bcd9b0 100644
--- a/src/ImageSharp/ColorProfiles/CieXyy.cs
+++ b/src/ImageSharp/ColorProfiles/CieXyy.cs
@@ -91,10 +91,10 @@ public static CieXyy FromProfileConnectingSpace(ColorConversionOptions options,
 
         if (float.IsNaN(x) || float.IsNaN(y))
         {
-            return new CieXyy(0, 0, source.Y);
+            return new(0, 0, source.Y);
         }
 
-        return new CieXyy(x, y, source.Y);
+        return new(x, y, source.Y);
     }
 
     /// <inheritdoc/>
@@ -113,14 +113,14 @@ public CieXyz ToProfileConnectingSpace(ColorConversionOptions options)
     {
         if (MathF.Abs(this.Y) < Constants.Epsilon)
         {
-            return new CieXyz(0, 0, this.Yl);
+            return new(0, 0, this.Yl);
         }
 
         float x = (this.X * this.Yl) / this.Y;
         float y = this.Yl;
         float z = ((1 - this.X - this.Y) * y) / this.Y;
 
-        return new CieXyz(x, y, z);
+        return new(x, y, z);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/Cmyk.cs b/src/ImageSharp/ColorProfiles/Cmyk.cs
index e924904497..3313ab54cb 100644
--- a/src/ImageSharp/ColorProfiles/Cmyk.cs
+++ b/src/ImageSharp/ColorProfiles/Cmyk.cs
@@ -25,7 +25,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
     /// <param name="k">The keyline black component.</param>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     public Cmyk(float c, float m, float y, float k)
-        : this(new Vector4(c, m, y, k))
+        : this(new(c, m, y, k))
     {
     }
 
@@ -100,12 +100,12 @@ public static Cmyk FromProfileConnectingSpace(ColorConversionOptions options, in
 
         if (MathF.Abs(k.X - 1F) < Constants.Epsilon)
         {
-            return new Cmyk(0, 0, 0, 1F);
+            return new(0, 0, 0, 1F);
         }
 
         cmy = (cmy - k) / (Vector3.One - k);
 
-        return new Cmyk(cmy.X, cmy.Y, cmy.Z, k.X);
+        return new(cmy.X, cmy.Y, cmy.Z, k.X);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/Hsl.cs b/src/ImageSharp/ColorProfiles/Hsl.cs
index 2c98c7df99..189d3b9347 100644
--- a/src/ImageSharp/ColorProfiles/Hsl.cs
+++ b/src/ImageSharp/ColorProfiles/Hsl.cs
@@ -24,7 +24,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
     /// <param name="l">The l value (lightness) component.</param>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     public Hsl(float h, float s, float l)
-        : this(new Vector3(h, s, l))
+        : this(new(h, s, l))
     {
     }
 
@@ -99,7 +99,7 @@ public static Hsl FromProfileConnectingSpace(ColorConversionOptions options, in
 
         if (MathF.Abs(chroma) < Constants.Epsilon)
         {
-            return new Hsl(0F, s, l);
+            return new(0F, s, l);
         }
 
         if (MathF.Abs(r - max) < Constants.Epsilon)
@@ -130,7 +130,7 @@ public static Hsl FromProfileConnectingSpace(ColorConversionOptions options, in
             s = chroma / (2F - max - min);
         }
 
-        return new Hsl(h, s, l);
+        return new(h, s, l);
     }
 
     /// <inheritdoc/>
@@ -171,7 +171,7 @@ public Rgb ToProfileConnectingSpace(ColorConversionOptions options)
             }
         }
 
-        return new Rgb(r, g, b);
+        return new(r, g, b);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/Hsv.cs b/src/ImageSharp/ColorProfiles/Hsv.cs
index 7535f2463d..4e4b0efca5 100644
--- a/src/ImageSharp/ColorProfiles/Hsv.cs
+++ b/src/ImageSharp/ColorProfiles/Hsv.cs
@@ -24,7 +24,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
     /// <param name="v">The v value (brightness) component.</param>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     public Hsv(float h, float s, float v)
-        : this(new Vector3(h, s, v))
+        : this(new(h, s, v))
     {
     }
 
@@ -97,7 +97,7 @@ public static Hsv FromProfileConnectingSpace(ColorConversionOptions options, in
 
         if (MathF.Abs(chroma) < Constants.Epsilon)
         {
-            return new Hsv(0, s, v);
+            return new(0, s, v);
         }
 
         if (MathF.Abs(r - max) < Constants.Epsilon)
@@ -121,7 +121,7 @@ public static Hsv FromProfileConnectingSpace(ColorConversionOptions options, in
 
         s = chroma / v;
 
-        return new Hsv(h, s, v);
+        return new(h, s, v);
     }
 
     /// <inheritdoc/>
@@ -143,7 +143,7 @@ public Rgb ToProfileConnectingSpace(ColorConversionOptions options)
 
         if (MathF.Abs(s) < Constants.Epsilon)
         {
-            return new Rgb(v, v, v);
+            return new(v, v, v);
         }
 
         float h = (MathF.Abs(this.H - 360) < Constants.Epsilon) ? 0 : this.H / 60;
@@ -194,7 +194,7 @@ public Rgb ToProfileConnectingSpace(ColorConversionOptions options)
                 break;
         }
 
-        return new Rgb(r, g, b);
+        return new(r, g, b);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/HunterLab.cs b/src/ImageSharp/ColorProfiles/HunterLab.cs
index 43ad2ac5c0..e1c5330c0a 100644
--- a/src/ImageSharp/ColorProfiles/HunterLab.cs
+++ b/src/ImageSharp/ColorProfiles/HunterLab.cs
@@ -108,7 +108,7 @@ public static HunterLab FromProfileConnectingSpace(ColorConversionOptions option
             b = 0;
         }
 
-        return new HunterLab(l, a, b);
+        return new(l, a, b);
     }
 
     /// <inheritdoc/>
@@ -141,7 +141,7 @@ public CieXyz ToProfileConnectingSpace(ColorConversionOptions options)
         float x = (((a / ka) * sqrtPow) + pow) * xn;
         float z = (((b / kb) * sqrtPow) - pow) * (-zn);
 
-        return new CieXyz(x, y, z);
+        return new(x, y, z);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/KnownChromaticAdaptationMatrices.cs b/src/ImageSharp/ColorProfiles/KnownChromaticAdaptationMatrices.cs
index 71d565f87f..a5486580fd 100644
--- a/src/ImageSharp/ColorProfiles/KnownChromaticAdaptationMatrices.cs
+++ b/src/ImageSharp/ColorProfiles/KnownChromaticAdaptationMatrices.cs
@@ -24,7 +24,7 @@ public static class KnownChromaticAdaptationMatrices
     /// von Kries chromatic adaptation transform matrix (Hunt-Pointer-Estevez adjusted for D65)
     /// </summary>
     public static readonly Matrix4x4 VonKriesHPEAdjusted
-        = Matrix4x4.Transpose(new Matrix4x4
+        = Matrix4x4.Transpose(new()
         {
             M11 = 0.40024F,
             M12 = 0.7076F,
@@ -42,7 +42,7 @@ public static readonly Matrix4x4 VonKriesHPEAdjusted
     /// von Kries chromatic adaptation transform matrix (Hunt-Pointer-Estevez for equal energy)
     /// </summary>
     public static readonly Matrix4x4 VonKriesHPE
-        = Matrix4x4.Transpose(new Matrix4x4
+        = Matrix4x4.Transpose(new()
         {
             M11 = 0.3897F,
             M12 = 0.6890F,
@@ -65,7 +65,7 @@ public static readonly Matrix4x4 VonKriesHPE
     /// Bradford chromatic adaptation transform matrix (used in CMCCAT97)
     /// </summary>
     public static readonly Matrix4x4 Bradford
-        = Matrix4x4.Transpose(new Matrix4x4
+        = Matrix4x4.Transpose(new()
         {
             M11 = 0.8951F,
             M12 = 0.2664F,
@@ -83,7 +83,7 @@ public static readonly Matrix4x4 Bradford
     /// Spectral sharpening and the Bradford transform
     /// </summary>
     public static readonly Matrix4x4 BradfordSharp
-        = Matrix4x4.Transpose(new Matrix4x4
+        = Matrix4x4.Transpose(new()
         {
             M11 = 1.2694F,
             M12 = -0.0988F,
@@ -101,7 +101,7 @@ public static readonly Matrix4x4 BradfordSharp
     /// CMCCAT2000 (fitted from all available color data sets)
     /// </summary>
     public static readonly Matrix4x4 CMCCAT2000
-        = Matrix4x4.Transpose(new Matrix4x4
+        = Matrix4x4.Transpose(new()
         {
             M11 = 0.7982F,
             M12 = 0.3389F,
@@ -119,7 +119,7 @@ public static readonly Matrix4x4 CMCCAT2000
     /// CAT02 (optimized for minimizing CIELAB differences)
     /// </summary>
     public static readonly Matrix4x4 CAT02
-        = Matrix4x4.Transpose(new Matrix4x4
+        = Matrix4x4.Transpose(new()
         {
             M11 = 0.7328F,
             M12 = 0.4296F,
diff --git a/src/ImageSharp/ColorProfiles/KnownRgbWorkingSpaces.cs b/src/ImageSharp/ColorProfiles/KnownRgbWorkingSpaces.cs
index 9163839363..1c5f1664c9 100644
--- a/src/ImageSharp/ColorProfiles/KnownRgbWorkingSpaces.cs
+++ b/src/ImageSharp/ColorProfiles/KnownRgbWorkingSpaces.cs
@@ -18,96 +18,96 @@ public static class KnownRgbWorkingSpaces
     /// Uses proper companding function, according to:
     /// <see href="http://www.brucelindbloom.com/index.html?Eqn_Rgb_to_XYZ.html"/>
     /// </remarks>
-    public static readonly RgbWorkingSpace SRgb = new SRgbWorkingSpace(KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6400F, 0.3300F), new CieXyChromaticityCoordinates(0.3000F, 0.6000F), new CieXyChromaticityCoordinates(0.1500F, 0.0600F)));
+    public static readonly RgbWorkingSpace SRgb = new SRgbWorkingSpace(KnownIlluminants.D65, new(new(0.6400F, 0.3300F), new(0.3000F, 0.6000F), new(0.1500F, 0.0600F)));
 
     /// <summary>
     /// Simplified sRgb working space (uses <see cref="GammaCompanding">gamma companding</see> instead of <see cref="SRgbCompanding"/>).
     /// See also <see cref="SRgb"/>.
     /// </summary>
-    public static readonly RgbWorkingSpace SRgbSimplified = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6400F, 0.3300F), new CieXyChromaticityCoordinates(0.3000F, 0.6000F), new CieXyChromaticityCoordinates(0.1500F, 0.0600F)));
+    public static readonly RgbWorkingSpace SRgbSimplified = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new(new(0.6400F, 0.3300F), new(0.3000F, 0.6000F), new(0.1500F, 0.0600F)));
 
     /// <summary>
     /// Rec. 709 (ITU-R Recommendation BT.709) working space.
     /// </summary>
-    public static readonly RgbWorkingSpace Rec709 = new Rec709WorkingSpace(KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.64F, 0.33F), new CieXyChromaticityCoordinates(0.30F, 0.60F), new CieXyChromaticityCoordinates(0.15F, 0.06F)));
+    public static readonly RgbWorkingSpace Rec709 = new Rec709WorkingSpace(KnownIlluminants.D65, new(new(0.64F, 0.33F), new(0.30F, 0.60F), new(0.15F, 0.06F)));
 
     /// <summary>
     /// Rec. 2020 (ITU-R Recommendation BT.2020F) working space.
     /// </summary>
-    public static readonly RgbWorkingSpace Rec2020 = new Rec2020WorkingSpace(KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.708F, 0.292F), new CieXyChromaticityCoordinates(0.170F, 0.797F), new CieXyChromaticityCoordinates(0.131F, 0.046F)));
+    public static readonly RgbWorkingSpace Rec2020 = new Rec2020WorkingSpace(KnownIlluminants.D65, new(new(0.708F, 0.292F), new(0.170F, 0.797F), new(0.131F, 0.046F)));
 
     /// <summary>
     /// ECI Rgb v2 working space.
     /// </summary>
-    public static readonly RgbWorkingSpace ECIRgbv2 = new LWorkingSpace(KnownIlluminants.D50, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6700F, 0.3300F), new CieXyChromaticityCoordinates(0.2100F, 0.7100F), new CieXyChromaticityCoordinates(0.1400F, 0.0800F)));
+    public static readonly RgbWorkingSpace ECIRgbv2 = new LWorkingSpace(KnownIlluminants.D50, new(new(0.6700F, 0.3300F), new(0.2100F, 0.7100F), new(0.1400F, 0.0800F)));
 
     /// <summary>
     /// Adobe Rgb (1998) working space.
     /// </summary>
-    public static readonly RgbWorkingSpace AdobeRgb1998 = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6400F, 0.3300F), new CieXyChromaticityCoordinates(0.2100F, 0.7100F), new CieXyChromaticityCoordinates(0.1500F, 0.0600F)));
+    public static readonly RgbWorkingSpace AdobeRgb1998 = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new(new(0.6400F, 0.3300F), new(0.2100F, 0.7100F), new(0.1500F, 0.0600F)));
 
     /// <summary>
     /// Apple sRgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace ApplesRgb = new GammaWorkingSpace(1.8F, KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6250F, 0.3400F), new CieXyChromaticityCoordinates(0.2800F, 0.5950F), new CieXyChromaticityCoordinates(0.1550F, 0.0700F)));
+    public static readonly RgbWorkingSpace ApplesRgb = new GammaWorkingSpace(1.8F, KnownIlluminants.D65, new(new(0.6250F, 0.3400F), new(0.2800F, 0.5950F), new(0.1550F, 0.0700F)));
 
     /// <summary>
     /// Best Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace BestRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.7347F, 0.2653F), new CieXyChromaticityCoordinates(0.2150F, 0.7750F), new CieXyChromaticityCoordinates(0.1300F, 0.0350F)));
+    public static readonly RgbWorkingSpace BestRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new(new(0.7347F, 0.2653F), new(0.2150F, 0.7750F), new(0.1300F, 0.0350F)));
 
     /// <summary>
     /// Beta Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace BetaRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6888F, 0.3112F), new CieXyChromaticityCoordinates(0.1986F, 0.7551F), new CieXyChromaticityCoordinates(0.1265F, 0.0352F)));
+    public static readonly RgbWorkingSpace BetaRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new(new(0.6888F, 0.3112F), new(0.1986F, 0.7551F), new(0.1265F, 0.0352F)));
 
     /// <summary>
     /// Bruce Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace BruceRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6400F, 0.3300F), new CieXyChromaticityCoordinates(0.2800F, 0.6500F), new CieXyChromaticityCoordinates(0.1500F, 0.0600F)));
+    public static readonly RgbWorkingSpace BruceRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new(new(0.6400F, 0.3300F), new(0.2800F, 0.6500F), new(0.1500F, 0.0600F)));
 
     /// <summary>
     /// CIE Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace CIERgb = new GammaWorkingSpace(2.2F, KnownIlluminants.E, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.7350F, 0.2650F), new CieXyChromaticityCoordinates(0.2740F, 0.7170F), new CieXyChromaticityCoordinates(0.1670F, 0.0090F)));
+    public static readonly RgbWorkingSpace CIERgb = new GammaWorkingSpace(2.2F, KnownIlluminants.E, new(new(0.7350F, 0.2650F), new(0.2740F, 0.7170F), new(0.1670F, 0.0090F)));
 
     /// <summary>
     /// ColorMatch Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace ColorMatchRgb = new GammaWorkingSpace(1.8F, KnownIlluminants.D50, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6300F, 0.3400F), new CieXyChromaticityCoordinates(0.2950F, 0.6050F), new CieXyChromaticityCoordinates(0.1500F, 0.0750F)));
+    public static readonly RgbWorkingSpace ColorMatchRgb = new GammaWorkingSpace(1.8F, KnownIlluminants.D50, new(new(0.6300F, 0.3400F), new(0.2950F, 0.6050F), new(0.1500F, 0.0750F)));
 
     /// <summary>
     /// Don Rgb 4 working space.
     /// </summary>
-    public static readonly RgbWorkingSpace DonRgb4 = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6960F, 0.3000F), new CieXyChromaticityCoordinates(0.2150F, 0.7650F), new CieXyChromaticityCoordinates(0.1300F, 0.0350F)));
+    public static readonly RgbWorkingSpace DonRgb4 = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new(new(0.6960F, 0.3000F), new(0.2150F, 0.7650F), new(0.1300F, 0.0350F)));
 
     /// <summary>
     /// Ekta Space PS5 working space.
     /// </summary>
-    public static readonly RgbWorkingSpace EktaSpacePS5 = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6950F, 0.3050F), new CieXyChromaticityCoordinates(0.2600F, 0.7000F), new CieXyChromaticityCoordinates(0.1100F, 0.0050F)));
+    public static readonly RgbWorkingSpace EktaSpacePS5 = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new(new(0.6950F, 0.3050F), new(0.2600F, 0.7000F), new(0.1100F, 0.0050F)));
 
     /// <summary>
     /// NTSC Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace NTSCRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.C, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6700F, 0.3300F), new CieXyChromaticityCoordinates(0.2100F, 0.7100F), new CieXyChromaticityCoordinates(0.1400F, 0.0800F)));
+    public static readonly RgbWorkingSpace NTSCRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.C, new(new(0.6700F, 0.3300F), new(0.2100F, 0.7100F), new(0.1400F, 0.0800F)));
 
     /// <summary>
     /// PAL/SECAM Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace PALSECAMRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6400F, 0.3300F), new CieXyChromaticityCoordinates(0.2900F, 0.6000F), new CieXyChromaticityCoordinates(0.1500F, 0.0600F)));
+    public static readonly RgbWorkingSpace PALSECAMRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new(new(0.6400F, 0.3300F), new(0.2900F, 0.6000F), new(0.1500F, 0.0600F)));
 
     /// <summary>
     /// ProPhoto Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace ProPhotoRgb = new GammaWorkingSpace(1.8F, KnownIlluminants.D50, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.7347F, 0.2653F), new CieXyChromaticityCoordinates(0.1596F, 0.8404F), new CieXyChromaticityCoordinates(0.0366F, 0.0001F)));
+    public static readonly RgbWorkingSpace ProPhotoRgb = new GammaWorkingSpace(1.8F, KnownIlluminants.D50, new(new(0.7347F, 0.2653F), new(0.1596F, 0.8404F), new(0.0366F, 0.0001F)));
 
     /// <summary>
     /// SMPTE-C Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace SMPTECRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.6300F, 0.3400F), new CieXyChromaticityCoordinates(0.3100F, 0.5950F), new CieXyChromaticityCoordinates(0.1550F, 0.0700F)));
+    public static readonly RgbWorkingSpace SMPTECRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D65, new(new(0.6300F, 0.3400F), new(0.3100F, 0.5950F), new(0.1550F, 0.0700F)));
 
     /// <summary>
     /// Wide Gamut Rgb working space.
     /// </summary>
-    public static readonly RgbWorkingSpace WideGamutRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new RgbPrimariesChromaticityCoordinates(new CieXyChromaticityCoordinates(0.7350F, 0.2650F), new CieXyChromaticityCoordinates(0.1150F, 0.8260F), new CieXyChromaticityCoordinates(0.1570F, 0.0180F)));
+    public static readonly RgbWorkingSpace WideGamutRgb = new GammaWorkingSpace(2.2F, KnownIlluminants.D50, new(new(0.7350F, 0.2650F), new(0.1150F, 0.8260F), new(0.1570F, 0.0180F)));
 }
diff --git a/src/ImageSharp/ColorProfiles/Lms.cs b/src/ImageSharp/ColorProfiles/Lms.cs
index 5a6791b2d7..707b5f9f1f 100644
--- a/src/ImageSharp/ColorProfiles/Lms.cs
+++ b/src/ImageSharp/ColorProfiles/Lms.cs
@@ -93,7 +93,7 @@ public Lms(Vector3 vector)
     public static Lms FromProfileConnectingSpace(ColorConversionOptions options, in CieXyz source)
     {
         Vector3 vector = Vector3.Transform(source.ToVector3(), options.AdaptationMatrix);
-        return new Lms(vector);
+        return new(vector);
     }
 
     /// <inheritdoc/>
@@ -112,7 +112,7 @@ public static void FromProfileConnectionSpace(ColorConversionOptions options, Re
     public CieXyz ToProfileConnectingSpace(ColorConversionOptions options)
     {
         Vector3 vector = Vector3.Transform(this.ToVector3(), options.InverseAdaptationMatrix);
-        return new CieXyz(vector);
+        return new(vector);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/ColorProfiles/Rgb.cs b/src/ImageSharp/ColorProfiles/Rgb.cs
index 6698e12cb8..3d75b85ba4 100644
--- a/src/ImageSharp/ColorProfiles/Rgb.cs
+++ b/src/ImageSharp/ColorProfiles/Rgb.cs
@@ -111,7 +111,7 @@ public CieXyz ToProfileConnectingSpace(ColorConversionOptions options)
         Rgb linear = FromScaledVector4(options.RgbWorkingSpace.Expand(this.ToScaledVector4()));
 
         // Then convert to xyz
-        return new CieXyz(Vector3.Transform(linear.ToScaledVector3(), GetRgbToCieXyzMatrix(options.RgbWorkingSpace)));
+        return new(Vector3.Transform(linear.ToScaledVector3(), GetRgbToCieXyzMatrix(options.RgbWorkingSpace)));
     }
 
     /// <inheritdoc/>
@@ -128,7 +128,7 @@ public static void ToProfileConnectionSpace(ColorConversionOptions options, Read
             Rgb linear = FromScaledVector4(options.RgbWorkingSpace.Expand(rgb.ToScaledVector4()));
 
             // Then convert to xyz
-            destination[i] = new CieXyz(Vector3.Transform(linear.ToScaledVector3(), matrix));
+            destination[i] = new(Vector3.Transform(linear.ToScaledVector3(), matrix));
         }
     }
 
@@ -252,7 +252,7 @@ private static Matrix4x4 GetRgbToCieXyzMatrix(RgbWorkingSpace workingSpace)
         Vector3 vector = Vector3.Transform(workingSpace.WhitePoint.ToVector3(), inverseXyzMatrix);
 
         // Use transposed Rows/Columns
-        return new Matrix4x4
+        return new()
         {
             M11 = vector.X * mXr,
             M21 = vector.Y * mXg,
diff --git a/src/ImageSharp/ColorProfiles/VonKriesChromaticAdaptation.cs b/src/ImageSharp/ColorProfiles/VonKriesChromaticAdaptation.cs
index 2f9a52912e..665c08904a 100644
--- a/src/ImageSharp/ColorProfiles/VonKriesChromaticAdaptation.cs
+++ b/src/ImageSharp/ColorProfiles/VonKriesChromaticAdaptation.cs
@@ -42,7 +42,7 @@ public static CieXyz Transform(in CieXyz source, (CieXyz From, CieXyz To) whiteP
         Vector3 targetColorLms = Vector3.Multiply(vector, sourceColorLms);
 
         Matrix4x4.Invert(matrix, out Matrix4x4 inverseMatrix);
-        return new CieXyz(Vector3.Transform(targetColorLms, inverseMatrix));
+        return new(Vector3.Transform(targetColorLms, inverseMatrix));
     }
 
     /// <summary>
@@ -89,7 +89,7 @@ public static void Transform(
             Vector3 sourceColorLms = Vector3.Transform(sp.ToVector3(), matrix);
 
             Vector3 targetColorLms = Vector3.Multiply(vector, sourceColorLms);
-            dp = new CieXyz(Vector3.Transform(targetColorLms, inverseMatrix));
+            dp = new(Vector3.Transform(targetColorLms, inverseMatrix));
         }
     }
 }
diff --git a/src/ImageSharp/ColorProfiles/YCbCr.cs b/src/ImageSharp/ColorProfiles/YCbCr.cs
index 03bd1d3120..a9cfa5a73c 100644
--- a/src/ImageSharp/ColorProfiles/YCbCr.cs
+++ b/src/ImageSharp/ColorProfiles/YCbCr.cs
@@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
     /// <param name="cr">The cr chroma component.</param>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     public YCbCr(float y, float cb, float cr)
-        : this(new Vector3(y, cb, cr))
+        : this(new(y, cb, cr))
     {
     }
 
@@ -94,7 +94,7 @@ public static YCbCr FromProfileConnectingSpace(ColorConversionOptions options, i
         float cb = 128F + ((-0.168736F * r) - (0.331264F * g) + (0.5F * b));
         float cr = 128F + ((0.5F * r) - (0.418688F * g) - (0.081312F * b));
 
-        return new YCbCr(y, cb, cr);
+        return new(y, cb, cr);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Common/Extensions/ConfigurationExtensions.cs b/src/ImageSharp/Common/Extensions/ConfigurationExtensions.cs
index 6ed83a0d8a..c20c6e9c93 100644
--- a/src/ImageSharp/Common/Extensions/ConfigurationExtensions.cs
+++ b/src/ImageSharp/Common/Extensions/ConfigurationExtensions.cs
@@ -14,6 +14,6 @@ internal static class ConfigurationExtensions
     /// </summary>
     public static ParallelOptions GetParallelOptions(this Configuration configuration)
     {
-        return new ParallelOptions { MaxDegreeOfParallelism = configuration.MaxDegreeOfParallelism };
+        return new() { MaxDegreeOfParallelism = configuration.MaxDegreeOfParallelism };
     }
 }
diff --git a/src/ImageSharp/Common/Helpers/Numerics.cs b/src/ImageSharp/Common/Helpers/Numerics.cs
index 0143aec3cb..c7762c9292 100644
--- a/src/ImageSharp/Common/Helpers/Numerics.cs
+++ b/src/ImageSharp/Common/Helpers/Numerics.cs
@@ -470,8 +470,8 @@ private static void ClampImpl<T>(Span<T> span, T min, T max)
         where T : unmanaged
     {
         ref T sRef = ref MemoryMarshal.GetReference(span);
-        Vector<T> vmin = new Vector<T>(min);
-        Vector<T> vmax = new Vector<T>(max);
+        Vector<T> vmin = new(min);
+        Vector<T> vmax = new(max);
 
         nint n = (nint)(uint)span.Length / Vector<T>.Count;
         nint m = Modulo4(n);
diff --git a/src/ImageSharp/Common/Helpers/SimdUtils.Pack.cs b/src/ImageSharp/Common/Helpers/SimdUtils.Pack.cs
index f471d0231b..80bfa29ca2 100644
--- a/src/ImageSharp/Common/Helpers/SimdUtils.Pack.cs
+++ b/src/ImageSharp/Common/Helpers/SimdUtils.Pack.cs
@@ -134,7 +134,7 @@ private static void PackFromRgbPlanesScalarBatchedReduce(
         ref Rgba32 rgb = ref MemoryMarshal.GetReference(destination);
 
         nuint count = (uint)redChannel.Length / 4;
-        destination.Fill(new Rgba32(0, 0, 0, 255));
+        destination.Fill(new(0, 0, 0, 255));
         for (nuint i = 0; i < count; i++)
         {
             ref Rgba32 d0 = ref Unsafe.Add(ref rgb, i * 4);
diff --git a/src/ImageSharp/Common/Helpers/SimdUtils.cs b/src/ImageSharp/Common/Helpers/SimdUtils.cs
index 877061ea56..37bf11e8a7 100644
--- a/src/ImageSharp/Common/Helpers/SimdUtils.cs
+++ b/src/ImageSharp/Common/Helpers/SimdUtils.cs
@@ -29,7 +29,7 @@ internal static partial class SimdUtils
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     internal static Vector4 PseudoRound(this Vector4 v)
     {
-        Vector4 sign = Numerics.Clamp(v, new Vector4(-1), new Vector4(1));
+        Vector4 sign = Numerics.Clamp(v, new(-1), new(1));
 
         return v + (sign * 0.5f);
     }
diff --git a/src/ImageSharp/Common/Helpers/UnitConverter.cs b/src/ImageSharp/Common/Helpers/UnitConverter.cs
index 45dbe41cb9..c50766ec20 100644
--- a/src/ImageSharp/Common/Helpers/UnitConverter.cs
+++ b/src/ImageSharp/Common/Helpers/UnitConverter.cs
@@ -131,9 +131,9 @@ public static ExifResolutionValues GetExifResolutionValues(PixelResolutionUnit u
         ushort exifUnit = (ushort)(unit + 1);
         if (unit == PixelResolutionUnit.AspectRatio)
         {
-            return new ExifResolutionValues(exifUnit, null, null);
+            return new(exifUnit, null, null);
         }
 
-        return new ExifResolutionValues(exifUnit, horizontal, vertical);
+        return new(exifUnit, horizontal, vertical);
     }
 }
diff --git a/src/ImageSharp/Compression/Zlib/Deflater.cs b/src/ImageSharp/Compression/Zlib/Deflater.cs
index f642ec85a7..2e39d435d6 100644
--- a/src/ImageSharp/Compression/Zlib/Deflater.cs
+++ b/src/ImageSharp/Compression/Zlib/Deflater.cs
@@ -79,7 +79,7 @@ public Deflater(MemoryAllocator memoryAllocator, int level)
         }
 
         // TODO: Possibly provide DeflateStrategy as an option.
-        this.engine = new DeflaterEngine(memoryAllocator, DeflateStrategy.Default);
+        this.engine = new(memoryAllocator, DeflateStrategy.Default);
 
         this.SetLevel(level);
         this.Reset();
diff --git a/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs b/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs
index 6009fdfbc0..c9613610d8 100644
--- a/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs
+++ b/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs
@@ -147,7 +147,7 @@ internal sealed unsafe class DeflaterEngine : IDisposable
     /// <param name="strategy">The deflate strategy to use.</param>
     public DeflaterEngine(MemoryAllocator memoryAllocator, DeflateStrategy strategy)
     {
-        this.huffman = new DeflaterHuffman(memoryAllocator);
+        this.huffman = new(memoryAllocator);
         this.Pending = this.huffman.Pending;
         this.strategy = strategy;
 
diff --git a/src/ImageSharp/Compression/Zlib/DeflaterHuffman.cs b/src/ImageSharp/Compression/Zlib/DeflaterHuffman.cs
index e4dc1945a8..464f9fcc3f 100644
--- a/src/ImageSharp/Compression/Zlib/DeflaterHuffman.cs
+++ b/src/ImageSharp/Compression/Zlib/DeflaterHuffman.cs
@@ -58,7 +58,7 @@ internal sealed unsafe class DeflaterHuffman : IDisposable
     /// <param name="memoryAllocator">The memory allocator to use for buffer allocations.</param>
     public DeflaterHuffman(MemoryAllocator memoryAllocator)
     {
-        this.Pending = new DeflaterPendingBuffer(memoryAllocator);
+        this.Pending = new(memoryAllocator);
 
         this.literalTree = new Tree(memoryAllocator, LiteralNumber, 257, 15);
         this.distTree = new Tree(memoryAllocator, DistanceNumber, 1, 15);
diff --git a/src/ImageSharp/Compression/Zlib/DeflaterOutputStream.cs b/src/ImageSharp/Compression/Zlib/DeflaterOutputStream.cs
index de818fd8f5..76a5a045ee 100644
--- a/src/ImageSharp/Compression/Zlib/DeflaterOutputStream.cs
+++ b/src/ImageSharp/Compression/Zlib/DeflaterOutputStream.cs
@@ -30,7 +30,7 @@ public DeflaterOutputStream(MemoryAllocator memoryAllocator, Stream rawStream, i
         this.rawStream = rawStream;
         this.memoryOwner = memoryAllocator.Allocate<byte>(BufferLength);
         this.buffer = this.memoryOwner.Memory;
-        this.deflater = new Deflater(memoryAllocator, compressionLevel);
+        this.deflater = new(memoryAllocator, compressionLevel);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Compression/Zlib/ZlibDeflateStream.cs b/src/ImageSharp/Compression/Zlib/ZlibDeflateStream.cs
index 2e52f84d7b..9364444065 100644
--- a/src/ImageSharp/Compression/Zlib/ZlibDeflateStream.cs
+++ b/src/ImageSharp/Compression/Zlib/ZlibDeflateStream.cs
@@ -101,7 +101,7 @@ public ZlibDeflateStream(MemoryAllocator memoryAllocator, Stream stream, PngComp
         this.rawStream.WriteByte(Cmf);
         this.rawStream.WriteByte((byte)flg);
 
-        this.deflateStream = new DeflaterOutputStream(memoryAllocator, this.rawStream, compressionLevel);
+        this.deflateStream = new(memoryAllocator, this.rawStream, compressionLevel);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Compression/Zlib/ZlibInflateStream.cs b/src/ImageSharp/Compression/Zlib/ZlibInflateStream.cs
index 1d743bf3a5..aa4beba18c 100644
--- a/src/ImageSharp/Compression/Zlib/ZlibInflateStream.cs
+++ b/src/ImageSharp/Compression/Zlib/ZlibInflateStream.cs
@@ -270,7 +270,7 @@ private bool InitializeInflateStream(bool isCriticalChunk)
         }
 
         // Initialize the deflate BufferedReadStream.
-        this.CompressedStream = new DeflateStream(this, CompressionMode.Decompress, true);
+        this.CompressedStream = new(this, CompressionMode.Decompress, true);
 
         return true;
     }
diff --git a/src/ImageSharp/Configuration.cs b/src/ImageSharp/Configuration.cs
index 1d9f3bb85d..c2b02dedd9 100644
--- a/src/ImageSharp/Configuration.cs
+++ b/src/ImageSharp/Configuration.cs
@@ -122,7 +122,7 @@ public int StreamProcessingBufferSize
     /// <summary>
     /// Gets or the <see cref="ImageFormatManager"/> that is currently in use.
     /// </summary>
-    public ImageFormatManager ImageFormatsManager { get; private set; } = new ImageFormatManager();
+    public ImageFormatManager ImageFormatsManager { get; private set; } = new();
 
     /// <summary>
     /// Gets or sets the <see cref="Memory.MemoryAllocator"/> that is currently in use.
diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs
index 94257517d2..43fe3af85b 100644
--- a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs
+++ b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs
@@ -132,7 +132,7 @@ protected override Image<TPixel> Decode<TPixel>(BufferedReadStream stream, Cance
         {
             int bytesPerColorMapEntry = this.ReadImageHeaders(stream, out bool inverted, out byte[] palette);
 
-            image = new Image<TPixel>(this.configuration, this.infoHeader.Width, this.infoHeader.Height, this.metadata);
+            image = new(this.configuration, this.infoHeader.Width, this.infoHeader.Height, this.metadata);
 
             Buffer2D<TPixel> pixels = image.GetRootFramePixelBuffer();
 
@@ -220,7 +220,7 @@ protected override Image<TPixel> Decode<TPixel>(BufferedReadStream stream, Cance
     protected override ImageInfo Identify(BufferedReadStream stream, CancellationToken cancellationToken)
     {
         this.ReadImageHeaders(stream, out _, out _);
-        return new ImageInfo(new(this.infoHeader.Width, this.infoHeader.Height), this.metadata);
+        return new(new(this.infoHeader.Width, this.infoHeader.Height), this.metadata);
     }
 
     /// <summary>
@@ -343,7 +343,7 @@ private void ReadRle<TPixel>(BufferedReadStream stream, BmpCompression compressi
                             RleSkippedPixelHandling.Transparent => TPixel.FromScaledVector4(Vector4.Zero),
 
                             // Default handling for skipped pixels is black (which is what System.Drawing is also doing).
-                            _ => TPixel.FromScaledVector4(new Vector4(0.0f, 0.0f, 0.0f, 1.0f)),
+                            _ => TPixel.FromScaledVector4(new(0.0f, 0.0f, 0.0f, 1.0f)),
                         };
                     }
                     else
@@ -404,7 +404,7 @@ private void ReadRle24<TPixel>(BufferedReadStream stream, Buffer2D<TPixel> pixel
                             RleSkippedPixelHandling.Transparent => TPixel.FromScaledVector4(Vector4.Zero),
 
                             // Default handling for skipped pixels is black (which is what System.Drawing is also doing).
-                            _ => TPixel.FromScaledVector4(new Vector4(0.0f, 0.0f, 0.0f, 1.0f)),
+                            _ => TPixel.FromScaledVector4(new(0.0f, 0.0f, 0.0f, 1.0f)),
                         };
                     }
                     else
@@ -1332,7 +1332,7 @@ private void ReadInfoHeader(BufferedReadStream stream)
         long infoHeaderStart = stream.Position;
 
         // Resolution is stored in PPM.
-        this.metadata = new ImageMetadata
+        this.metadata = new()
         {
             ResolutionUnits = PixelResolutionUnit.PixelsPerMeter
         };
@@ -1426,7 +1426,7 @@ private void ReadInfoHeader(BufferedReadStream stream)
                 byte[] iccProfileData = new byte[this.infoHeader.ProfileSize];
                 stream.Position = infoHeaderStart + this.infoHeader.ProfileData;
                 stream.Read(iccProfileData);
-                this.metadata.IccProfile = new IccProfile(iccProfileData);
+                this.metadata.IccProfile = new(iccProfileData);
                 stream.Position = streamPosition;
             }
         }
diff --git a/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs
index 321a559b1e..86a46b42de 100644
--- a/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs
+++ b/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs
@@ -652,7 +652,7 @@ private void Write4BitPixelData<TPixel>(
         CancellationToken cancellationToken)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        using IQuantizer<TPixel> frameQuantizer = this.quantizer.CreatePixelSpecificQuantizer<TPixel>(configuration, new QuantizerOptions()
+        using IQuantizer<TPixel> frameQuantizer = this.quantizer.CreatePixelSpecificQuantizer<TPixel>(configuration, new()
         {
             MaxColors = 16,
             Dither = this.quantizer.Options.Dither,
@@ -709,7 +709,7 @@ private void Write2BitPixelData<TPixel>(
         CancellationToken cancellationToken)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        using IQuantizer<TPixel> frameQuantizer = this.quantizer.CreatePixelSpecificQuantizer<TPixel>(configuration, new QuantizerOptions()
+        using IQuantizer<TPixel> frameQuantizer = this.quantizer.CreatePixelSpecificQuantizer<TPixel>(configuration, new()
         {
             MaxColors = 4,
             Dither = this.quantizer.Options.Dither,
@@ -775,7 +775,7 @@ private void Write1BitPixelData<TPixel>(
         CancellationToken cancellationToken)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        using IQuantizer<TPixel> frameQuantizer = this.quantizer.CreatePixelSpecificQuantizer<TPixel>(configuration, new QuantizerOptions()
+        using IQuantizer<TPixel> frameQuantizer = this.quantizer.CreatePixelSpecificQuantizer<TPixel>(configuration, new()
         {
             MaxColors = 2,
             Dither = this.quantizer.Options.Dither,
diff --git a/src/ImageSharp/Formats/Bmp/BmpMetadata.cs b/src/ImageSharp/Formats/Bmp/BmpMetadata.cs
index d0c60421c4..25a4515644 100644
--- a/src/ImageSharp/Formats/Bmp/BmpMetadata.cs
+++ b/src/ImageSharp/Formats/Bmp/BmpMetadata.cs
@@ -54,21 +54,21 @@ public static BmpMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
         int bpp = metadata.PixelTypeInfo.BitsPerPixel;
         return bpp switch
         {
-            1 => new BmpMetadata { BitsPerPixel = BmpBitsPerPixel.Bit1 },
-            2 => new BmpMetadata { BitsPerPixel = BmpBitsPerPixel.Bit2 },
-            <= 4 => new BmpMetadata { BitsPerPixel = BmpBitsPerPixel.Bit4 },
-            <= 8 => new BmpMetadata { BitsPerPixel = BmpBitsPerPixel.Bit8 },
-            <= 16 => new BmpMetadata
+            1 => new() { BitsPerPixel = BmpBitsPerPixel.Bit1 },
+            2 => new() { BitsPerPixel = BmpBitsPerPixel.Bit2 },
+            <= 4 => new() { BitsPerPixel = BmpBitsPerPixel.Bit4 },
+            <= 8 => new() { BitsPerPixel = BmpBitsPerPixel.Bit8 },
+            <= 16 => new()
             {
                 BitsPerPixel = BmpBitsPerPixel.Bit16,
                 InfoHeaderType = BmpInfoHeaderType.WinVersion3
             },
-            <= 24 => new BmpMetadata
+            <= 24 => new()
             {
                 BitsPerPixel = BmpBitsPerPixel.Bit24,
                 InfoHeaderType = BmpInfoHeaderType.WinVersion4
             },
-            _ => new BmpMetadata
+            _ => new()
             {
                 BitsPerPixel = BmpBitsPerPixel.Bit32,
                 InfoHeaderType = BmpInfoHeaderType.WinVersion5
@@ -131,7 +131,7 @@ BmpInfoHeaderType.WinVersion5 or
                 break;
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = alpha,
             ComponentInfo = info,
diff --git a/src/ImageSharp/Formats/Cur/CurFrameMetadata.cs b/src/ImageSharp/Formats/Cur/CurFrameMetadata.cs
index 01b7fbce08..2ce6f6dd93 100644
--- a/src/ImageSharp/Formats/Cur/CurFrameMetadata.cs
+++ b/src/ImageSharp/Formats/Cur/CurFrameMetadata.cs
@@ -73,7 +73,7 @@ public static CurFrameMetadata FromFormatConnectingFrameMetadata(FormatConnectin
     {
         if (!metadata.PixelTypeInfo.HasValue)
         {
-            return new CurFrameMetadata
+            return new()
             {
                 BmpBitsPerPixel = BmpBitsPerPixel.Bit32,
                 Compression = IconFrameCompression.Png
@@ -98,7 +98,7 @@ public static CurFrameMetadata FromFormatConnectingFrameMetadata(FormatConnectin
             compression = IconFrameCompression.Png;
         }
 
-        return new CurFrameMetadata
+        return new()
         {
             BmpBitsPerPixel = bbpp,
             Compression = compression,
@@ -211,7 +211,7 @@ private PixelTypeInfo GetPixelTypeInfo()
             }
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = alpha,
             ComponentInfo = info,
diff --git a/src/ImageSharp/Formats/Cur/CurMetadata.cs b/src/ImageSharp/Formats/Cur/CurMetadata.cs
index 19de7f434d..501de471fb 100644
--- a/src/ImageSharp/Formats/Cur/CurMetadata.cs
+++ b/src/ImageSharp/Formats/Cur/CurMetadata.cs
@@ -68,7 +68,7 @@ public static CurMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
             compression = IconFrameCompression.Png;
         }
 
-        return new CurMetadata
+        return new()
         {
             BmpBitsPerPixel = bbpp,
             Compression = compression,
diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs
index e18166c4b8..6a8d6726ee 100644
--- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs
+++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs
@@ -241,7 +241,7 @@ protected override ImageInfo Identify(BufferedReadStream stream, CancellationTok
             GifThrowHelper.ThrowNoHeader();
         }
 
-        return new ImageInfo(
+        return new(
             new(this.logicalScreenDescriptor.Width, this.logicalScreenDescriptor.Height),
             this.metadata,
             framesMetadata);
diff --git a/src/ImageSharp/Formats/Gif/GifMetadata.cs b/src/ImageSharp/Formats/Gif/GifMetadata.cs
index 517609af45..c8ed7e06be 100644
--- a/src/ImageSharp/Formats/Gif/GifMetadata.cs
+++ b/src/ImageSharp/Formats/Gif/GifMetadata.cs
@@ -105,7 +105,7 @@ public PixelTypeInfo GetPixelTypeInfo()
             ? Numerics.Clamp(ColorNumerics.GetBitsNeededForColorDepth(this.GlobalColorTable.Value.Length), 1, 8)
             : 8;
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             ColorType = PixelColorType.Indexed,
             ComponentInfo = PixelComponentInfo.Create(1, bpp, bpp),
diff --git a/src/ImageSharp/Formats/Ico/IcoFrameMetadata.cs b/src/ImageSharp/Formats/Ico/IcoFrameMetadata.cs
index 62aa705cbe..7640d98f93 100644
--- a/src/ImageSharp/Formats/Ico/IcoFrameMetadata.cs
+++ b/src/ImageSharp/Formats/Ico/IcoFrameMetadata.cs
@@ -66,7 +66,7 @@ public static IcoFrameMetadata FromFormatConnectingFrameMetadata(FormatConnectin
     {
         if (!metadata.PixelTypeInfo.HasValue)
         {
-            return new IcoFrameMetadata
+            return new()
             {
                 BmpBitsPerPixel = BmpBitsPerPixel.Bit32,
                 Compression = IconFrameCompression.Png
@@ -91,7 +91,7 @@ public static IcoFrameMetadata FromFormatConnectingFrameMetadata(FormatConnectin
             compression = IconFrameCompression.Png;
         }
 
-        return new IcoFrameMetadata
+        return new()
         {
             BmpBitsPerPixel = bbpp,
             Compression = compression,
@@ -206,7 +206,7 @@ private PixelTypeInfo GetPixelTypeInfo()
             }
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = alpha,
             ComponentInfo = info,
diff --git a/src/ImageSharp/Formats/Ico/IcoMetadata.cs b/src/ImageSharp/Formats/Ico/IcoMetadata.cs
index a6c2704b31..9f930893d5 100644
--- a/src/ImageSharp/Formats/Ico/IcoMetadata.cs
+++ b/src/ImageSharp/Formats/Ico/IcoMetadata.cs
@@ -68,7 +68,7 @@ public static IcoMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
             compression = IconFrameCompression.Png;
         }
 
-        return new IcoMetadata
+        return new()
         {
             BmpBitsPerPixel = bbpp,
             Compression = compression,
@@ -130,7 +130,7 @@ public PixelTypeInfo GetPixelTypeInfo()
             }
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = alpha,
             ComponentInfo = info,
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs b/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
index bd1cf07b6e..0e560df426 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
@@ -140,7 +140,7 @@ public void LoadFrom(Span<int> source)
     /// <inheritdoc />
     public override string ToString()
     {
-        StringBuilder? sb = new StringBuilder();
+        StringBuilder? sb = new();
         sb.Append('[');
         for (int i = 0; i < Size; i++)
         {
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Block8x8F.ScaledCopy.cs b/src/ImageSharp/Formats/Jpeg/Components/Block8x8F.ScaledCopy.cs
index 1c0615ef52..179f9aa287 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Block8x8F.ScaledCopy.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Block8x8F.ScaledCopy.cs
@@ -57,19 +57,19 @@ static void WidenCopyRowImpl2x2(ref Vector4 selfBase, ref Vector2 destBase, nuin
             ref Vector4 dTopLeft = ref Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref destBase, offset));
             ref Vector4 dBottomLeft = ref Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref destBase, offset + destStride));
 
-            Vector4 xyLeft = new Vector4(sLeft.X);
+            Vector4 xyLeft = new(sLeft.X);
             xyLeft.Z = sLeft.Y;
             xyLeft.W = sLeft.Y;
 
-            Vector4 zwLeft = new Vector4(sLeft.Z);
+            Vector4 zwLeft = new(sLeft.Z);
             zwLeft.Z = sLeft.W;
             zwLeft.W = sLeft.W;
 
-            Vector4 xyRight = new Vector4(sRight.X);
+            Vector4 xyRight = new(sRight.X);
             xyRight.Z = sRight.Y;
             xyRight.W = sRight.Y;
 
-            Vector4 zwRight = new Vector4(sRight.Z);
+            Vector4 zwRight = new(sRight.Z);
             zwRight.Z = sRight.W;
             zwRight.W = sRight.W;
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
index e46d644adc..e425d6e3ff 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
@@ -28,7 +28,7 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> kBase =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component3));
 
-            Vector<float> scale = new Vector<float>(1 / (this.MaximumValue * this.MaximumValue));
+            Vector<float> scale = new(1 / (this.MaximumValue * this.MaximumValue));
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -76,7 +76,7 @@ public static void ConvertFromRgbInplaceVectorized(in ComponentValues values, fl
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(b));
 
             // Used for the color conversion
-            Vector<float> scale = new Vector<float>(maxValue);
+            Vector<float> scale = new(maxValue);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
index e5ff5dea43..92fc88fad6 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
@@ -22,7 +22,7 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> cBase =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component0));
 
-            Vector<float> scale = new Vector<float>(1 / this.MaximumValue);
+            Vector<float> scale = new(1 / this.MaximumValue);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -49,9 +49,9 @@ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span
             ref Vector<float> srcB =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(bLane));
 
-            Vector<float> rMult = new Vector<float>(0.299f);
-            Vector<float> gMult = new Vector<float>(0.587f);
-            Vector<float> bMult = new Vector<float>(0.114f);
+            Vector<float> rMult = new(0.299f);
+            Vector<float> gMult = new(0.587f);
+            Vector<float> bMult = new(0.114f);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
index 8c15c7e1ef..1152bcc3b9 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
@@ -26,7 +26,7 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> bBase =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component2));
 
-            Vector<float> scale = new Vector<float>(1 / this.MaximumValue);
+            Vector<float> scale = new(1 / this.MaximumValue);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
index 346e665ced..fe05a8e976 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
@@ -27,13 +27,13 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> c2Base =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component2));
 
-            Vector<float> chromaOffset = new Vector<float>(-this.HalfValue);
+            Vector<float> chromaOffset = new(-this.HalfValue);
 
-            Vector<float> scale = new Vector<float>(1 / this.MaximumValue);
-            Vector<float> rCrMult = new Vector<float>(YCbCrScalar.RCrMult);
-            Vector<float> gCbMult = new Vector<float>(-YCbCrScalar.GCbMult);
-            Vector<float> gCrMult = new Vector<float>(-YCbCrScalar.GCrMult);
-            Vector<float> bCbMult = new Vector<float>(YCbCrScalar.BCbMult);
+            Vector<float> scale = new(1 / this.MaximumValue);
+            Vector<float> rCrMult = new(YCbCrScalar.RCrMult);
+            Vector<float> gCbMult = new(-YCbCrScalar.GCbMult);
+            Vector<float> gCrMult = new(-YCbCrScalar.GCrMult);
+            Vector<float> bCbMult = new(YCbCrScalar.BCbMult);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -89,19 +89,19 @@ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span
             ref Vector<float> srcB =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(bLane));
 
-            Vector<float> chromaOffset = new Vector<float>(this.HalfValue);
+            Vector<float> chromaOffset = new(this.HalfValue);
 
-            Vector<float> rYMult = new Vector<float>(0.299f);
-            Vector<float> gYMult = new Vector<float>(0.587f);
-            Vector<float> bYMult = new Vector<float>(0.114f);
+            Vector<float> rYMult = new(0.299f);
+            Vector<float> gYMult = new(0.587f);
+            Vector<float> bYMult = new(0.114f);
 
-            Vector<float> rCbMult = new Vector<float>(0.168736f);
-            Vector<float> gCbMult = new Vector<float>(0.331264f);
-            Vector<float> bCbMult = new Vector<float>(0.5f);
+            Vector<float> rCbMult = new(0.168736f);
+            Vector<float> gCbMult = new(0.331264f);
+            Vector<float> bCbMult = new(0.5f);
 
-            Vector<float> rCrMult = new Vector<float>(0.5f);
-            Vector<float> gCrMult = new Vector<float>(0.418688f);
-            Vector<float> bCrMult = new Vector<float>(0.081312f);
+            Vector<float> rCrMult = new(0.5f);
+            Vector<float> gCrMult = new(0.418688f);
+            Vector<float> bCrMult = new(0.081312f);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
index 7ea405cf43..7ea1dfed22 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
@@ -28,13 +28,13 @@ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
             ref Vector<float> kBase =
                 ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(values.Component3));
 
-            Vector<float> chromaOffset = new Vector<float>(-this.HalfValue);
-            Vector<float> scale = new Vector<float>(1 / (this.MaximumValue * this.MaximumValue));
-            Vector<float> max = new Vector<float>(this.MaximumValue);
-            Vector<float> rCrMult = new Vector<float>(YCbCrScalar.RCrMult);
-            Vector<float> gCbMult = new Vector<float>(-YCbCrScalar.GCbMult);
-            Vector<float> gCrMult = new Vector<float>(-YCbCrScalar.GCrMult);
-            Vector<float> bCbMult = new Vector<float>(YCbCrScalar.BCbMult);
+            Vector<float> chromaOffset = new(-this.HalfValue);
+            Vector<float> scale = new(1 / (this.MaximumValue * this.MaximumValue));
+            Vector<float> max = new(this.MaximumValue);
+            Vector<float> rCrMult = new(YCbCrScalar.RCrMult);
+            Vector<float> gCbMult = new(-YCbCrScalar.GCbMult);
+            Vector<float> gCrMult = new(-YCbCrScalar.GCrMult);
+            Vector<float> bCbMult = new(YCbCrScalar.BCbMult);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
@@ -91,21 +91,21 @@ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span
             ref Vector<float> srcG = ref destCb;
             ref Vector<float> srcB = ref destCr;
 
-            Vector<float> maxSampleValue = new Vector<float>(this.MaximumValue);
+            Vector<float> maxSampleValue = new(this.MaximumValue);
 
-            Vector<float> chromaOffset = new Vector<float>(this.HalfValue);
+            Vector<float> chromaOffset = new(this.HalfValue);
 
-            Vector<float> rYMult = new Vector<float>(0.299f);
-            Vector<float> gYMult = new Vector<float>(0.587f);
-            Vector<float> bYMult = new Vector<float>(0.114f);
+            Vector<float> rYMult = new(0.299f);
+            Vector<float> gYMult = new(0.587f);
+            Vector<float> bYMult = new(0.114f);
 
-            Vector<float> rCbMult = new Vector<float>(0.168736f);
-            Vector<float> gCbMult = new Vector<float>(0.331264f);
-            Vector<float> bCbMult = new Vector<float>(0.5f);
+            Vector<float> rCbMult = new(0.168736f);
+            Vector<float> gCbMult = new(0.331264f);
+            Vector<float> bCbMult = new(0.5f);
 
-            Vector<float> rCrMult = new Vector<float>(0.5f);
-            Vector<float> gCrMult = new Vector<float>(0.418688f);
-            Vector<float> bCrMult = new Vector<float>(0.081312f);
+            Vector<float> rCrMult = new(0.5f);
+            Vector<float> gCrMult = new(0.418688f);
+            Vector<float> bCrMult = new(0.081312f);
 
             nuint n = values.Component0.VectorCount<float>();
             for (nuint i = 0; i < n; i++)
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterBase.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterBase.cs
index 041f6b0578..8abc5edc78 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterBase.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterBase.cs
@@ -357,7 +357,7 @@ public ComponentValues Slice(int start, int length)
             Span<float> c2 = this.Component2.Length > 0 ? this.Component2.Slice(start, length) : Span<float>.Empty;
             Span<float> c3 = this.Component3.Length > 0 ? this.Component3.Slice(start, length) : Span<float>.Empty;
 
-            return new ComponentValues(this.ComponentCount, c0, c1, c2, c3);
+            return new(this.ComponentCount, c0, c1, c2, c3);
         }
     }
 }
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/AdobeMarker.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/AdobeMarker.cs
index cf2369b2cb..5109b1862b 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/AdobeMarker.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/AdobeMarker.cs
@@ -71,7 +71,7 @@ public static bool TryParse(ReadOnlySpan<byte> bytes, out AdobeMarker marker)
             short app14Flags1 = (short)((bytes[9] << 8) | bytes[10]);
             byte colorTransform = bytes[11];
 
-            marker = new AdobeMarker(dctEncodeVersion, app14Flags0, app14Flags1, colorTransform);
+            marker = new(dctEncodeVersion, app14Flags0, app14Flags1, colorTransform);
             return true;
         }
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs
index 02a346ff07..e57c385ccf 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs
@@ -244,7 +244,7 @@ public void ParseEntropyCodedData(int scanComponentCount)
 
         this.scanComponentCount = scanComponentCount;
 
-        this.scanBuffer = new JpegBitReader(this.stream);
+        this.scanBuffer = new(this.stream);
 
         this.frame.AllocateComponents();
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs
index 250d638435..5ec3444ae5 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs
@@ -115,7 +115,7 @@ public void ParseEntropyCodedData(int scanComponentCount)
 
         this.scanComponentCount = scanComponentCount;
 
-        this.scanBuffer = new JpegBitReader(this.stream);
+        this.scanBuffer = new(this.stream);
 
         this.frame.AllocateComponents();
 
@@ -783,6 +783,6 @@ private bool HandleRestart()
     public void BuildHuffmanTable(int type, int index, ReadOnlySpan<byte> codeLengths, ReadOnlySpan<byte> values, Span<uint> workspace)
     {
         HuffmanTable[] tables = type == 0 ? this.dcHuffmanTables : this.acHuffmanTables;
-        tables[index] = new HuffmanTable(codeLengths, values, workspace);
+        tables[index] = new(codeLengths, values, workspace);
     }
 }
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JFifMarker.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JFifMarker.cs
index 7e25e945a5..b31376992f 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JFifMarker.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JFifMarker.cs
@@ -80,7 +80,7 @@ public static bool TryParse(ReadOnlySpan<byte> bytes, out JFifMarker marker)
             byte densityUnits = bytes[7];
             short xDensity = (short)((bytes[8] << 8) | bytes[9]);
             short yDensity = (short)((bytes[10] << 8) | bytes[11]);
-            marker = new JFifMarker(majorVersion, minorVersion, densityUnits, xDensity, yDensity);
+            marker = new(majorVersion, minorVersion, densityUnits, xDensity, yDensity);
             return true;
         }
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponent.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponent.cs
index b2debf3938..7e4a06d41a 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponent.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponent.cs
@@ -21,7 +21,7 @@ public JpegComponent(MemoryAllocator memoryAllocator, JpegFrame frame, byte id,
 
         this.HorizontalSamplingFactor = horizontalFactor;
         this.VerticalSamplingFactor = verticalFactor;
-        this.SamplingFactors = new Size(this.HorizontalSamplingFactor, this.VerticalSamplingFactor);
+        this.SamplingFactors = new(this.HorizontalSamplingFactor, this.VerticalSamplingFactor);
 
         this.QuantizationTableIndex = quantizationTableIndex;
         this.Index = index;
@@ -109,7 +109,7 @@ public void Init(int maxSubFactorH, int maxSubFactorV)
 
         int blocksPerLineForMcu = this.Frame.McusPerLine * this.HorizontalSamplingFactor;
         int blocksPerColumnForMcu = this.Frame.McusPerColumn * this.VerticalSamplingFactor;
-        this.SizeInBlocks = new Size(blocksPerLineForMcu, blocksPerColumnForMcu);
+        this.SizeInBlocks = new(blocksPerLineForMcu, blocksPerColumnForMcu);
 
         this.SubSamplingDivisors = new Size(maxSubFactorH, maxSubFactorV).DivideBy(this.SamplingFactors);
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter.cs
index 51d9bfbced..93058f04df 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter.cs
@@ -114,7 +114,7 @@ public static Size CalculateResultingImageSize(Size size, Size? targetSize, out
                 if (scaledWidth >= tSize.Width && scaledHeight >= tSize.Height)
                 {
                     blockPixelSize = blockSize;
-                    return new Size(scaledWidth, scaledHeight);
+                    return new(scaledWidth, scaledHeight);
                 }
             }
         }
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/Component.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/Component.cs
index cc565c4d84..7398e97a01 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/Component.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/Component.cs
@@ -19,7 +19,7 @@ public Component(MemoryAllocator memoryAllocator, int horizontalFactor, int vert
 
         this.HorizontalSamplingFactor = horizontalFactor;
         this.VerticalSamplingFactor = verticalFactor;
-        this.SamplingFactors = new Size(horizontalFactor, verticalFactor);
+        this.SamplingFactors = new(horizontalFactor, verticalFactor);
 
         this.QuantizationTableIndex = quantizationTableIndex;
     }
@@ -95,7 +95,7 @@ public void Init(JpegFrame frame, int maxSubFactorH, int maxSubFactorV)
 
         int blocksPerLineForMcu = frame.McusPerLine * this.HorizontalSamplingFactor;
         int blocksPerColumnForMcu = frame.McusPerColumn * this.VerticalSamplingFactor;
-        this.SizeInBlocks = new Size(blocksPerLineForMcu, blocksPerColumnForMcu);
+        this.SizeInBlocks = new(blocksPerLineForMcu, blocksPerColumnForMcu);
 
         this.SubSamplingDivisors = new Size(maxSubFactorH, maxSubFactorV).DivideBy(this.SamplingFactors);
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs
index 1704ae1e74..1b0a177049 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs
@@ -241,7 +241,7 @@ static void MultiplyToAverage(Span<float> target, float multiplier)
                 ref Vector<float> targetVectorRef = ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(target));
 
                 nuint count = target.VectorCount<float>();
-                Vector<float> multiplierVector = new Vector<float>(multiplier);
+                Vector<float> multiplierVector = new(multiplier);
                 for (nuint i = 0; i < count; i++)
                 {
                     Unsafe.Add(ref targetVectorRef, i) *= multiplierVector;
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs
index fc58233b19..8882758ba0 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/HuffmanScanEncoder.cs
@@ -134,7 +134,7 @@ private bool IsStreamFlushNeeded
     public void BuildHuffmanTable(JpegHuffmanTableConfig tableConfig)
     {
         HuffmanLut[] tables = tableConfig.Class == 0 ? this.dcHuffmanTables : this.acHuffmanTables;
-        tables[tableConfig.DestinationIndex] = new HuffmanLut(tableConfig.Table);
+        tables[tableConfig.DestinationIndex] = new(tableConfig.Table);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/JpegFrame.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/JpegFrame.cs
index 6ba0b82723..f8a3d6dd2d 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/JpegFrame.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/JpegFrame.cs
@@ -27,7 +27,7 @@ public JpegFrame(Image image, JpegFrameConfig frameConfig, bool interleaved)
         for (int i = 0; i < this.Components.Length; i++)
         {
             JpegComponentConfig componentConfig = componentConfigs[i];
-            this.Components[i] = new Component(allocator, componentConfig.HorizontalSampleFactor, componentConfig.VerticalSampleFactor, componentConfig.QuantizatioTableIndex)
+            this.Components[i] = new(allocator, componentConfig.HorizontalSampleFactor, componentConfig.VerticalSampleFactor, componentConfig.QuantizatioTableIndex)
             {
                 DcTableId = componentConfig.DcTableSelector,
                 AcTableId = componentConfig.AcTableSelector,
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
index ed9bcbaadd..37ff2a143c 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
@@ -47,12 +47,12 @@ public SpectralConverter(JpegFrame frame, Image<TPixel> image, Block8x8F[] dequa
         // component processors from spectral to Rgb24
         const int blockPixelWidth = 8;
         this.alignedPixelWidth = majorBlockWidth * blockPixelWidth;
-        Size postProcessorBufferSize = new Size(this.alignedPixelWidth, this.pixelRowsPerStep);
+        Size postProcessorBufferSize = new(this.alignedPixelWidth, this.pixelRowsPerStep);
         this.componentProcessors = new ComponentProcessor[frame.Components.Length];
         for (int i = 0; i < this.componentProcessors.Length; i++)
         {
             Component component = frame.Components[i];
-            this.componentProcessors[i] = new ComponentProcessor(
+            this.componentProcessors[i] = new(
                 allocator,
                 component,
                 postProcessorBufferSize,
@@ -118,7 +118,7 @@ private void ConvertStride(int spectralStep)
             bLane.Slice(paddingStartIndex).Fill(bLane[paddingStartIndex - 1]);
 
             // Convert from rgb24 to target pixel type
-            JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.componentProcessors, y);
+            JpegColorConverterBase.ComponentValues values = new(this.componentProcessors, y);
             this.colorConverter.ConvertFromRgb(values, rLane, gLane, bLane);
         }
 
diff --git a/src/ImageSharp/Formats/Jpeg/Components/SizeExtensions.cs b/src/ImageSharp/Formats/Jpeg/Components/SizeExtensions.cs
index 6c1b3ce9d4..c92c2e7bd9 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/SizeExtensions.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/SizeExtensions.cs
@@ -14,13 +14,13 @@ internal static class SizeExtensions
     /// Multiplies 'a.Width' with 'b.Width' and 'a.Height' with 'b.Height'.
     /// TODO: Shouldn't we expose this as operator in SixLabors.Core?
     /// </summary>
-    public static Size MultiplyBy(this Size a, Size b) => new Size(a.Width * b.Width, a.Height * b.Height);
+    public static Size MultiplyBy(this Size a, Size b) => new(a.Width * b.Width, a.Height * b.Height);
 
     /// <summary>
     /// Divides 'a.Width' with 'b.Width' and 'a.Height' with 'b.Height'.
     /// TODO: Shouldn't we expose this as operator in SixLabors.Core?
     /// </summary>
-    public static Size DivideBy(this Size a, Size b) => new Size(a.Width / b.Width, a.Height / b.Height);
+    public static Size DivideBy(this Size a, Size b) => new(a.Width / b.Width, a.Height / b.Height);
 
     /// <summary>
     /// Divide Width and Height as real numbers and return the Ceiling.
@@ -32,7 +32,7 @@ public static Size DivideRoundUp(this Size originalSize, int divX, int divY)
         sizeVect.X = MathF.Ceiling(sizeVect.X);
         sizeVect.Y = MathF.Ceiling(sizeVect.Y);
 
-        return new Size((int)sizeVect.X, (int)sizeVect.Y);
+        return new((int)sizeVect.X, (int)sizeVect.Y);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs
index 707baa1a88..fd978d1f0e 100644
--- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs
+++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs
@@ -165,7 +165,7 @@ public static JpegFileMarker FindNextFileMarker(BufferedReadStream stream)
             int b = stream.ReadByte();
             if (b == -1)
             {
-                return new JpegFileMarker(JpegConstants.Markers.EOI, stream.Length - 2);
+                return new(JpegConstants.Markers.EOI, stream.Length - 2);
             }
 
             // Found a marker.
@@ -177,14 +177,14 @@ public static JpegFileMarker FindNextFileMarker(BufferedReadStream stream)
                     b = stream.ReadByte();
                     if (b == -1)
                     {
-                        return new JpegFileMarker(JpegConstants.Markers.EOI, stream.Length - 2);
+                        return new(JpegConstants.Markers.EOI, stream.Length - 2);
                     }
                 }
 
                 // Found a valid marker. Exit loop
                 if (b is not 0 and (< JpegConstants.Markers.RST0 or > JpegConstants.Markers.RST7))
                 {
-                    return new JpegFileMarker((byte)(uint)b, stream.Position - 2);
+                    return new((byte)(uint)b, stream.Position - 2);
                 }
             }
         }
@@ -201,7 +201,7 @@ protected override Image<TPixel> Decode<TPixel>(BufferedReadStream stream, Cance
         this.InitXmpProfile();
         this.InitDerivedMetadataProperties();
 
-        return new Image<TPixel>(
+        return new(
             this.configuration,
             spectralConverter.GetPixelBuffer(cancellationToken),
             this.Metadata);
@@ -218,7 +218,7 @@ protected override ImageInfo Identify(BufferedReadStream stream, CancellationTok
         this.InitDerivedMetadataProperties();
 
         Size pixelSize = this.Frame.PixelSize;
-        return new ImageInfo(new(pixelSize.Width, pixelSize.Height), this.Metadata);
+        return new(new(pixelSize.Width, pixelSize.Height), this.Metadata);
     }
 
     /// <summary>
@@ -229,7 +229,7 @@ protected override ImageInfo Identify(BufferedReadStream stream, CancellationTok
     /// <param name="scanDecoder">The scan decoder.</param>
     public void LoadTables(byte[] tableBytes, IJpegScanDecoder scanDecoder)
     {
-        this.Metadata = new ImageMetadata();
+        this.Metadata = new();
         this.QuantizationTables = new Block8x8F[4];
         this.scanDecoder = scanDecoder;
         if (tableBytes.Length < 4)
@@ -252,7 +252,7 @@ public void LoadTables(byte[] tableBytes, IJpegScanDecoder scanDecoder)
 
         // Read next marker.
         bytesRead = stream.Read(markerBuffer);
-        fileMarker = new JpegFileMarker(markerBuffer[1], (int)stream.Position - 2);
+        fileMarker = new(markerBuffer[1], (int)stream.Position - 2);
 
         while (fileMarker.Marker != JpegConstants.Markers.EOI || (fileMarker.Marker == JpegConstants.Markers.EOI && fileMarker.Invalid))
         {
@@ -296,7 +296,7 @@ public void LoadTables(byte[] tableBytes, IJpegScanDecoder scanDecoder)
                 JpegThrowHelper.ThrowInvalidImageContentException("Not enough data to read marker");
             }
 
-            fileMarker = new JpegFileMarker(markerBuffer[1], 0);
+            fileMarker = new(markerBuffer[1], 0);
         }
     }
 
@@ -312,7 +312,7 @@ internal void ParseStream(BufferedReadStream stream, SpectralConverter spectralC
 
         this.scanDecoder ??= new HuffmanScanDecoder(stream, spectralConverter, cancellationToken);
 
-        this.Metadata = new ImageMetadata();
+        this.Metadata = new();
 
         Span<byte> markerBuffer = stackalloc byte[2];
 
@@ -525,7 +525,7 @@ private void ProcessComMarker(BufferedReadStream stream, int markerContentByteSi
             chars[i] = (char)read;
         }
 
-        metadata.Comments.Add(new JpegComData(chars));
+        metadata.Comments.Add(new(chars));
     }
 
     /// <summary>
@@ -657,7 +657,7 @@ private void InitExifProfile()
     {
         if (this.hasExif)
         {
-            this.Metadata.ExifProfile = new ExifProfile(this.exifData);
+            this.Metadata.ExifProfile = new(this.exifData);
         }
     }
 
@@ -683,7 +683,7 @@ private void InitIptcProfile()
     {
         if (this.hasIptc)
         {
-            this.Metadata.IptcProfile = new IptcProfile(this.iptcData);
+            this.Metadata.IptcProfile = new(this.iptcData);
         }
     }
 
@@ -694,7 +694,7 @@ private void InitXmpProfile()
     {
         if (this.hasXmp)
         {
-            this.Metadata.XmpProfile = new XmpProfile(this.xmpData);
+            this.Metadata.XmpProfile = new(this.xmpData);
         }
     }
 
@@ -978,7 +978,7 @@ private void ProcessApp13Marker(BufferedReadStream stream, int remaining)
     /// <param name="remaining">The remaining bytes in the segment block.</param>
     private void ProcessArithmeticTable(BufferedReadStream stream, int remaining)
     {
-        this.arithmeticDecodingTables ??= new List<ArithmeticDecodingTable>(4);
+        this.arithmeticDecodingTables ??= new(4);
 
         while (remaining > 0)
         {
@@ -1228,7 +1228,7 @@ private void ProcessStartOfFrameMarker(BufferedReadStream stream, int remaining,
             JpegThrowHelper.ThrowNotSupportedComponentCount(componentCount);
         }
 
-        this.Frame = new JpegFrame(frameMarker, precision, frameWidth, frameHeight, componentCount);
+        this.Frame = new(frameMarker, precision, frameWidth, frameHeight, componentCount);
         this.Dimensions = new(frameWidth, frameHeight);
         this.Metadata.GetJpegMetadata().Progressive = this.Frame.Progressive;
 
diff --git a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
index 729b578bd7..30f7f034ed 100644
--- a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
+++ b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
@@ -13,13 +13,13 @@ internal sealed unsafe partial class JpegEncoderCore
 {
     private static JpegFrameConfig[] CreateFrameConfigs()
     {
-        JpegHuffmanTableConfig? defaultLuminanceHuffmanDC = new JpegHuffmanTableConfig(@class: 0, destIndex: 0, HuffmanSpec.LuminanceDC);
-        JpegHuffmanTableConfig? defaultLuminanceHuffmanAC = new JpegHuffmanTableConfig(@class: 1, destIndex: 0, HuffmanSpec.LuminanceAC);
-        JpegHuffmanTableConfig? defaultChrominanceHuffmanDC = new JpegHuffmanTableConfig(@class: 0, destIndex: 1, HuffmanSpec.ChrominanceDC);
-        JpegHuffmanTableConfig? defaultChrominanceHuffmanAC = new JpegHuffmanTableConfig(@class: 1, destIndex: 1, HuffmanSpec.ChrominanceAC);
+        JpegHuffmanTableConfig? defaultLuminanceHuffmanDC = new(@class: 0, destIndex: 0, HuffmanSpec.LuminanceDC);
+        JpegHuffmanTableConfig? defaultLuminanceHuffmanAC = new(@class: 1, destIndex: 0, HuffmanSpec.LuminanceAC);
+        JpegHuffmanTableConfig? defaultChrominanceHuffmanDC = new(@class: 0, destIndex: 1, HuffmanSpec.ChrominanceDC);
+        JpegHuffmanTableConfig? defaultChrominanceHuffmanAC = new(@class: 1, destIndex: 1, HuffmanSpec.ChrominanceAC);
 
-        JpegQuantizationTableConfig? defaultLuminanceQuantTable = new JpegQuantizationTableConfig(0, Quantization.LuminanceTable);
-        JpegQuantizationTableConfig? defaultChrominanceQuantTable = new JpegQuantizationTableConfig(1, Quantization.ChrominanceTable);
+        JpegQuantizationTableConfig? defaultLuminanceQuantTable = new(0, Quantization.LuminanceTable);
+        JpegQuantizationTableConfig? defaultChrominanceQuantTable = new(1, Quantization.ChrominanceTable);
 
         JpegHuffmanTableConfig[]? yCbCrHuffmanConfigs = new JpegHuffmanTableConfig[]
         {
@@ -38,77 +38,77 @@ private static JpegFrameConfig[] CreateFrameConfigs()
         return new JpegFrameConfig[]
         {
             // YCbCr 4:4:4
-            new JpegFrameConfig(
+            new(
                 JpegColorSpace.YCbCr,
                 JpegColorType.YCbCrRatio444,
                 new JpegComponentConfig[]
                 {
-                    new JpegComponentConfig(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
-                    new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
                 },
                 yCbCrHuffmanConfigs,
                 yCbCrQuantTableConfigs),
 
             // YCbCr 4:2:2
-            new JpegFrameConfig(
+            new(
                 JpegColorSpace.YCbCr,
                 JpegColorType.YCbCrRatio422,
                 new JpegComponentConfig[]
                 {
-                    new JpegComponentConfig(id: 1, hsf: 2, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
-                    new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 1, hsf: 2, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
                 },
                 yCbCrHuffmanConfigs,
                 yCbCrQuantTableConfigs),
 
             // YCbCr 4:2:0
-            new JpegFrameConfig(
+            new(
                 JpegColorSpace.YCbCr,
                 JpegColorType.YCbCrRatio420,
                 new JpegComponentConfig[]
                 {
-                    new JpegComponentConfig(id: 1, hsf: 2, vsf: 2, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
-                    new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 1, hsf: 2, vsf: 2, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
                 },
                 yCbCrHuffmanConfigs,
                 yCbCrQuantTableConfigs),
 
             // YCbCr 4:1:1
-            new JpegFrameConfig(
+            new(
                 JpegColorSpace.YCbCr,
                 JpegColorType.YCbCrRatio411,
                 new JpegComponentConfig[]
                 {
-                    new JpegComponentConfig(id: 1, hsf: 4, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
-                    new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 1, hsf: 4, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
                 },
                 yCbCrHuffmanConfigs,
                 yCbCrQuantTableConfigs),
 
             // YCbCr 4:1:0
-            new JpegFrameConfig(
+            new(
                 JpegColorSpace.YCbCr,
                 JpegColorType.YCbCrRatio410,
                 new JpegComponentConfig[]
                 {
-                    new JpegComponentConfig(id: 1, hsf: 4, vsf: 2, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
-                    new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 1, hsf: 4, vsf: 2, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+                    new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
                 },
                 yCbCrHuffmanConfigs,
                 yCbCrQuantTableConfigs),
 
             // Luminance
-            new JpegFrameConfig(
+            new(
                 JpegColorSpace.Grayscale,
                 JpegColorType.Luminance,
                 new JpegComponentConfig[]
                 {
-                    new JpegComponentConfig(id: 0, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 0, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
                 },
                 new JpegHuffmanTableConfig[]
                 {
@@ -121,14 +121,14 @@ private static JpegFrameConfig[] CreateFrameConfigs()
                 }),
 
             // Rgb
-            new JpegFrameConfig(
+            new(
                 JpegColorSpace.RGB,
                 JpegColorType.Rgb,
                 new JpegComponentConfig[]
                 {
-                    new JpegComponentConfig(id: 82, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 71, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 66, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 82, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 71, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 66, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
                 },
                 new JpegHuffmanTableConfig[]
                 {
@@ -144,15 +144,15 @@ private static JpegFrameConfig[] CreateFrameConfigs()
             },
 
             // Cmyk
-            new JpegFrameConfig(
+            new(
                 JpegColorSpace.Cmyk,
                 JpegColorType.Cmyk,
                 new JpegComponentConfig[]
                 {
-                    new JpegComponentConfig(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
-                    new JpegComponentConfig(id: 4, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 2, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 3, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+                    new(id: 4, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
                 },
                 new JpegHuffmanTableConfig[]
                 {
diff --git a/src/ImageSharp/Formats/Jpeg/JpegMetadata.cs b/src/ImageSharp/Formats/Jpeg/JpegMetadata.cs
index fe4855dc77..88bea3dc9f 100644
--- a/src/ImageSharp/Formats/Jpeg/JpegMetadata.cs
+++ b/src/ImageSharp/Formats/Jpeg/JpegMetadata.cs
@@ -139,7 +139,7 @@ public static JpegMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
                 break;
         }
 
-        return new JpegMetadata
+        return new()
         {
             ColorType = color,
             ChrominanceQuality = metadata.Quality,
@@ -182,7 +182,7 @@ public PixelTypeInfo GetPixelTypeInfo()
                 break;
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = PixelAlphaRepresentation.None,
             ColorType = colorType,
diff --git a/src/ImageSharp/Formats/Pbm/PbmDecoderCore.cs b/src/ImageSharp/Formats/Pbm/PbmDecoderCore.cs
index 9d3dd3ea4c..d2a2f661f3 100644
--- a/src/ImageSharp/Formats/Pbm/PbmDecoderCore.cs
+++ b/src/ImageSharp/Formats/Pbm/PbmDecoderCore.cs
@@ -79,7 +79,7 @@ protected override Image<TPixel> Decode<TPixel>(BufferedReadStream stream, Cance
     protected override ImageInfo Identify(BufferedReadStream stream, CancellationToken cancellationToken)
     {
         this.ProcessHeader(stream);
-        return new ImageInfo(
+        return new(
             new(this.pixelSize.Width, this.pixelSize.Height),
             this.metadata);
     }
@@ -171,9 +171,9 @@ private void ProcessHeader(BufferedReadStream stream)
             this.componentType = PbmComponentType.Bit;
         }
 
-        this.pixelSize = new Size(width, height);
+        this.pixelSize = new(width, height);
         this.Dimensions = this.pixelSize;
-        this.metadata = new ImageMetadata();
+        this.metadata = new();
         PbmMetadata meta = this.metadata.GetPbmMetadata();
         meta.Encoding = this.encoding;
         meta.ColorType = this.colorType;
diff --git a/src/ImageSharp/Formats/Pbm/PbmMetadata.cs b/src/ImageSharp/Formats/Pbm/PbmMetadata.cs
index d852f3c8eb..d42383f5fa 100644
--- a/src/ImageSharp/Formats/Pbm/PbmMetadata.cs
+++ b/src/ImageSharp/Formats/Pbm/PbmMetadata.cs
@@ -77,7 +77,7 @@ public static PbmMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
             _ => PbmComponentType.Short
         };
 
-        return new PbmMetadata
+        return new()
         {
             ColorType = color,
             ComponentType = componentType
diff --git a/src/ImageSharp/Formats/Pbm/PlainDecoder.cs b/src/ImageSharp/Formats/Pbm/PlainDecoder.cs
index 8748d90fa8..4ffd824c5f 100644
--- a/src/ImageSharp/Formats/Pbm/PlainDecoder.cs
+++ b/src/ImageSharp/Formats/Pbm/PlainDecoder.cs
@@ -71,7 +71,7 @@ private static void ProcessGrayscale<TPixel>(Configuration configuration, Buffer
             for (int x = 0; x < width; x++)
             {
                 stream.ReadDecimal(out int value);
-                rowSpan[x] = new L8((byte)value);
+                rowSpan[x] = new((byte)value);
                 eofReached = !stream.SkipWhitespaceAndComments();
                 if (eofReached)
                 {
@@ -107,7 +107,7 @@ private static void ProcessWideGrayscale<TPixel>(Configuration configuration, Bu
             for (int x = 0; x < width; x++)
             {
                 stream.ReadDecimal(out int value);
-                rowSpan[x] = new L16((ushort)value);
+                rowSpan[x] = new((ushort)value);
                 eofReached = !stream.SkipWhitespaceAndComments();
                 if (eofReached)
                 {
@@ -154,7 +154,7 @@ private static void ProcessRgb<TPixel>(Configuration configuration, Buffer2D<TPi
 
                 stream.ReadDecimal(out int blue);
 
-                rowSpan[x] = new Rgb24((byte)red, (byte)green, (byte)blue);
+                rowSpan[x] = new((byte)red, (byte)green, (byte)blue);
                 eofReached = !stream.SkipWhitespaceAndComments();
                 if (eofReached)
                 {
@@ -201,7 +201,7 @@ private static void ProcessWideRgb<TPixel>(Configuration configuration, Buffer2D
 
                 stream.ReadDecimal(out int blue);
 
-                rowSpan[x] = new Rgb48((ushort)red, (ushort)green, (ushort)blue);
+                rowSpan[x] = new((ushort)red, (ushort)green, (ushort)blue);
                 eofReached = !stream.SkipWhitespaceAndComments();
                 if (eofReached)
                 {
diff --git a/src/ImageSharp/Formats/Png/Chunks/PngPhysical.cs b/src/ImageSharp/Formats/Png/Chunks/PngPhysical.cs
index 8af0ac8ca7..72913c25c3 100644
--- a/src/ImageSharp/Formats/Png/Chunks/PngPhysical.cs
+++ b/src/ImageSharp/Formats/Png/Chunks/PngPhysical.cs
@@ -50,7 +50,7 @@ public static PngPhysical Parse(ReadOnlySpan<byte> data)
         uint vResolution = BinaryPrimitives.ReadUInt32BigEndian(data.Slice(4, 4));
         byte unit = data[8];
 
-        return new PngPhysical(hResolution, vResolution, unit);
+        return new(hResolution, vResolution, unit);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Formats/Png/PngDecoder.cs b/src/ImageSharp/Formats/Png/PngDecoder.cs
index cfea0e6020..b0adbe6c55 100644
--- a/src/ImageSharp/Formats/Png/PngDecoder.cs
+++ b/src/ImageSharp/Formats/Png/PngDecoder.cs
@@ -25,7 +25,7 @@ protected override ImageInfo Identify(DecoderOptions options, Stream stream, Can
         Guard.NotNull(options, nameof(options));
         Guard.NotNull(stream, nameof(stream));
 
-        return new PngDecoderCore(new PngDecoderOptions() { GeneralOptions = options }).Identify(options.Configuration, stream, cancellationToken);
+        return new PngDecoderCore(new() { GeneralOptions = options }).Identify(options.Configuration, stream, cancellationToken);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs
index 484241d52f..8fbfd00e76 100644
--- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs
+++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs
@@ -292,7 +292,7 @@ protected override Image<TPixel> Decode<TPixel>(BufferedReadStream stream, Cance
                             {
                                 byte[] exifData = new byte[chunk.Length];
                                 chunk.Data.GetSpan().CopyTo(exifData);
-                                MergeOrSetExifProfile(metadata, new ExifProfile(exifData), replaceExistingKeys: true);
+                                MergeOrSetExifProfile(metadata, new(exifData), replaceExistingKeys: true);
                             }
 
                             break;
@@ -492,7 +492,7 @@ protected override ImageInfo Identify(BufferedReadStream stream, CancellationTok
                             {
                                 byte[] exifData = new byte[chunk.Length];
                                 chunk.Data.GetSpan().CopyTo(exifData);
-                                MergeOrSetExifProfile(metadata, new ExifProfile(exifData), replaceExistingKeys: true);
+                                MergeOrSetExifProfile(metadata, new(exifData), replaceExistingKeys: true);
                             }
 
                             break;
@@ -520,7 +520,7 @@ protected override ImageInfo Identify(BufferedReadStream stream, CancellationTok
                 PngThrowHelper.ThrowInvalidHeader();
             }
 
-            return new ImageInfo(new(this.header.Width, this.header.Height), metadata, framesMetadata);
+            return new(new(this.header.Width, this.header.Height), metadata, framesMetadata);
         }
         finally
         {
@@ -621,7 +621,7 @@ private static void ReadGammaChunk(PngMetadata pngMetadata, ReadOnlySpan<byte> d
     private void InitializeImage<TPixel>(ImageMetadata metadata, FrameControl frameControl, out Image<TPixel> image)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        image = new Image<TPixel>(this.configuration, this.header.Width, this.header.Height, metadata);
+        image = new(this.configuration, this.header.Width, this.header.Height, metadata);
 
         PngFrameMetadata frameMetadata = image.Frames.RootFrame.Metadata.GetPngMetadata();
         frameMetadata.FromChunk(in frameControl);
@@ -1366,7 +1366,7 @@ private void ReadTextChunk(ImageMetadata baseMetadata, PngMetadata metadata, Rea
 
         if (!TryReadTextChunkMetadata(baseMetadata, name, value))
         {
-            metadata.TextData.Add(new PngTextData(name, value, string.Empty, string.Empty));
+            metadata.TextData.Add(new(name, value, string.Empty, string.Empty));
         }
     }
 
@@ -1407,7 +1407,7 @@ private void ReadCompressedTextChunk(ImageMetadata baseMetadata, PngMetadata met
         if (this.TryDecompressTextData(compressedData, PngConstants.Encoding, out string? uncompressed)
             && !TryReadTextChunkMetadata(baseMetadata, name, uncompressed))
         {
-            metadata.TextData.Add(new PngTextData(name, uncompressed, string.Empty, string.Empty));
+            metadata.TextData.Add(new(name, uncompressed, string.Empty, string.Empty));
         }
     }
 
@@ -1465,7 +1465,7 @@ private static void ReadCicpChunk(ImageMetadata metadata, ReadOnlySpan<byte> dat
             fullRange = null;
         }
 
-        metadata.CicpProfile = new CicpProfile(colorPrimaries, transferFunction, matrixCoefficients, fullRange);
+        metadata.CicpProfile = new(colorPrimaries, transferFunction, matrixCoefficients, fullRange);
     }
 
     /// <summary>
@@ -1549,7 +1549,7 @@ private static bool TryReadLegacyExifTextChunk(ImageMetadata metadata, string da
             return false;
         }
 
-        MergeOrSetExifProfile(metadata, new ExifProfile(exifBlob), replaceExistingKeys: false);
+        MergeOrSetExifProfile(metadata, new(exifBlob), replaceExistingKeys: false);
         return true;
     }
 
@@ -1583,7 +1583,7 @@ private void ReadColorProfileChunk(ImageMetadata metadata, ReadOnlySpan<byte> da
 
         if (this.TryDecompressZlibData(compressedData, this.maxUncompressedLength, out byte[] iccpProfileBytes))
         {
-            metadata.IccProfile = new IccProfile(iccpProfileBytes);
+            metadata.IccProfile = new(iccpProfileBytes);
         }
     }
 
@@ -1739,17 +1739,17 @@ private void ReadInternationalTextChunk(ImageMetadata metadata, ReadOnlySpan<byt
 
             if (this.TryDecompressTextData(compressedData, PngConstants.TranslatedEncoding, out string? uncompressed))
             {
-                pngMetadata.TextData.Add(new PngTextData(keyword, uncompressed, language, translatedKeyword));
+                pngMetadata.TextData.Add(new(keyword, uncompressed, language, translatedKeyword));
             }
         }
         else if (IsXmpTextData(keywordBytes))
         {
-            metadata.XmpProfile = new XmpProfile(data[dataStartIdx..].ToArray());
+            metadata.XmpProfile = new(data[dataStartIdx..].ToArray());
         }
         else
         {
             string value = PngConstants.TranslatedEncoding.GetString(data[dataStartIdx..]);
-            pngMetadata.TextData.Add(new PngTextData(keyword, value, language, translatedKeyword));
+            pngMetadata.TextData.Add(new(keyword, value, language, translatedKeyword));
         }
     }
 
@@ -1895,14 +1895,14 @@ private bool TryReadChunk(Span<byte> buffer, out PngChunk chunk)
             type != PngChunkType.AnimationControl &&
             type != PngChunkType.FrameControl)
         {
-            chunk = new PngChunk(length, type);
+            chunk = new(length, type);
             return true;
         }
 
         // A chunk might report a length that exceeds the length of the stream.
         // Take the minimum of the two values to ensure we don't read past the end of the stream.
         long position = this.currentStream.Position;
-        chunk = new PngChunk(
+        chunk = new(
             length: (int)Math.Min(length, this.currentStream.Length - position),
             type: type,
             data: this.ReadChunkData(length));
diff --git a/src/ImageSharp/Formats/Png/PngDecoderOptions.cs b/src/ImageSharp/Formats/Png/PngDecoderOptions.cs
index a73db87774..e4aeded157 100644
--- a/src/ImageSharp/Formats/Png/PngDecoderOptions.cs
+++ b/src/ImageSharp/Formats/Png/PngDecoderOptions.cs
@@ -9,7 +9,7 @@ namespace SixLabors.ImageSharp.Formats.Png;
 public sealed class PngDecoderOptions : ISpecializedDecoderOptions
 {
     /// <inheritdoc/>
-    public DecoderOptions GeneralOptions { get; init; } = new DecoderOptions();
+    public DecoderOptions GeneralOptions { get; init; } = new();
 
     /// <summary>
     /// Gets the maximum memory in bytes that a zTXt, sPLT, iTXt, iCCP, or unknown chunk can occupy when decompressed.
diff --git a/src/ImageSharp/Formats/Png/PngEncoderCore.cs b/src/ImageSharp/Formats/Png/PngEncoderCore.cs
index ea36d9fe1e..1f99de012d 100644
--- a/src/ImageSharp/Formats/Png/PngEncoderCore.cs
+++ b/src/ImageSharp/Formats/Png/PngEncoderCore.cs
@@ -1542,7 +1542,7 @@ private void SanitizeAndSetEncoderOptions<TPixel>(
             }
             else
             {
-                this.quantizer = new WuQuantizer(new QuantizerOptions { MaxColors = ColorNumerics.GetColorCountForBitDepth(bitDepth) });
+                this.quantizer = new WuQuantizer(new() { MaxColors = ColorNumerics.GetColorCountForBitDepth(bitDepth) });
             }
         }
 
diff --git a/src/ImageSharp/Formats/Png/PngFormat.cs b/src/ImageSharp/Formats/Png/PngFormat.cs
index e5852affa9..e49b89631f 100644
--- a/src/ImageSharp/Formats/Png/PngFormat.cs
+++ b/src/ImageSharp/Formats/Png/PngFormat.cs
@@ -15,7 +15,7 @@ private PngFormat()
     /// <summary>
     /// Gets the shared instance.
     /// </summary>
-    public static PngFormat Instance { get; } = new PngFormat();
+    public static PngFormat Instance { get; } = new();
 
     /// <inheritdoc/>
     public string Name => "PNG";
diff --git a/src/ImageSharp/Formats/Png/PngFrameMetadata.cs b/src/ImageSharp/Formats/Png/PngFrameMetadata.cs
index b8086cd6d1..dd642cf6de 100644
--- a/src/ImageSharp/Formats/Png/PngFrameMetadata.cs
+++ b/src/ImageSharp/Formats/Png/PngFrameMetadata.cs
@@ -53,7 +53,7 @@ private PngFrameMetadata(PngFrameMetadata other)
     /// <param name="frameControl">The chunk to create an instance from.</param>
     internal void FromChunk(in FrameControl frameControl)
     {
-        this.FrameDelay = new Rational(frameControl.DelayNumerator, frameControl.DelayDenominator);
+        this.FrameDelay = new(frameControl.DelayNumerator, frameControl.DelayDenominator);
         this.DisposalMode = frameControl.DisposalMode;
         this.BlendMode = frameControl.BlendMode;
     }
diff --git a/src/ImageSharp/Formats/Png/PngMetadata.cs b/src/ImageSharp/Formats/Png/PngMetadata.cs
index 00cba088cb..a3918f26d6 100644
--- a/src/ImageSharp/Formats/Png/PngMetadata.cs
+++ b/src/ImageSharp/Formats/Png/PngMetadata.cs
@@ -229,7 +229,7 @@ public PixelTypeInfo GetPixelTypeInfo()
                 break;
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = alpha,
             ColorType = colorType,
diff --git a/src/ImageSharp/Formats/Qoi/QoiDecoderCore.cs b/src/ImageSharp/Formats/Qoi/QoiDecoderCore.cs
index 85fac7ea26..45f79c040f 100644
--- a/src/ImageSharp/Formats/Qoi/QoiDecoderCore.cs
+++ b/src/ImageSharp/Formats/Qoi/QoiDecoderCore.cs
@@ -68,7 +68,7 @@ protected override ImageInfo Identify(BufferedReadStream stream, CancellationTok
         qoiMetadata.Channels = this.header.Channels;
         qoiMetadata.ColorSpace = this.header.ColorSpace;
 
-        return new ImageInfo(size, metadata);
+        return new(size, metadata);
     }
 
     /// <summary>
@@ -124,7 +124,7 @@ private void ProcessHeader(BufferedReadStream stream)
             ThrowInvalidImageContentException();
         }
 
-        this.header = new QoiHeader(width, height, (QoiChannels)channels, (QoiColorSpace)colorSpace);
+        this.header = new(width, height, (QoiChannels)channels, (QoiColorSpace)colorSpace);
     }
 
     [DoesNotReturn]
diff --git a/src/ImageSharp/Formats/Qoi/QoiFormat.cs b/src/ImageSharp/Formats/Qoi/QoiFormat.cs
index ca2d7ae452..fbee2bc3f4 100644
--- a/src/ImageSharp/Formats/Qoi/QoiFormat.cs
+++ b/src/ImageSharp/Formats/Qoi/QoiFormat.cs
@@ -15,7 +15,7 @@ private QoiFormat()
     /// <summary>
     /// Gets the shared instance.
     /// </summary>
-    public static QoiFormat Instance { get; } = new QoiFormat();
+    public static QoiFormat Instance { get; } = new();
 
     /// <inheritdoc/>
     public string DefaultMimeType => "image/qoi";
diff --git a/src/ImageSharp/Formats/Qoi/QoiMetadata.cs b/src/ImageSharp/Formats/Qoi/QoiMetadata.cs
index e463d511d2..8f71ebeee8 100644
--- a/src/ImageSharp/Formats/Qoi/QoiMetadata.cs
+++ b/src/ImageSharp/Formats/Qoi/QoiMetadata.cs
@@ -44,10 +44,10 @@ public static QoiMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
 
         if (color.HasFlag(PixelColorType.Alpha))
         {
-            return new QoiMetadata { Channels = QoiChannels.Rgba };
+            return new() { Channels = QoiChannels.Rgba };
         }
 
-        return new QoiMetadata { Channels = QoiChannels.Rgb };
+        return new() { Channels = QoiChannels.Rgb };
     }
 
     /// <inheritdoc/>
@@ -73,7 +73,7 @@ public PixelTypeInfo GetPixelTypeInfo()
                 break;
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = alpha,
             ColorType = colorType,
diff --git a/src/ImageSharp/Formats/Tga/TgaDecoderCore.cs b/src/ImageSharp/Formats/Tga/TgaDecoderCore.cs
index dc6b33422f..56cfab0a08 100644
--- a/src/ImageSharp/Formats/Tga/TgaDecoderCore.cs
+++ b/src/ImageSharp/Formats/Tga/TgaDecoderCore.cs
@@ -622,7 +622,7 @@ private void ReadRle<TPixel>(BufferedReadStream stream, int width, int height, B
                         else
                         {
                             byte alpha = alphaBits == 0 ? byte.MaxValue : bufferSpan[idx + 3];
-                            color = TPixel.FromBgra32(new Bgra32(bufferSpan[idx + 2], bufferSpan[idx + 1], bufferSpan[idx], alpha));
+                            color = TPixel.FromBgra32(new(bufferSpan[idx + 2], bufferSpan[idx + 1], bufferSpan[idx], alpha));
                         }
 
                         break;
diff --git a/src/ImageSharp/Formats/Tga/TgaFormat.cs b/src/ImageSharp/Formats/Tga/TgaFormat.cs
index e024dfc621..f5bf76fb4f 100644
--- a/src/ImageSharp/Formats/Tga/TgaFormat.cs
+++ b/src/ImageSharp/Formats/Tga/TgaFormat.cs
@@ -11,7 +11,7 @@ public sealed class TgaFormat : IImageFormat<TgaMetadata>
     /// <summary>
     /// Gets the shared instance.
     /// </summary>
-    public static TgaFormat Instance { get; } = new TgaFormat();
+    public static TgaFormat Instance { get; } = new();
 
     /// <inheritdoc/>
     public string Name => "TGA";
diff --git a/src/ImageSharp/Formats/Tga/TgaMetadata.cs b/src/ImageSharp/Formats/Tga/TgaMetadata.cs
index 8d40f86464..a7be538ec8 100644
--- a/src/ImageSharp/Formats/Tga/TgaMetadata.cs
+++ b/src/ImageSharp/Formats/Tga/TgaMetadata.cs
@@ -41,10 +41,10 @@ public static TgaMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
         int bpp = metadata.PixelTypeInfo.BitsPerPixel;
         return bpp switch
         {
-            <= 8 => new TgaMetadata { BitsPerPixel = TgaBitsPerPixel.Bit8 },
-            <= 16 => new TgaMetadata { BitsPerPixel = TgaBitsPerPixel.Bit16 },
-            <= 24 => new TgaMetadata { BitsPerPixel = TgaBitsPerPixel.Bit24 },
-            _ => new TgaMetadata { BitsPerPixel = TgaBitsPerPixel.Bit32 }
+            <= 8 => new() { BitsPerPixel = TgaBitsPerPixel.Bit8 },
+            <= 16 => new() { BitsPerPixel = TgaBitsPerPixel.Bit16 },
+            <= 24 => new() { BitsPerPixel = TgaBitsPerPixel.Bit24 },
+            _ => new() { BitsPerPixel = TgaBitsPerPixel.Bit32 }
         };
     }
 
@@ -79,7 +79,7 @@ public PixelTypeInfo GetPixelTypeInfo()
                 break;
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = alpha,
             ComponentInfo = info,
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
index dbd8cf29cd..0ff0480f89 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
@@ -11,7 +11,7 @@ internal sealed class DeflateCompressor : TiffBaseCompressor
 {
     private readonly DeflateCompressionLevel compressionLevel;
 
-    private readonly MemoryStream memoryStream = new MemoryStream();
+    private readonly MemoryStream memoryStream = new();
 
     public DeflateCompressor(Stream output, MemoryAllocator allocator, int width, int bitsPerPixel, TiffPredictor predictor, DeflateCompressionLevel compressionLevel)
         : base(output, allocator, width, bitsPerPixel, predictor)
@@ -29,7 +29,7 @@ public override void Initialize(int rowsPerStrip)
     public override void CompressStrip(Span<byte> rows, int height)
     {
         this.memoryStream.Seek(0, SeekOrigin.Begin);
-        using (ZlibDeflateStream? stream = new ZlibDeflateStream(this.Allocator, this.memoryStream, this.compressionLevel))
+        using (ZlibDeflateStream? stream = new(this.Allocator, this.memoryStream, this.compressionLevel))
         {
             if (this.Predictor == TiffPredictor.Horizontal)
             {
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/LzwCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/LzwCompressor.cs
index a6242114ef..7dfb60bad8 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/LzwCompressor.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/LzwCompressor.cs
@@ -20,7 +20,7 @@ public LzwCompressor(Stream output, MemoryAllocator allocator, int width, int bi
     public override TiffCompression Method => TiffCompression.Lzw;
 
     /// <inheritdoc/>
-    public override void Initialize(int rowsPerStrip) => this.lzwEncoder = new TiffLzwEncoder(this.Allocator);
+    public override void Initialize(int rowsPerStrip) => this.lzwEncoder = new(this.Allocator);
 
     /// <inheritdoc/>
     public override void CompressStrip(Span<byte> rows, int height)
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
index 2b557a9cf2..23c0ad8a4b 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
@@ -29,7 +29,7 @@ public override void CompressStrip(Span<byte> rows, int height)
         int pixelCount = rows.Length / 3;
         int width = pixelCount / height;
 
-        using MemoryStream? memoryStream = new MemoryStream();
+        using MemoryStream? memoryStream = new();
         Image<Rgb24>? image = Image.LoadPixelData<Rgb24>(rows, width, height);
         image.Save(memoryStream, new JpegEncoder()
         {
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
index 6bb2e4a4b0..d8be7f7df1 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
@@ -42,7 +42,7 @@ public DeflateTiffCompression(MemoryAllocator memoryAllocator, int width, int bi
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
         long pos = stream.Position;
-        using (ZlibInflateStream? deframeStream = new ZlibInflateStream(
+        using (ZlibInflateStream? deframeStream = new(
             stream,
             () =>
             {
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
index f65ab86d91..093a5987cd 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
@@ -36,7 +36,7 @@ public LzwTiffCompression(MemoryAllocator memoryAllocator, int width, int bitsPe
     /// <inheritdoc/>
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
-        TiffLzwDecoder? decoder = new TiffLzwDecoder(stream);
+        TiffLzwDecoder? decoder = new(stream);
         decoder.DecodePixels(buffer);
 
         if (this.Predictor == TiffPredictor.Horizontal)
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
index 72e419a96e..a6ab28121d 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
@@ -41,7 +41,7 @@ public ModifiedHuffmanTiffCompression(MemoryAllocator allocator, TiffFillOrder f
     /// <inheritdoc/>
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
-        ModifiedHuffmanBitReader? bitReader = new ModifiedHuffmanBitReader(stream, this.FillOrder, byteCount);
+        ModifiedHuffmanBitReader? bitReader = new(stream, this.FillOrder, byteCount);
 
         buffer.Clear();
         nint bitsWritten = 0;
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
index 137236f96b..a5669ec1f4 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
@@ -60,7 +60,7 @@ protected override void Decompress(BufferedReadStream stream, int byteCount, int
         }
 
         bool eolPadding = this.faxCompressionOptions.HasFlag(FaxCompressionOptions.EolPadding);
-        T4BitReader? bitReader = new T4BitReader(stream, this.FillOrder, byteCount, eolPadding);
+        T4BitReader? bitReader = new(stream, this.FillOrder, byteCount, eolPadding);
 
         buffer.Clear();
         nint bitsWritten = 0;
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
index b1e6ece1d0..d9a34869a2 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
@@ -57,9 +57,9 @@ protected override void Decompress(BufferedReadStream stream, int byteCount, int
         Span<byte> scanLine = scanLineBuffer.GetSpan()[..this.width];
         Span<byte> referenceScanLineSpan = scanLineBuffer.GetSpan().Slice(this.width, this.width);
 
-        T6BitReader? bitReader = new T6BitReader(stream, this.FillOrder, byteCount);
+        T6BitReader? bitReader = new(stream, this.FillOrder, byteCount);
 
-        CcittReferenceScanline referenceScanLine = new CcittReferenceScanline(this.isWhiteZero, this.width);
+        CcittReferenceScanline referenceScanLine = new(this.isWhiteZero, this.width);
         nint bitsWritten = 0;
         for (int y = 0; y < height; y++)
         {
@@ -69,7 +69,7 @@ protected override void Decompress(BufferedReadStream stream, int byteCount, int
             bitsWritten = this.WriteScanLine(buffer, scanLine, bitsWritten);
 
             scanLine.CopyTo(referenceScanLineSpan);
-            referenceScanLine = new CcittReferenceScanline(this.isWhiteZero, referenceScanLineSpan);
+            referenceScanLine = new(this.isWhiteZero, referenceScanLineSpan);
         }
     }
 
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/TiffLzwDecoder.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/TiffLzwDecoder.cs
index a53e1bc74c..40278dca20 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/TiffLzwDecoder.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/TiffLzwDecoder.cs
@@ -103,7 +103,7 @@ public TiffLzwDecoder(Stream stream)
         this.table = new LzwString[TableSize];
         for (int i = 0; i < 256; i++)
         {
-            this.table[i] = new LzwString((byte)i);
+            this.table[i] = new((byte)i);
         }
 
         this.Init();
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/WebpTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/WebpTiffCompression.cs
index 76d0bb6418..5f4ca12bda 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/WebpTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/WebpTiffCompression.cs
@@ -32,7 +32,7 @@ public WebpTiffCompression(DecoderOptions options, MemoryAllocator memoryAllocat
     /// <inheritdoc/>
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
-        using WebpDecoderCore decoder = new(new WebpDecoderOptions() { GeneralOptions = this.options });
+        using WebpDecoderCore decoder = new(new() { GeneralOptions = this.options });
         using Image<Rgb24> image = decoder.Decode<Rgb24>(this.options.Configuration, stream, cancellationToken);
         CopyImageBytesToBuffer(buffer, image.Frames.RootFrame.PixelBuffer);
     }
diff --git a/src/ImageSharp/Formats/Tiff/Compression/HorizontalPredictor.cs b/src/ImageSharp/Formats/Tiff/Compression/HorizontalPredictor.cs
index 30a9335286..18d771ab56 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/HorizontalPredictor.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/HorizontalPredictor.cs
@@ -102,7 +102,7 @@ private static void ApplyHorizontalPrediction24Bit(Span<byte> rows, int width)
                 byte r = (byte)(rowRgb[x].R - rowRgb[x - 1].R);
                 byte g = (byte)(rowRgb[x].G - rowRgb[x - 1].G);
                 byte b = (byte)(rowRgb[x].B - rowRgb[x - 1].B);
-                rowRgb[x] = new Rgb24(r, g, b);
+                rowRgb[x] = new(r, g, b);
             }
         }
     }
@@ -276,7 +276,7 @@ private static void UndoRgb24Bit(Span<byte> pixelBytes, int width)
                 r += pixel.R;
                 g += pixel.G;
                 b += pixel.B;
-                pixel = new Rgb24(r, g, b);
+                pixel = new(r, g, b);
             }
         }
     }
@@ -302,7 +302,7 @@ private static void UndoRgba32Bit(Span<byte> pixelBytes, int width)
                 g += pixel.G;
                 b += pixel.B;
                 a += pixel.A;
-                pixel = new Rgba32(r, g, b, a);
+                pixel = new(r, g, b, a);
             }
         }
     }
diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32FloatTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32FloatTiffColor{TPixel}.cs
index ac316459d8..b30700adb3 100644
--- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32FloatTiffColor{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32FloatTiffColor{TPixel}.cs
@@ -40,7 +40,7 @@ public override void Decode(ReadOnlySpan<byte> data, Buffer2D<TPixel> pixels, in
                     float intensity = BitConverter.ToSingle(buffer);
                     offset += 4;
 
-                    pixelRow[x] = TPixel.FromScaledVector4(new Vector4(intensity, intensity, intensity, 1f));
+                    pixelRow[x] = TPixel.FromScaledVector4(new(intensity, intensity, intensity, 1f));
                 }
             }
             else
@@ -50,7 +50,7 @@ public override void Decode(ReadOnlySpan<byte> data, Buffer2D<TPixel> pixels, in
                     float intensity = BitConverter.ToSingle(data.Slice(offset, 4));
                     offset += 4;
 
-                    pixelRow[x] = TPixel.FromScaledVector4(new Vector4(intensity, intensity, intensity, 1f));
+                    pixelRow[x] = TPixel.FromScaledVector4(new(intensity, intensity, intensity, 1f));
                 }
             }
         }
diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbTiffColor{TPixel}.cs
index 3c205d1476..2b85c2fd6f 100644
--- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbTiffColor{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbTiffColor{TPixel}.cs
@@ -52,7 +52,7 @@ public override void Decode(ReadOnlySpan<byte> data, Buffer2D<TPixel> pixels, in
                 float g = bitReader.ReadBits(this.bitsPerSampleG) / this.gFactor;
                 float b = bitReader.ReadBits(this.bitsPerSampleB) / this.bFactor;
 
-                pixelRow[x] = TPixel.FromScaledVector4(new Vector4(r, g, b, 1f));
+                pixelRow[x] = TPixel.FromScaledVector4(new(r, g, b, 1f));
             }
 
             bitReader.NextRow();
diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32FloatTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32FloatTiffColor{TPixel}.cs
index 7d31f23abd..0db555cbbd 100644
--- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32FloatTiffColor{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32FloatTiffColor{TPixel}.cs
@@ -50,7 +50,7 @@ public override void Decode(ReadOnlySpan<byte> data, Buffer2D<TPixel> pixels, in
                     float intensity = 1.0f - BitConverter.ToSingle(data.Slice(offset, 4));
                     offset += 4;
 
-                    pixelRow[x] = TPixel.FromScaledVector4(new Vector4(intensity, intensity, intensity, 1.0f));
+                    pixelRow[x] = TPixel.FromScaledVector4(new(intensity, intensity, intensity, 1.0f));
                 }
             }
         }
diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColor{TPixel}.cs
index 0cd01a6199..06212eff3f 100644
--- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColor{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColor{TPixel}.cs
@@ -36,7 +36,7 @@ public override void Decode(ReadOnlySpan<byte> data, Buffer2D<TPixel> pixels, in
             {
                 int value = bitReader.ReadBits(this.bitsPerSample0);
                 float intensity = 1f - (value / this.factor);
-                pixelRow[x] = TPixel.FromScaledVector4(new Vector4(intensity, intensity, intensity, 1f));
+                pixelRow[x] = TPixel.FromScaledVector4(new(intensity, intensity, intensity, 1f));
             }
 
             bitReader.NextRow();
diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrConverter.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrConverter.cs
index d41749be66..754cbd0059 100644
--- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrConverter.cs
+++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrConverter.cs
@@ -45,10 +45,10 @@ public YCbCrConverter(Rational[] referenceBlackAndWhite, Rational[] coefficients
             TiffThrowHelper.ThrowImageFormatException("luma coefficients array should have 6 entry's");
         }
 
-        this.yExpander = new CodingRangeExpander(referenceBlackAndWhite[0], referenceBlackAndWhite[1], 255);
-        this.cbExpander = new CodingRangeExpander(referenceBlackAndWhite[2], referenceBlackAndWhite[3], 127);
-        this.crExpander = new CodingRangeExpander(referenceBlackAndWhite[4], referenceBlackAndWhite[5], 127);
-        this.converter = new YCbCrToRgbConverter(coefficients[0], coefficients[1], coefficients[2]);
+        this.yExpander = new(referenceBlackAndWhite[0], referenceBlackAndWhite[1], 255);
+        this.cbExpander = new(referenceBlackAndWhite[2], referenceBlackAndWhite[3], 127);
+        this.crExpander = new(referenceBlackAndWhite[4], referenceBlackAndWhite[5], 127);
+        this.converter = new(coefficients[0], coefficients[1], coefficients[2]);
     }
 
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrPlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrPlanarTiffColor{TPixel}.cs
index 768177bfc0..ebae824303 100644
--- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrPlanarTiffColor{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrPlanarTiffColor{TPixel}.cs
@@ -20,7 +20,7 @@ internal class YCbCrPlanarTiffColor<TPixel> : TiffBasePlanarColorDecoder<TPixel>
 
     public YCbCrPlanarTiffColor(Rational[] referenceBlackAndWhite, Rational[] coefficients, ushort[] ycbcrSubSampling)
     {
-        this.converter = new YCbCrConverter(referenceBlackAndWhite, coefficients);
+        this.converter = new(referenceBlackAndWhite, coefficients);
         this.ycbcrSubSampling = ycbcrSubSampling;
     }
 
diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrTiffColor{TPixel}.cs
index 5a13890356..3bf550fe55 100644
--- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrTiffColor{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/YCbCrTiffColor{TPixel}.cs
@@ -24,7 +24,7 @@ internal class YCbCrTiffColor<TPixel> : TiffBaseColorDecoder<TPixel>
     public YCbCrTiffColor(MemoryAllocator memoryAllocator, Rational[] referenceBlackAndWhite, Rational[] coefficients, ushort[] ycbcrSubSampling)
     {
         this.memoryAllocator = memoryAllocator;
-        this.converter = new YCbCrConverter(referenceBlackAndWhite, coefficients);
+        this.converter = new(referenceBlackAndWhite, coefficients);
         this.ycbcrSubSampling = ycbcrSubSampling;
     }
 
diff --git a/src/ImageSharp/Formats/Tiff/TiffBitsPerSample.cs b/src/ImageSharp/Formats/Tiff/TiffBitsPerSample.cs
index 2bfd9a626f..e9b620ea29 100644
--- a/src/ImageSharp/Formats/Tiff/TiffBitsPerSample.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffBitsPerSample.cs
@@ -120,7 +120,7 @@ public static bool TryParse(ushort[]? value, out TiffBitsPerSample sample)
                 break;
         }
 
-        sample = new TiffBitsPerSample(c0, c1, c2, c3);
+        sample = new(c0, c1, c2, c3);
         return true;
     }
 
diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs
index d699a7b631..0586f44f80 100644
--- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs
@@ -190,7 +190,7 @@ protected override Image<TPixel> Decode<TPixel>(BufferedReadStream stream, Cance
 
             this.Dimensions = frames[0].Size;
             ImageMetadata metadata = TiffDecoderMetadataCreator.Create(framesMetadata, this.skipMetadata, reader.ByteOrder, reader.IsBigTiff);
-            return new Image<TPixel>(this.configuration, metadata, frames);
+            return new(this.configuration, metadata, frames);
         }
         catch
         {
@@ -227,7 +227,7 @@ protected override ImageInfo Identify(BufferedReadStream stream, CancellationTok
 
         ImageMetadata metadata = TiffDecoderMetadataCreator.Create(framesMetadata, this.skipMetadata, reader.ByteOrder, reader.IsBigTiff);
 
-        return new ImageInfo(new(width, height), metadata, framesMetadata);
+        return new(new(width, height), metadata, framesMetadata);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs
index 28565cac47..fbb1b28de3 100644
--- a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs
@@ -32,17 +32,17 @@ public static ImageMetadata Create(List<ImageFrameMetadata> frames, bool ignoreM
                 ImageFrameMetadata frameMetaData = frames[i];
                 if (TryGetIptc(frameMetaData.ExifProfile.Values, out byte[] iptcBytes))
                 {
-                    frameMetaData.IptcProfile = new IptcProfile(iptcBytes);
+                    frameMetaData.IptcProfile = new(iptcBytes);
                 }
 
                 if (frameMetaData.ExifProfile.TryGetValue(ExifTag.XMP, out IExifValue<byte[]> xmpProfileBytes))
                 {
-                    frameMetaData.XmpProfile = new XmpProfile(xmpProfileBytes.Value);
+                    frameMetaData.XmpProfile = new(xmpProfileBytes.Value);
                 }
 
                 if (frameMetaData.ExifProfile.TryGetValue(ExifTag.IccProfile, out IExifValue<byte[]> iccProfileBytes))
                 {
-                    frameMetaData.IccProfile = new IccProfile(iccProfileBytes.Value);
+                    frameMetaData.IccProfile = new(iccProfileBytes.Value);
                 }
             }
         }
diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs
index ed91755468..10d9b231e3 100644
--- a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs
@@ -529,7 +529,7 @@ private static void ParseCompression(this TiffDecoderCore options, TiffCompressi
 
                 // Some encoders do not set the BitsPerSample correctly, so we set those values here to the required values:
                 // https://github.com/SixLabors/ImageSharp/issues/2587
-                options.BitsPerSample = new TiffBitsPerSample(1, 0, 0);
+                options.BitsPerSample = new(1, 0, 0);
                 options.BitsPerPixel = 1;
 
                 break;
@@ -547,7 +547,7 @@ private static void ParseCompression(this TiffDecoderCore options, TiffCompressi
                     options.FaxCompressionOptions = FaxCompressionOptions.None;
                 }
 
-                options.BitsPerSample = new TiffBitsPerSample(1, 0, 0);
+                options.BitsPerSample = new(1, 0, 0);
                 options.BitsPerPixel = 1;
 
                 break;
@@ -555,7 +555,7 @@ private static void ParseCompression(this TiffDecoderCore options, TiffCompressi
 
             case TiffCompression.Ccitt1D:
                 options.CompressionType = TiffDecoderCompressionType.HuffmanRle;
-                options.BitsPerSample = new TiffBitsPerSample(1, 0, 0);
+                options.BitsPerSample = new(1, 0, 0);
                 options.BitsPerPixel = 1;
 
                 break;
diff --git a/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs b/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs
index 803b77fb0a..8890c61a59 100644
--- a/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs
@@ -16,7 +16,7 @@ internal class TiffEncoderEntriesCollector
 {
     private const string SoftwareValue = "ImageSharp";
 
-    public List<IExifValue> Entries { get; } = new List<IExifValue>();
+    public List<IExifValue> Entries { get; } = new();
 
     public void ProcessMetadata(Image image, bool skipMetadata)
         => new MetadataProcessor(this).Process(image, skipMetadata);
@@ -298,12 +298,12 @@ private void ProcessResolution(ImageMetadata imageMetadata)
             {
                 this.Collector.AddOrReplace(new ExifRational(ExifTagValue.XResolution)
                 {
-                    Value = new Rational(resolution.HorizontalResolution.Value)
+                    Value = new(resolution.HorizontalResolution.Value)
                 });
 
                 this.Collector.AddOrReplace(new ExifRational(ExifTagValue.YResolution)
                 {
-                    Value = new Rational(resolution.VerticalResolution.Value)
+                    Value = new(resolution.VerticalResolution.Value)
                 });
             }
         }
diff --git a/src/ImageSharp/Formats/Tiff/TiffMetadata.cs b/src/ImageSharp/Formats/Tiff/TiffMetadata.cs
index e965fcb4f6..7d20564694 100644
--- a/src/ImageSharp/Formats/Tiff/TiffMetadata.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffMetadata.cs
@@ -75,7 +75,7 @@ public static TiffMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
         int bpp = metadata.PixelTypeInfo.BitsPerPixel;
         return bpp switch
         {
-            1 => new TiffMetadata
+            1 => new()
             {
                 BitsPerPixel = TiffBitsPerPixel.Bit1,
                 BitsPerSample = TiffConstants.BitsPerSample1Bit,
@@ -83,7 +83,7 @@ public static TiffMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
                 Compression = TiffCompression.CcittGroup4Fax,
                 Predictor = TiffPredictor.None
             },
-            <= 4 => new TiffMetadata
+            <= 4 => new()
             {
                 BitsPerPixel = TiffBitsPerPixel.Bit4,
                 BitsPerSample = TiffConstants.BitsPerSample4Bit,
@@ -91,7 +91,7 @@ public static TiffMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
                 Compression = TiffCompression.Deflate,
                 Predictor = TiffPredictor.None // Best match for low bit depth
             },
-            8 => new TiffMetadata
+            8 => new()
             {
                 BitsPerPixel = TiffBitsPerPixel.Bit8,
                 BitsPerSample = TiffConstants.BitsPerSample8Bit,
@@ -99,7 +99,7 @@ public static TiffMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
                 Compression = TiffCompression.Deflate,
                 Predictor = TiffPredictor.Horizontal
             },
-            16 => new TiffMetadata
+            16 => new()
             {
                 BitsPerPixel = TiffBitsPerPixel.Bit16,
                 BitsPerSample = TiffConstants.BitsPerSample16Bit,
@@ -107,7 +107,7 @@ public static TiffMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
                 Compression = TiffCompression.Deflate,
                 Predictor = TiffPredictor.Horizontal
             },
-            32 or 64 => new TiffMetadata
+            32 or 64 => new()
             {
                 BitsPerPixel = TiffBitsPerPixel.Bit32,
                 BitsPerSample = TiffConstants.BitsPerSampleRgb8Bit,
@@ -115,7 +115,7 @@ public static TiffMetadata FromFormatConnectingMetadata(FormatConnectingMetadata
                 Compression = TiffCompression.Deflate,
                 Predictor = TiffPredictor.Horizontal
             },
-            _ => new TiffMetadata
+            _ => new()
             {
                 BitsPerPixel = TiffBitsPerPixel.Bit24,
                 BitsPerSample = TiffConstants.BitsPerSampleRgb8Bit,
@@ -165,7 +165,7 @@ public PixelTypeInfo GetPixelTypeInfo()
                 break;
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             ColorType = colorType,
             ComponentInfo = info,
diff --git a/src/ImageSharp/Formats/Tiff/Writers/TiffBiColorWriter{TPixel}.cs b/src/ImageSharp/Formats/Tiff/Writers/TiffBiColorWriter{TPixel}.cs
index 647ff8a1a3..8ede732793 100644
--- a/src/ImageSharp/Formats/Tiff/Writers/TiffBiColorWriter{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/Writers/TiffBiColorWriter{TPixel}.cs
@@ -30,7 +30,7 @@ public TiffBiColorWriter(
         : base(image, encodingSize, memoryAllocator, configuration, entriesCollector)
     {
         // Convert image to black and white.
-        this.imageBlackWhite = new Image<TPixel>(configuration, new ImageMetadata(), [image.Clone()]);
+        this.imageBlackWhite = new(configuration, new(), [image.Clone()]);
         this.imageBlackWhite.Mutate(img => img.BinaryDither(KnownDitherings.FloydSteinberg));
     }
 
diff --git a/src/ImageSharp/Formats/Tiff/Writers/TiffPaletteWriter{TPixel}.cs b/src/ImageSharp/Formats/Tiff/Writers/TiffPaletteWriter{TPixel}.cs
index da66373631..a6106ae855 100644
--- a/src/ImageSharp/Formats/Tiff/Writers/TiffPaletteWriter{TPixel}.cs
+++ b/src/ImageSharp/Formats/Tiff/Writers/TiffPaletteWriter{TPixel}.cs
@@ -44,13 +44,13 @@ public TiffPaletteWriter(
         this.colorPaletteBytes = this.colorPaletteSize * 2;
         using IQuantizer<TPixel> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<TPixel>(
             this.Configuration,
-            new QuantizerOptions()
+            new()
             {
                 MaxColors = this.maxColors
             });
 
         frameQuantizer.BuildPalette(pixelSamplingStrategy, frame);
-        this.quantizedFrame = frameQuantizer.QuantizeFrame(frame, new Rectangle(Point.Empty, encodingSize));
+        this.quantizedFrame = frameQuantizer.QuantizeFrame(frame, new(Point.Empty, encodingSize));
 
         this.AddColorMapTag();
     }
diff --git a/src/ImageSharp/Formats/Webp/AlphaDecoder.cs b/src/ImageSharp/Formats/Webp/AlphaDecoder.cs
index a9e63a3d0e..a708cc5424 100644
--- a/src/ImageSharp/Formats/Webp/AlphaDecoder.cs
+++ b/src/ImageSharp/Formats/Webp/AlphaDecoder.cs
@@ -57,12 +57,12 @@ public AlphaDecoder(int width, int height, IMemoryOwner<byte> data, byte alphaCh
 
         this.Alpha = memoryAllocator.Allocate<byte>(totalPixels);
         this.AlphaFilterType = (WebpAlphaFilterType)filter;
-        this.Vp8LDec = new Vp8LDecoder(width, height, memoryAllocator);
+        this.Vp8LDec = new(width, height, memoryAllocator);
 
         if (this.Compressed)
         {
-            Vp8LBitReader bitReader = new Vp8LBitReader(data);
-            this.LosslessDecoder = new WebpLosslessDecoder(bitReader, memoryAllocator, configuration);
+            Vp8LBitReader bitReader = new(data);
+            this.LosslessDecoder = new(bitReader, memoryAllocator, configuration);
             this.LosslessDecoder.DecodeImageStream(this.Vp8LDec, width, height, true);
 
             // Special case: if alpha data uses only the color indexing transform and
diff --git a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs
index fd6f508e4a..56587da187 100644
--- a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs
+++ b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs
@@ -92,7 +92,7 @@ private static ImageFrame<Bgra32> DispatchAlphaToGreen<TPixel>(Configuration con
             for (int x = 0; x < width; x++)
             {
                 // Leave A/R/B channels zero'd.
-                pixelRow[x] = new Bgra32(0, alphaRow[x], 0, 0);
+                pixelRow[x] = new(0, alphaRow[x], 0, 0);
             }
         }
 
diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs
index 81530706d6..923d2a69c4 100644
--- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs
+++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs
@@ -399,7 +399,7 @@ public override void WriteEncodedImageToStream(Stream stream)
         int mbSize = this.enc.Mbw * this.enc.Mbh;
         int expectedSize = (int)((uint)mbSize * 7 / 8);
 
-        Vp8BitWriter bitWriterPartZero = new Vp8BitWriter(expectedSize, this.enc);
+        Vp8BitWriter bitWriterPartZero = new(expectedSize, this.enc);
 
         // Partition #0 with header and partition sizes.
         uint size0 = bitWriterPartZero.GeneratePartition0();
@@ -545,7 +545,7 @@ private void WriteProbas()
     // Writes the partition #0 modes (that is: all intra modes)
     private void CodeIntraModes()
     {
-        Vp8EncIterator it = new Vp8EncIterator(this.enc);
+        Vp8EncIterator it = new(this.enc);
         int predsWidth = this.enc.PredsWidth;
 
         do
diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs
index dc867fa85e..0b71a3ed0c 100644
--- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs
+++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs
@@ -102,7 +102,7 @@ public Vp8LBitWriter Clone()
     {
         byte[] clonedBuffer = new byte[this.Buffer.Length];
         System.Buffer.BlockCopy(this.Buffer, 0, clonedBuffer, 0, this.cur);
-        return new Vp8LBitWriter(clonedBuffer, this.bits, this.used, this.cur);
+        return new(clonedBuffer, this.bits, this.used, this.cur);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Formats/Webp/Lossless/BackwardReferenceEncoder.cs b/src/ImageSharp/Formats/Webp/Lossless/BackwardReferenceEncoder.cs
index 2e7dd722fc..41603e8501 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/BackwardReferenceEncoder.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/BackwardReferenceEncoder.cs
@@ -72,7 +72,7 @@ public static Vp8LBackwardRefs GetBackwardReferences(
                     BackwardReferencesLz77(width, height, bgra, 0, hashChain, worst);
                     break;
                 case Vp8LLz77Type.Lz77Box:
-                    hashChainBox = new Vp8LHashChain(memoryAllocator, width * height);
+                    hashChainBox = new(memoryAllocator, width * height);
                     BackwardReferencesLz77Box(width, height, bgra, 0, hashChain, hashChainBox, worst);
                     break;
             }
@@ -145,7 +145,7 @@ private static int CalculateBestCacheSize(
         for (int i = 0; i < colorCache.Length; i++)
         {
             histos[i].PaletteCodeBits = i;
-            colorCache[i] = new ColorCache(i);
+            colorCache[i] = new(i);
         }
 
         // Find the cacheBits giving the lowest entropy.
@@ -282,7 +282,7 @@ private static void BackwardReferencesHashChainDistanceOnly(
 
         if (useColorCache)
         {
-            colorCache = new ColorCache(cacheBits);
+            colorCache = new(cacheBits);
         }
 
         costModel.Build(xSize, cacheBits, refs);
@@ -384,7 +384,7 @@ private static void BackwardReferencesHashChainFollowChosenPath(ReadOnlySpan<uin
 
         if (useColorCache)
         {
-            colorCache = new ColorCache(cacheBits);
+            colorCache = new(cacheBits);
         }
 
         backwardRefs.Refs.Clear();
@@ -476,7 +476,7 @@ private static void BackwardReferencesLz77(int xSize, int ySize, ReadOnlySpan<ui
         ColorCache? colorCache = null;
         if (useColorCache)
         {
-            colorCache = new ColorCache(cacheBits);
+            colorCache = new(cacheBits);
         }
 
         refs.Refs.Clear();
@@ -731,7 +731,7 @@ private static void BackwardReferencesRle(int xSize, int ySize, ReadOnlySpan<uin
 
         if (useColorCache)
         {
-            colorCache = new ColorCache(cacheBits);
+            colorCache = new(cacheBits);
         }
 
         refs.Refs.Clear();
@@ -779,7 +779,7 @@ private static void BackwardReferencesRle(int xSize, int ySize, ReadOnlySpan<uin
     private static void BackwardRefsWithLocalCache(ReadOnlySpan<uint> bgra, int cacheBits, Vp8LBackwardRefs refs)
     {
         int pixelIndex = 0;
-        ColorCache colorCache = new ColorCache(cacheBits);
+        ColorCache colorCache = new(cacheBits);
         for (int idx = 0; idx < refs.Refs.Count; idx++)
         {
             PixOrCopy v = refs.Refs[idx];
diff --git a/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs b/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
index a6c6ee6180..aed5ce2dbb 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
@@ -17,21 +17,21 @@ internal sealed class CostManager : IDisposable
 
     private const int FreeIntervalsStartCount = 25;
 
-    private readonly Stack<CostInterval> freeIntervals = new Stack<CostInterval>(FreeIntervalsStartCount);
+    private readonly Stack<CostInterval> freeIntervals = new(FreeIntervalsStartCount);
 
     public CostManager(MemoryAllocator memoryAllocator, IMemoryOwner<ushort> distArray, int pixCount, CostModel costModel)
     {
         int costCacheSize = pixCount > BackwardReferenceEncoder.MaxLength ? BackwardReferenceEncoder.MaxLength : pixCount;
 
-        this.CacheIntervals = new List<CostCacheInterval>();
-        this.CostCache = new List<double>();
+        this.CacheIntervals = new();
+        this.CostCache = new();
         this.Costs = memoryAllocator.Allocate<float>(pixCount);
         this.DistArray = distArray;
         this.Count = 0;
 
         for (int i = 0; i < FreeIntervalsStartCount; i++)
         {
-            this.freeIntervals.Push(new CostInterval());
+            this.freeIntervals.Push(new());
         }
 
         // Fill in the cost cache.
@@ -49,7 +49,7 @@ public CostManager(MemoryAllocator memoryAllocator, IMemoryOwner<ushort> distArr
         }
 
         // Fill in the cache intervals.
-        CostCacheInterval? cur = new CostCacheInterval()
+        CostCacheInterval? cur = new()
         {
             Start = 0,
             End = 1,
@@ -62,7 +62,7 @@ public CostManager(MemoryAllocator memoryAllocator, IMemoryOwner<ushort> distArr
             double costVal = this.CostCache[i];
             if (costVal != cur.Cost)
             {
-                cur = new CostCacheInterval()
+                cur = new()
                 {
                     Start = i,
                     Cost = costVal
@@ -258,7 +258,7 @@ private void InsertInterval(CostInterval? intervalIn, float cost, int position,
         }
         else
         {
-            intervalNew = new CostInterval() { Cost = cost, Start = start, End = end, Index = position };
+            intervalNew = new() { Cost = cost, Start = start, End = end, Index = position };
         }
 
         this.PositionOrphanInterval(intervalNew, intervalIn);
diff --git a/src/ImageSharp/Formats/Webp/Lossless/CrunchConfig.cs b/src/ImageSharp/Formats/Webp/Lossless/CrunchConfig.cs
index 7488f03ca4..58394c212f 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/CrunchConfig.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/CrunchConfig.cs
@@ -7,5 +7,5 @@ internal class CrunchConfig
 {
     public EntropyIx EntropyIdx { get; set; }
 
-    public List<CrunchSubConfig> SubConfigs { get; } = new List<CrunchSubConfig>();
+    public List<CrunchSubConfig> SubConfigs { get; } = new();
 }
diff --git a/src/ImageSharp/Formats/Webp/Lossless/HTreeGroup.cs b/src/ImageSharp/Formats/Webp/Lossless/HTreeGroup.cs
index 5806ee5b5c..1375218da9 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/HTreeGroup.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/HTreeGroup.cs
@@ -15,7 +15,7 @@ internal struct HTreeGroup
 {
     public HTreeGroup(uint packedTableSize)
     {
-        this.HTrees = new List<HuffmanCode[]>(WebpConstants.HuffmanCodesPerMetaCode);
+        this.HTrees = new(WebpConstants.HuffmanCodesPerMetaCode);
         this.PackedTable = new HuffmanCode[packedTableSize];
         this.IsTrivialCode = false;
         this.IsTrivialLiteral = false;
diff --git a/src/ImageSharp/Formats/Webp/Lossless/HuffmanUtils.cs b/src/ImageSharp/Formats/Webp/Lossless/HuffmanUtils.cs
index 027d4f7ee9..fd5d1dd940 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/HuffmanUtils.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/HuffmanUtils.cs
@@ -425,7 +425,7 @@ public static int BuildHuffmanTable(Span<HuffmanCode> table, int rootBits, int[]
                     tableSize = 1 << tableBits;
                     totalSize += tableSize;
                     low = key & mask;
-                    table[low] = new HuffmanCode
+                    table[low] = new()
                     {
                         BitsUsed = tableBits + rootBits,
                         Value = (uint)(tablePos - low)
diff --git a/src/ImageSharp/Formats/Webp/Lossless/PixOrCopy.cs b/src/ImageSharp/Formats/Webp/Lossless/PixOrCopy.cs
index d6b10ada55..8378b901d7 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/PixOrCopy.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/PixOrCopy.cs
@@ -15,7 +15,7 @@ internal sealed class PixOrCopy
     public uint BgraOrDistance { get; set; }
 
     public static PixOrCopy CreateCacheIdx(int idx) =>
-        new PixOrCopy
+        new()
         {
             Mode = PixOrCopyMode.CacheIdx,
             BgraOrDistance = (uint)idx,
@@ -23,7 +23,7 @@ public static PixOrCopy CreateCacheIdx(int idx) =>
         };
 
     public static PixOrCopy CreateLiteral(uint bgra) =>
-        new PixOrCopy
+        new()
         {
             Mode = PixOrCopyMode.Literal,
             BgraOrDistance = bgra,
@@ -31,7 +31,7 @@ public static PixOrCopy CreateLiteral(uint bgra) =>
         };
 
     public static PixOrCopy CreateCopy(uint distance, ushort len) =>
-        new PixOrCopy
+        new()
     {
         Mode = PixOrCopyMode.Copy,
         BgraOrDistance = distance,
diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LBackwardRefs.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LBackwardRefs.cs
index ace9d62271..1a1a4df380 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LBackwardRefs.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LBackwardRefs.cs
@@ -5,7 +5,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless;
 
 internal class Vp8LBackwardRefs
 {
-    public Vp8LBackwardRefs(int pixels) => this.Refs = new List<PixOrCopy>(pixels);
+    public Vp8LBackwardRefs(int pixels) => this.Refs = new(pixels);
 
     /// <summary>
     /// Gets or sets the common block-size.
diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LDecoder.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LDecoder.cs
index 374465cf79..c22abd83e2 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LDecoder.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LDecoder.cs
@@ -22,7 +22,7 @@ public Vp8LDecoder(int width, int height, MemoryAllocator memoryAllocator)
     {
         this.Width = width;
         this.Height = height;
-        this.Metadata = new Vp8LMetadata();
+        this.Metadata = new();
         this.Pixels = memoryAllocator.Allocate<uint>(width * height, AllocationOptions.Clean);
     }
 
diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs
index f088448391..747019b07e 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs
@@ -129,18 +129,18 @@ public Vp8LEncoder(
         this.transparentColorMode = transparentColorMode;
         this.nearLossless = nearLossless;
         this.nearLosslessQuality = Numerics.Clamp(nearLosslessQuality, 0, 100);
-        this.bitWriter = new Vp8LBitWriter(initialSize);
+        this.bitWriter = new(initialSize);
         this.Bgra = memoryAllocator.Allocate<uint>(pixelCount);
         this.EncodedData = memoryAllocator.Allocate<uint>(pixelCount);
         this.Palette = memoryAllocator.Allocate<uint>(WebpConstants.MaxPaletteSize);
         this.Refs = new Vp8LBackwardRefs[3];
-        this.HashChain = new Vp8LHashChain(memoryAllocator, pixelCount);
+        this.HashChain = new(memoryAllocator, pixelCount);
 
         // We round the block size up, so we're guaranteed to have at most MaxRefsBlockPerImage blocks used:
         int refsBlockSize = ((pixelCount - 1) / MaxRefsBlockPerImage) + 1;
         for (int i = 0; i < this.Refs.Length; i++)
         {
-            this.Refs[i] = new Vp8LBackwardRefs(pixelCount)
+            this.Refs[i] = new(pixelCount)
             {
                 BlockSize = refsBlockSize < MinBlockSize ? MinBlockSize : refsBlockSize
             };
@@ -562,14 +562,14 @@ private CrunchConfig[] EncoderAnalyze(ReadOnlySpan<uint> bgra, int width, int he
                 // We can only apply kPalette or kPaletteAndSpatial if we can indeed use a palette.
                 if ((entropyIx != EntropyIx.Palette && entropyIx != EntropyIx.PaletteAndSpatial) || usePalette)
                 {
-                    crunchConfigs.Add(new CrunchConfig { EntropyIdx = entropyIx });
+                    crunchConfigs.Add(new() { EntropyIdx = entropyIx });
                 }
             }
         }
         else
         {
             // Only choose the guessed best transform.
-            crunchConfigs.Add(new CrunchConfig { EntropyIdx = entropyIdx });
+            crunchConfigs.Add(new() { EntropyIdx = entropyIdx });
             if (this.quality >= 75 && this.method == WebpEncodingMethod.Level5)
             {
                 // Test with and without color cache.
@@ -578,7 +578,7 @@ private CrunchConfig[] EncoderAnalyze(ReadOnlySpan<uint> bgra, int width, int he
                 // If we have a palette, also check in combination with spatial.
                 if (entropyIdx == EntropyIx.Palette)
                 {
-                    crunchConfigs.Add(new CrunchConfig { EntropyIdx = EntropyIx.PaletteAndSpatial });
+                    crunchConfigs.Add(new() { EntropyIdx = EntropyIx.PaletteAndSpatial });
                 }
             }
         }
@@ -588,7 +588,7 @@ private CrunchConfig[] EncoderAnalyze(ReadOnlySpan<uint> bgra, int width, int he
         {
             for (int j = 0; j < nlz77s; j++)
             {
-                crunchConfig.SubConfigs.Add(new CrunchSubConfig
+                crunchConfig.SubConfigs.Add(new()
                 {
                     Lz77 = j == 0 ? (int)Vp8LLz77Type.Lz77Standard | (int)Vp8LLz77Type.Lz77Rle : (int)Vp8LLz77Type.Lz77Box,
                     DoNotCache = doNotCache
@@ -725,7 +725,7 @@ private void EncodeImage(int width, int height, bool useCache, CrunchConfig conf
             HuffmanTreeToken[] tokens = new HuffmanTreeToken[maxTokens];
             for (int i = 0; i < tokens.Length; i++)
             {
-                tokens[i] = new HuffmanTreeToken();
+                tokens[i] = new();
             }
 
             for (int i = 0; i < 5 * histogramImageSize; i++)
@@ -871,7 +871,7 @@ private void EncodeImageNoHuffman(Span<uint> bgra, Vp8LHashChain hashChain, Vp8L
         HuffmanTreeToken[] tokens = new HuffmanTreeToken[maxTokens];
         for (int i = 0; i < tokens.Length; i++)
         {
-            tokens[i] = new HuffmanTreeToken();
+            tokens[i] = new();
         }
 
         // Store Huffman codes.
diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LHistogram.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LHistogram.cs
index f473977908..758eb3b1cb 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LHistogram.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LHistogram.cs
@@ -613,7 +613,7 @@ public static OwnedVp8LHistogram Create(MemoryAllocator memoryAllocator, int pal
     {
         IMemoryOwner<uint> bufferOwner = memoryAllocator.Allocate<uint>(BufferSize, AllocationOptions.Clean);
         MemoryHandle bufferHandle = bufferOwner.Memory.Pin();
-        return new OwnedVp8LHistogram(bufferOwner, ref bufferHandle, (uint*)bufferHandle.Pointer, paletteCodeBits);
+        return new(bufferOwner, ref bufferHandle, (uint*)bufferHandle.Pointer, paletteCodeBits);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LHistogramSet.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LHistogramSet.cs
index a46838ee67..68b52f22bf 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LHistogramSet.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LHistogramSet.cs
@@ -25,7 +25,7 @@ public Vp8LHistogramSet(MemoryAllocator memoryAllocator, int capacity, int cache
         unsafe
         {
             uint* basePointer = (uint*)this.bufferHandle.Pointer;
-            this.items = new List<Vp8LHistogram>(capacity);
+            this.items = new(capacity);
             for (int i = 0; i < capacity; i++)
             {
                 this.items.Add(new MemberVp8LHistogram(basePointer + (Vp8LHistogram.BufferSize * i), cacheBits));
@@ -41,7 +41,7 @@ public Vp8LHistogramSet(MemoryAllocator memoryAllocator, Vp8LBackwardRefs refs,
         unsafe
         {
             uint* basePointer = (uint*)this.bufferHandle.Pointer;
-            this.items = new List<Vp8LHistogram>(capacity);
+            this.items = new(capacity);
             for (int i = 0; i < capacity; i++)
             {
                 this.items.Add(new MemberVp8LHistogram(basePointer + (Vp8LHistogram.BufferSize * i), refs, cacheBits));
diff --git a/src/ImageSharp/Formats/Webp/Lossless/WebpLosslessDecoder.cs b/src/ImageSharp/Formats/Webp/Lossless/WebpLosslessDecoder.cs
index 6de3ae7497..af26616ccb 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/WebpLosslessDecoder.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/WebpLosslessDecoder.cs
@@ -108,7 +108,7 @@ public IMemoryOwner<uint> DecodeImageStream(Vp8LDecoder decoder, int xSize, int
         int numberOfTransformsPresent = 0;
         if (isLevel0)
         {
-            decoder.Transforms = new List<Vp8LTransform>(WebpConstants.MaxNumberOfTransforms);
+            decoder.Transforms = new(WebpConstants.MaxNumberOfTransforms);
 
             // Next bit indicates, if a transformation is present.
             while (this.bitReader.ReadBit())
@@ -129,7 +129,7 @@ public IMemoryOwner<uint> DecodeImageStream(Vp8LDecoder decoder, int xSize, int
         }
         else
         {
-            decoder.Metadata = new Vp8LMetadata();
+            decoder.Metadata = new();
         }
 
         // Color cache.
@@ -156,7 +156,7 @@ public IMemoryOwner<uint> DecodeImageStream(Vp8LDecoder decoder, int xSize, int
         // Finish setting up the color-cache.
         if (isColorCachePresent)
         {
-            decoder.Metadata.ColorCache = new ColorCache(colorCacheBits);
+            decoder.Metadata.ColorCache = new(colorCacheBits);
             colorCacheSize = 1 << colorCacheBits;
             decoder.Metadata.ColorCacheSize = colorCacheSize;
         }
@@ -416,7 +416,7 @@ private void ReadHuffmanCodes(Vp8LDecoder decoder, int xSize, int ySize, int col
         int[] codeLengths = new int[maxAlphabetSize];
         for (int i = 0; i < numHTreeGroupsMax; i++)
         {
-            hTreeGroups[i] = new HTreeGroup(HuffmanUtils.HuffmanPackedTableSize);
+            hTreeGroups[i] = new(HuffmanUtils.HuffmanPackedTableSize);
             HTreeGroup hTreeGroup = hTreeGroups[i];
             int totalSize = 0;
             bool isTrivialLiteral = true;
diff --git a/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs b/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
index 915ea48c2a..620e5aeb49 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
@@ -36,8 +36,8 @@ public static void PickBestIntra16(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Se
         int tlambda = dqm.TLambda;
         Span<byte> src = it.YuvIn.AsSpan(Vp8EncIterator.YOffEnc);
         Span<int> scratch = it.Scratch3;
-        Vp8ModeScore? rdTmp = new Vp8ModeScore();
-        Vp8Residual? res = new Vp8Residual();
+        Vp8ModeScore? rdTmp = new();
+        Vp8Residual? res = new();
         Vp8ModeScore rdCur = rdTmp;
         Vp8ModeScore rdBest = rd;
         int mode;
@@ -107,7 +107,7 @@ public static bool PickBestIntra4(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Seg
         Span<byte> bestBlocks = it.YuvOut2.AsSpan(Vp8EncIterator.YOffEnc);
         Span<int> scratch = it.Scratch3;
         int totalHeaderBits = 0;
-        Vp8ModeScore? rdBest = new Vp8ModeScore();
+        Vp8ModeScore? rdBest = new();
 
         if (maxI4HeaderBits == 0)
         {
@@ -118,9 +118,9 @@ public static bool PickBestIntra4(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Seg
         rdBest.H = 211;  // '211' is the value of VP8BitCost(0, 145)
         rdBest.SetRdScore(dqm.LambdaMode);
         it.StartI4();
-        Vp8ModeScore? rdi4 = new Vp8ModeScore();
-        Vp8ModeScore? rdTmp = new Vp8ModeScore();
-        Vp8Residual? res = new Vp8Residual();
+        Vp8ModeScore? rdi4 = new();
+        Vp8ModeScore? rdTmp = new();
+        Vp8Residual? res = new();
         Span<short> tmpLevels = stackalloc short[16];
         do
         {
@@ -220,9 +220,9 @@ public static void PickBestUv(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Segment
         Span<byte> tmpDst = it.YuvOut2.AsSpan(Vp8EncIterator.UOffEnc);
         Span<byte> dst0 = it.YuvOut.AsSpan(Vp8EncIterator.UOffEnc);
         Span<byte> dst = dst0;
-        Vp8ModeScore? rdBest = new Vp8ModeScore();
-        Vp8ModeScore? rdUv = new Vp8ModeScore();
-        Vp8Residual? res = new Vp8Residual();
+        Vp8ModeScore? rdBest = new();
+        Vp8ModeScore? rdUv = new();
+        Vp8Residual? res = new();
         int mode;
 
         rd.ModeUv = -1;
diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8BandProbas.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8BandProbas.cs
index 90506efb81..0c25fb4e47 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/Vp8BandProbas.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8BandProbas.cs
@@ -16,7 +16,7 @@ public Vp8BandProbas()
         this.Probabilities = new Vp8ProbaArray[WebpConstants.NumCtx];
         for (int i = 0; i < WebpConstants.NumCtx; i++)
         {
-            this.Probabilities[i] = new Vp8ProbaArray();
+            this.Probabilities[i] = new();
         }
     }
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Costs.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Costs.cs
index eee22159e1..a0fe034864 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Costs.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Costs.cs
@@ -13,7 +13,7 @@ public Vp8Costs()
         this.Costs = new Vp8CostArray[WebpConstants.NumCtx];
         for (int i = 0; i < WebpConstants.NumCtx; i++)
         {
-            this.Costs[i] = new Vp8CostArray();
+            this.Costs[i] = new();
         }
     }
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Decoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Decoder.cs
index b3c5bfaf41..f45b1034eb 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Decoder.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Decoder.cs
@@ -25,7 +25,7 @@ internal class Vp8Decoder : IDisposable
     /// <param name="memoryAllocator">Used for allocating memory for the pixel data output and the temporary buffers.</param>
     public Vp8Decoder(Vp8FrameHeader frameHeader, Vp8PictureHeader pictureHeader, Vp8SegmentHeader segmentHeader, Vp8Proba probabilities, MemoryAllocator memoryAllocator)
     {
-        this.FilterHeader = new Vp8FilterHeader();
+        this.FilterHeader = new();
         this.FrameHeader = frameHeader;
         this.PictureHeader = pictureHeader;
         this.SegmentHeader = segmentHeader;
@@ -41,22 +41,22 @@ public Vp8Decoder(Vp8FrameHeader frameHeader, Vp8PictureHeader pictureHeader, Vp
         this.FilterInfo = new Vp8FilterInfo[this.MbWidth];
         for (int i = 0; i < this.MbWidth; i++)
         {
-            this.MacroBlockInfo[i] = new Vp8MacroBlock();
-            this.MacroBlockData[i] = new Vp8MacroBlockData();
-            this.YuvTopSamples[i] = new Vp8TopSamples();
-            this.FilterInfo[i] = new Vp8FilterInfo();
+            this.MacroBlockInfo[i] = new();
+            this.MacroBlockData[i] = new();
+            this.YuvTopSamples[i] = new();
+            this.FilterInfo[i] = new();
         }
 
-        this.MacroBlockInfo[this.MbWidth] = new Vp8MacroBlock();
+        this.MacroBlockInfo[this.MbWidth] = new();
 
         this.DeQuantMatrices = new Vp8QuantMatrix[WebpConstants.NumMbSegments];
         this.FilterStrength = new Vp8FilterInfo[WebpConstants.NumMbSegments, 2];
         for (int i = 0; i < WebpConstants.NumMbSegments; i++)
         {
-            this.DeQuantMatrices[i] = new Vp8QuantMatrix();
+            this.DeQuantMatrices[i] = new();
             for (int j = 0; j < 2; j++)
             {
-                this.FilterStrength[i, j] = new Vp8FilterInfo();
+                this.FilterStrength[i, j] = new();
             }
         }
 
@@ -245,7 +245,7 @@ public Vp8Decoder(Vp8FrameHeader frameHeader, Vp8PictureHeader pictureHeader, Vp
 
     public Vp8MacroBlock CurrentMacroBlock => this.MacroBlockInfo[this.MbX];
 
-    public Vp8MacroBlock LeftMacroBlock => this.leftMacroBlock ??= new Vp8MacroBlock();
+    public Vp8MacroBlock LeftMacroBlock => this.leftMacroBlock ??= new();
 
     public Vp8MacroBlockData CurrentBlockData => this.MacroBlockData[this.MbX];
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs
index 52c7e9703b..46898674e1 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs
@@ -396,7 +396,7 @@ public int MbAnalyzeBestIntra16Mode()
         this.MakeLuma16Preds();
         for (mode = 0; mode < maxMode; mode++)
         {
-            Vp8Histogram histo = new Vp8Histogram();
+            Vp8Histogram histo = new();
             histo.CollectHistogram(this.YuvIn.AsSpan(YOffEnc), this.YuvP.AsSpan(Vp8Encoding.Vp8I16ModeOffsets[mode]), 0, 16);
             int alpha = histo.GetAlpha();
             if (alpha > bestAlpha)
diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8EncProba.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8EncProba.cs
index 070e705747..a6faddc04d 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/Vp8EncProba.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8EncProba.cs
@@ -29,7 +29,7 @@ public Vp8EncProba()
             this.Coeffs[i] = new Vp8BandProbas[WebpConstants.NumBands];
             for (int j = 0; j < this.Coeffs[i].Length; j++)
             {
-                this.Coeffs[i][j] = new Vp8BandProbas();
+                this.Coeffs[i][j] = new();
             }
         }
 
@@ -39,7 +39,7 @@ public Vp8EncProba()
             this.Stats[i] = new Vp8Stats[WebpConstants.NumBands];
             for (int j = 0; j < this.Stats[i].Length; j++)
             {
-                this.Stats[i][j] = new Vp8Stats();
+                this.Stats[i][j] = new();
             }
         }
 
@@ -49,7 +49,7 @@ public Vp8EncProba()
             this.LevelCost[i] = new Vp8Costs[WebpConstants.NumBands];
             for (int j = 0; j < this.LevelCost[i].Length; j++)
             {
-                this.LevelCost[i][j] = new Vp8Costs();
+                this.LevelCost[i][j] = new();
             }
         }
 
@@ -59,7 +59,7 @@ public Vp8EncProba()
             this.RemappedCosts[i] = new Vp8Costs[16];
             for (int j = 0; j < this.RemappedCosts[i].Length; j++)
             {
-                this.RemappedCosts[i][j] = new Vp8Costs();
+                this.RemappedCosts[i][j] = new();
             }
         }
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs
index e4ebe14731..608c5391b3 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs
@@ -172,19 +172,19 @@ public Vp8Encoder(
         this.MbInfo = new Vp8MacroBlockInfo[this.Mbw * this.Mbh];
         for (int i = 0; i < this.MbInfo.Length; i++)
         {
-            this.MbInfo[i] = new Vp8MacroBlockInfo();
+            this.MbInfo[i] = new();
         }
 
         this.SegmentInfos = new Vp8SegmentInfo[4];
         for (int i = 0; i < 4; i++)
         {
-            this.SegmentInfos[i] = new Vp8SegmentInfo();
+            this.SegmentInfos[i] = new();
         }
 
-        this.FilterHeader = new Vp8FilterHeader();
+        this.FilterHeader = new();
         int predSize = (((4 * this.Mbw) + 1) * ((4 * this.Mbh) + 1)) + this.PredsWidth + 1;
         this.PredsWidth = (4 * this.Mbw) + 1;
-        this.Proba = new Vp8EncProba();
+        this.Proba = new();
         this.Preds = new byte[predSize + this.PredsWidth + this.Mbw];
 
         // Initialize with default values, which the reference c implementation uses,
@@ -424,14 +424,14 @@ private bool Encode<TPixel>(
         this.uvAlpha /= totalMb;
 
         // Analysis is done, proceed to actual encoding.
-        this.SegmentHeader = new Vp8EncSegmentHeader(4);
+        this.SegmentHeader = new(4);
         this.AssignSegments(alphas);
         this.SetLoopParams(this.quality);
 
         // Initialize the bitwriter.
         int averageBytesPerMacroBlock = AverageBytesPerMb[this.BaseQuant >> 4];
         int expectedSize = this.Mbw * this.Mbh * averageBytesPerMacroBlock;
-        this.bitWriter = new Vp8BitWriter(expectedSize, this);
+        this.bitWriter = new(expectedSize, this);
 
         // Stats-collection loop.
         this.StatLoop(width, height, yStride, uvStride);
diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Proba.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Proba.cs
index 0da6dfcad4..de03f3c93c 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Proba.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Proba.cs
@@ -23,7 +23,7 @@ public Vp8Proba()
         {
             for (int j = 0; j < WebpConstants.NumBands; j++)
             {
-                this.Bands[i, j] = new Vp8BandProbas();
+                this.Bands[i, j] = new();
             }
         }
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Stats.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Stats.cs
index dda921a7c7..bd335f2985 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Stats.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Stats.cs
@@ -13,7 +13,7 @@ public Vp8Stats()
         this.Stats = new Vp8StatsArray[WebpConstants.NumCtx];
         for (int i = 0; i < WebpConstants.NumCtx; i++)
         {
-            this.Stats[i] = new Vp8StatsArray();
+            this.Stats[i] = new();
         }
     }
 
diff --git a/src/ImageSharp/Formats/Webp/Lossy/WebpLossyDecoder.cs b/src/ImageSharp/Formats/Webp/Lossy/WebpLossyDecoder.cs
index 65d5b65e88..bd87b385c6 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/WebpLossyDecoder.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/WebpLossyDecoder.cs
@@ -1173,13 +1173,13 @@ private void ParsePartitions(Vp8Decoder dec)
                 pSize = sizeLeft;
             }
 
-            dec.Vp8BitReaders[p] = new Vp8BitReader(this.bitReader.Data, (uint)pSize, partStart);
+            dec.Vp8BitReaders[p] = new(this.bitReader.Data, (uint)pSize, partStart);
             partStart += pSize;
             sizeLeft -= pSize;
             sz = sz[3..];
         }
 
-        dec.Vp8BitReaders[lastPart] = new Vp8BitReader(this.bitReader.Data, (uint)sizeLeft, partStart);
+        dec.Vp8BitReaders[lastPart] = new(this.bitReader.Data, (uint)sizeLeft, partStart);
     }
 
     private void ParseDequantizationIndices(Vp8Decoder decoder)
diff --git a/src/ImageSharp/Formats/Webp/WebpAnimationDecoder.cs b/src/ImageSharp/Formats/Webp/WebpAnimationDecoder.cs
index b74337ef37..0b69248c5e 100644
--- a/src/ImageSharp/Formats/Webp/WebpAnimationDecoder.cs
+++ b/src/ImageSharp/Formats/Webp/WebpAnimationDecoder.cs
@@ -87,7 +87,7 @@ public Image<TPixel> Decode<TPixel>(BufferedReadStream stream, WebpFeatures feat
         Image<TPixel>? image = null;
         ImageFrame<TPixel>? previousFrame = null;
 
-        this.metadata = new ImageMetadata();
+        this.metadata = new();
         this.webpMetadata = this.metadata.GetWebpMetadata();
         this.webpMetadata.RepeatCount = features.AnimationLoopCount;
 
@@ -178,7 +178,7 @@ private uint ReadFrame<TPixel>(BufferedReadStream stream, ref Image<TPixel>? ima
         ImageFrame<TPixel> imageFrame;
         if (previousFrame is null)
         {
-            image = new Image<TPixel>(this.configuration, (int)width, (int)height, backgroundColor.ToPixel<TPixel>(), this.metadata);
+            image = new(this.configuration, (int)width, (int)height, backgroundColor.ToPixel<TPixel>(), this.metadata);
 
             SetFrameMetadata(image.Frames.RootFrame.Metadata, frameData);
 
diff --git a/src/ImageSharp/Formats/Webp/WebpChunkParsingUtils.cs b/src/ImageSharp/Formats/Webp/WebpChunkParsingUtils.cs
index 4ccaf65031..a4e88e2271 100644
--- a/src/ImageSharp/Formats/Webp/WebpChunkParsingUtils.cs
+++ b/src/ImageSharp/Formats/Webp/WebpChunkParsingUtils.cs
@@ -358,7 +358,7 @@ public static void ParseOptionalChunks(BufferedReadStream stream, WebpChunkType
 
                     if (metadata.ExifProfile != null)
                     {
-                        metadata.ExifProfile = new ExifProfile(exifData);
+                        metadata.ExifProfile = new(exifData);
                     }
 
                     break;
@@ -372,7 +372,7 @@ public static void ParseOptionalChunks(BufferedReadStream stream, WebpChunkType
 
                     if (metadata.XmpProfile != null)
                     {
-                        metadata.XmpProfile = new XmpProfile(xmpData);
+                        metadata.XmpProfile = new(xmpData);
                     }
 
                     break;
diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs
index 9ca6e2bee3..5f6f5beca6 100644
--- a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs
+++ b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs
@@ -93,7 +93,7 @@ protected override Image<TPixel> Decode<TPixel>(BufferedReadStream stream, Cance
                     return animationDecoder.Decode<TPixel>(stream, this.webImageInfo.Features, this.webImageInfo.Width, this.webImageInfo.Height, fileSize);
                 }
 
-                image = new Image<TPixel>(this.configuration, (int)this.webImageInfo.Width, (int)this.webImageInfo.Height, metadata);
+                image = new(this.configuration, (int)this.webImageInfo.Width, (int)this.webImageInfo.Height, metadata);
                 Buffer2D<TPixel> pixels = image.GetRootFramePixelBuffer();
                 if (this.webImageInfo.IsLossless)
                 {
@@ -136,8 +136,8 @@ protected override ImageInfo Identify(BufferedReadStream stream, CancellationTok
         ImageMetadata metadata = new();
         using (this.webImageInfo = this.ReadVp8Info(stream, metadata, true))
         {
-            return new ImageInfo(
-                new Size((int)this.webImageInfo.Width, (int)this.webImageInfo.Height),
+            return new(
+                new((int)this.webImageInfo.Width, (int)this.webImageInfo.Height),
                 metadata);
         }
     }
@@ -229,7 +229,7 @@ private WebpImageInfo ReadVp8Info(BufferedReadStream stream, ImageMetadata metad
             default:
                 WebpThrowHelper.ThrowImageFormatException("Unrecognized VP8 header");
                 return
-                    new WebpImageInfo(); // this return will never be reached, because throw helper will throw an exception.
+                    new(); // this return will never be reached, because throw helper will throw an exception.
         }
     }
 
@@ -389,7 +389,7 @@ private void ReadXmpProfile(BufferedReadStream stream, ImageMetadata metadata, S
                 return;
             }
 
-            metadata.XmpProfile = new XmpProfile(xmpData);
+            metadata.XmpProfile = new(xmpData);
         }
     }
 
diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderOptions.cs b/src/ImageSharp/Formats/Webp/WebpDecoderOptions.cs
index 8840805b1f..6fb15acbb4 100644
--- a/src/ImageSharp/Formats/Webp/WebpDecoderOptions.cs
+++ b/src/ImageSharp/Formats/Webp/WebpDecoderOptions.cs
@@ -9,7 +9,7 @@ namespace SixLabors.ImageSharp.Formats.Webp;
 public sealed class WebpDecoderOptions : ISpecializedDecoderOptions
 {
     /// <inheritdoc/>
-    public DecoderOptions GeneralOptions { get; init; } = new DecoderOptions();
+    public DecoderOptions GeneralOptions { get; init; } = new();
 
     /// <summary>
     /// Gets the flag to decide how to handle the background color Animation Chunk.
diff --git a/src/ImageSharp/Formats/Webp/WebpFormat.cs b/src/ImageSharp/Formats/Webp/WebpFormat.cs
index 1764182c51..9853ce7d79 100644
--- a/src/ImageSharp/Formats/Webp/WebpFormat.cs
+++ b/src/ImageSharp/Formats/Webp/WebpFormat.cs
@@ -15,7 +15,7 @@ private WebpFormat()
     /// <summary>
     /// Gets the shared instance.
     /// </summary>
-    public static WebpFormat Instance { get; } = new WebpFormat();
+    public static WebpFormat Instance { get; } = new();
 
     /// <inheritdoc/>
     public string Name => "WEBP";
@@ -30,8 +30,8 @@ private WebpFormat()
     public IEnumerable<string> FileExtensions => WebpConstants.FileExtensions;
 
     /// <inheritdoc/>
-    public WebpMetadata CreateDefaultFormatMetadata() => new WebpMetadata();
+    public WebpMetadata CreateDefaultFormatMetadata() => new();
 
     /// <inheritdoc/>
-    public WebpFrameMetadata CreateDefaultFormatFrameMetadata() => new WebpFrameMetadata();
+    public WebpFrameMetadata CreateDefaultFormatFrameMetadata() => new();
 }
diff --git a/src/ImageSharp/Formats/Webp/WebpMetadata.cs b/src/ImageSharp/Formats/Webp/WebpMetadata.cs
index db57bd8f27..817addac5b 100644
--- a/src/ImageSharp/Formats/Webp/WebpMetadata.cs
+++ b/src/ImageSharp/Formats/Webp/WebpMetadata.cs
@@ -126,7 +126,7 @@ public PixelTypeInfo GetPixelTypeInfo()
                 break;
         }
 
-        return new PixelTypeInfo(bpp)
+        return new(bpp)
         {
             AlphaRepresentation = alpha,
             ColorType = colorType,
diff --git a/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs b/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
index 361b7fabcc..2d49864386 100644
--- a/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
+++ b/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
@@ -87,7 +87,7 @@ public static GraphicsOptions GetGraphicsOptions(this Configuration configuratio
             return go;
         }
 
-        GraphicsOptions? configOptions = new GraphicsOptions();
+        GraphicsOptions? configOptions = new();
 
         // capture the fallback so the same instance will always be returned in case its mutated
         configuration.Properties[typeof(GraphicsOptions)] = configOptions;
diff --git a/src/ImageSharp/Image.Decode.cs b/src/ImageSharp/Image.Decode.cs
index d2ee0f9061..7e61e50950 100644
--- a/src/ImageSharp/Image.Decode.cs
+++ b/src/ImageSharp/Image.Decode.cs
@@ -36,7 +36,7 @@ internal static Image<TPixel> CreateUninitialized<TPixel>(
                 width,
                 height,
                 configuration.PreferContiguousImageBuffers);
-        return new Image<TPixel>(configuration, uninitializedMemoryBuffer.FastMemoryGroup, width, height, metadata);
+        return new(configuration, uninitializedMemoryBuffer.FastMemoryGroup, width, height, metadata);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Image.WrapMemory.cs b/src/ImageSharp/Image.WrapMemory.cs
index 03bec8bc6a..ab2718f6c5 100644
--- a/src/ImageSharp/Image.WrapMemory.cs
+++ b/src/ImageSharp/Image.WrapMemory.cs
@@ -53,7 +53,7 @@ public static Image<TPixel> WrapMemory<TPixel>(
         Guard.IsTrue(pixelMemory.Length >= (long)width * height, nameof(pixelMemory), "The length of the input memory is less than the specified image size");
 
         MemoryGroup<TPixel> memorySource = MemoryGroup<TPixel>.Wrap(pixelMemory);
-        return new Image<TPixel>(configuration, memorySource, width, height, metadata);
+        return new(configuration, memorySource, width, height, metadata);
     }
 
     /// <summary>
@@ -87,7 +87,7 @@ public static Image<TPixel> WrapMemory<TPixel>(
         int width,
         int height)
         where TPixel : unmanaged, IPixel<TPixel>
-        => WrapMemory(configuration, pixelMemory, width, height, new ImageMetadata());
+        => WrapMemory(configuration, pixelMemory, width, height, new());
 
     /// <summary>
     /// <para>
@@ -148,7 +148,7 @@ public static Image<TPixel> WrapMemory<TPixel>(
         Guard.IsTrue(pixelMemoryOwner.Memory.Length >= (long)width * height, nameof(pixelMemoryOwner), "The length of the input memory is less than the specified image size");
 
         MemoryGroup<TPixel> memorySource = MemoryGroup<TPixel>.Wrap(pixelMemoryOwner);
-        return new Image<TPixel>(configuration, memorySource, width, height, metadata);
+        return new(configuration, memorySource, width, height, metadata);
     }
 
     /// <summary>
@@ -171,7 +171,7 @@ public static Image<TPixel> WrapMemory<TPixel>(
         int width,
         int height)
         where TPixel : unmanaged, IPixel<TPixel>
-        => WrapMemory(configuration, pixelMemoryOwner, width, height, new ImageMetadata());
+        => WrapMemory(configuration, pixelMemoryOwner, width, height, new());
 
     /// <summary>
     /// Wraps an existing contiguous memory area of at least 'width' x 'height' pixels,
@@ -235,7 +235,7 @@ public static Image<TPixel> WrapMemory<TPixel>(
         Guard.IsTrue(memoryManager.Memory.Length >= (long)width * height, nameof(byteMemory), "The length of the input memory is less than the specified image size");
 
         MemoryGroup<TPixel> memorySource = MemoryGroup<TPixel>.Wrap(memoryManager.Memory);
-        return new Image<TPixel>(configuration, memorySource, width, height, metadata);
+        return new(configuration, memorySource, width, height, metadata);
     }
 
     /// <summary>
@@ -269,7 +269,7 @@ public static Image<TPixel> WrapMemory<TPixel>(
         int width,
         int height)
         where TPixel : unmanaged, IPixel<TPixel>
-        => WrapMemory<TPixel>(configuration, byteMemory, width, height, new ImageMetadata());
+        => WrapMemory<TPixel>(configuration, byteMemory, width, height, new());
 
     /// <summary>
     /// <para>
@@ -333,7 +333,7 @@ public static Image<TPixel> WrapMemory<TPixel>(
         Guard.IsTrue(pixelMemoryOwner.Memory.Length >= (long)width * height, nameof(pixelMemoryOwner), "The length of the input memory is less than the specified image size");
 
         MemoryGroup<TPixel> memorySource = MemoryGroup<TPixel>.Wrap(pixelMemoryOwner);
-        return new Image<TPixel>(configuration, memorySource, width, height, metadata);
+        return new(configuration, memorySource, width, height, metadata);
     }
 
     /// <summary>
@@ -356,7 +356,7 @@ public static Image<TPixel> WrapMemory<TPixel>(
         int width,
         int height)
         where TPixel : unmanaged, IPixel<TPixel>
-        => WrapMemory<TPixel>(configuration, byteMemoryOwner, width, height, new ImageMetadata());
+        => WrapMemory<TPixel>(configuration, byteMemoryOwner, width, height, new());
 
     /// <summary>
     /// Wraps an existing contiguous memory area of at least 'width' x 'height' pixels,
@@ -429,7 +429,7 @@ public static unsafe Image<TPixel> WrapMemory<TPixel>(
         Guard.MustBeGreaterThanOrEqualTo(bufferSizeInBytes / sizeof(TPixel), memoryManager.Memory.Span.Length, nameof(bufferSizeInBytes));
 
         MemoryGroup<TPixel> memorySource = MemoryGroup<TPixel>.Wrap(memoryManager.Memory);
-        return new Image<TPixel>(configuration, memorySource, width, height, metadata);
+        return new(configuration, memorySource, width, height, metadata);
     }
 
     /// <summary>
@@ -470,7 +470,7 @@ public static unsafe Image<TPixel> WrapMemory<TPixel>(
         int width,
         int height)
         where TPixel : unmanaged, IPixel<TPixel>
-        => WrapMemory<TPixel>(configuration, pointer, bufferSizeInBytes, width, height, new ImageMetadata());
+        => WrapMemory<TPixel>(configuration, pointer, bufferSizeInBytes, width, height, new());
 
     /// <summary>
     /// <para>
diff --git a/src/ImageSharp/Image.cs b/src/ImageSharp/Image.cs
index 07b40a41a1..693b58db64 100644
--- a/src/ImageSharp/Image.cs
+++ b/src/ImageSharp/Image.cs
@@ -47,7 +47,7 @@ internal Image(
         ImageMetadata metadata,
         int width,
         int height)
-        : this(configuration, pixelType, metadata, new Size(width, height))
+        : this(configuration, pixelType, metadata, new(width, height))
     {
     }
 
diff --git a/src/ImageSharp/ImageFrame.LoadPixelData.cs b/src/ImageSharp/ImageFrame.LoadPixelData.cs
index b08d270615..e423523903 100644
--- a/src/ImageSharp/ImageFrame.LoadPixelData.cs
+++ b/src/ImageSharp/ImageFrame.LoadPixelData.cs
@@ -40,7 +40,7 @@ internal static ImageFrame<TPixel> LoadPixelData<TPixel>(Configuration configura
         int count = width * height;
         Guard.MustBeGreaterThanOrEqualTo(data.Length, count, nameof(data));
 
-        ImageFrame<TPixel>? image = new ImageFrame<TPixel>(configuration, width, height);
+        ImageFrame<TPixel>? image = new(configuration, width, height);
 
         data = data[..count];
         data.CopyTo(image.PixelBuffer.FastMemoryGroup);
diff --git a/src/ImageSharp/ImageFrameCollection{TPixel}.cs b/src/ImageSharp/ImageFrameCollection{TPixel}.cs
index ad7d719744..da76aa4ab1 100644
--- a/src/ImageSharp/ImageFrameCollection{TPixel}.cs
+++ b/src/ImageSharp/ImageFrameCollection{TPixel}.cs
@@ -23,7 +23,7 @@ internal ImageFrameCollection(Image<TPixel> parent, int width, int height, TPixe
         this.parent = parent ?? throw new ArgumentNullException(nameof(parent));
 
         // Frames are already cloned within the caller
-        this.frames.Add(new ImageFrame<TPixel>(parent.Configuration, width, height, backgroundColor));
+        this.frames.Add(new(parent.Configuration, width, height, backgroundColor));
     }
 
     internal ImageFrameCollection(Image<TPixel> parent, int width, int height, MemoryGroup<TPixel> memorySource)
@@ -31,7 +31,7 @@ internal ImageFrameCollection(Image<TPixel> parent, int width, int height, Memor
         this.parent = parent ?? throw new ArgumentNullException(nameof(parent));
 
         // Frames are already cloned within the caller
-        this.frames.Add(new ImageFrame<TPixel>(parent.Configuration, width, height, memorySource));
+        this.frames.Add(new(parent.Configuration, width, height, memorySource));
     }
 
     internal ImageFrameCollection(Image<TPixel> parent, IEnumerable<ImageFrame<TPixel>> frames)
@@ -269,7 +269,7 @@ public override void MoveFrame(int sourceIndex, int destinationIndex)
 
         this.frames.Remove(frame);
 
-        return new Image<TPixel>(this.parent.Configuration, this.parent.Metadata.DeepClone(), new[] { frame });
+        return new(this.parent.Configuration, this.parent.Metadata.DeepClone(), new[] { frame });
     }
 
     /// <summary>
@@ -284,7 +284,7 @@ public override void MoveFrame(int sourceIndex, int destinationIndex)
 
         ImageFrame<TPixel> frame = this[index];
         ImageFrame<TPixel> clonedFrame = frame.Clone();
-        return new Image<TPixel>(this.parent.Configuration, this.parent.Metadata.DeepClone(), new[] { clonedFrame });
+        return new(this.parent.Configuration, this.parent.Metadata.DeepClone(), new[] { clonedFrame });
     }
 
     /// <summary>
diff --git a/src/ImageSharp/ImageFrame{TPixel}.cs b/src/ImageSharp/ImageFrame{TPixel}.cs
index de71e77ca0..ce673ba400 100644
--- a/src/ImageSharp/ImageFrame{TPixel}.cs
+++ b/src/ImageSharp/ImageFrame{TPixel}.cs
@@ -81,7 +81,7 @@ internal ImageFrame(Configuration configuration, int width, int height, ImageFra
     /// <param name="height">The height of the image in pixels.</param>
     /// <param name="backgroundColor">The color to clear the image with.</param>
     internal ImageFrame(Configuration configuration, int width, int height, TPixel backgroundColor)
-        : this(configuration, width, height, backgroundColor, new ImageFrameMetadata())
+        : this(configuration, width, height, backgroundColor, new())
     {
     }
 
@@ -114,7 +114,7 @@ internal ImageFrame(Configuration configuration, int width, int height, TPixel b
     /// <param name="height">The height of the image in pixels.</param>
     /// <param name="memorySource">The memory source.</param>
     internal ImageFrame(Configuration configuration, int width, int height, MemoryGroup<TPixel> memorySource)
-        : this(configuration, width, height, memorySource, new ImageFrameMetadata())
+        : this(configuration, width, height, memorySource, new())
     {
     }
 
@@ -132,7 +132,7 @@ internal ImageFrame(Configuration configuration, int width, int height, MemoryGr
         Guard.MustBeGreaterThan(width, 0, nameof(width));
         Guard.MustBeGreaterThan(height, 0, nameof(height));
 
-        this.PixelBuffer = new Buffer2D<TPixel>(memorySource, width, height);
+        this.PixelBuffer = new(memorySource, width, height);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Image{TPixel}.cs b/src/ImageSharp/Image{TPixel}.cs
index 7ec7918381..543d6ab43d 100644
--- a/src/ImageSharp/Image{TPixel}.cs
+++ b/src/ImageSharp/Image{TPixel}.cs
@@ -41,7 +41,7 @@ public Image(Configuration configuration, int width, int height)
     /// <param name="height">The height of the image in pixels.</param>
     /// <param name="backgroundColor">The color to initialize the pixels with.</param>
     public Image(Configuration configuration, int width, int height, TPixel backgroundColor)
-        : this(configuration, width, height, backgroundColor, new ImageMetadata())
+        : this(configuration, width, height, backgroundColor, new())
     {
     }
 
@@ -53,7 +53,7 @@ public Image(Configuration configuration, int width, int height, TPixel backgrou
     /// <param name="height">The height of the image in pixels.</param>
     /// <param name="backgroundColor">The color to initialize the pixels with.</param>
     public Image(int width, int height, TPixel backgroundColor)
-        : this(Configuration.Default, width, height, backgroundColor, new ImageMetadata())
+        : this(Configuration.Default, width, height, backgroundColor, new())
     {
     }
 
@@ -78,7 +78,7 @@ public Image(int width, int height)
     /// <param name="metadata">The images metadata.</param>
     internal Image(Configuration configuration, int width, int height, ImageMetadata? metadata)
         : base(configuration, TPixel.GetPixelTypeInfo(), metadata ?? new(), width, height)
-        => this.frames = new ImageFrameCollection<TPixel>(this, width, height, default(TPixel));
+        => this.frames = new(this, width, height, default(TPixel));
 
     /// <summary>
     /// Initializes a new instance of the <see cref="Image{TPixel}"/> class
@@ -111,7 +111,7 @@ internal Image(
         int height,
         ImageMetadata metadata)
         : base(configuration, TPixel.GetPixelTypeInfo(), metadata, width, height)
-        => this.frames = new ImageFrameCollection<TPixel>(this, width, height, memoryGroup);
+        => this.frames = new(this, width, height, memoryGroup);
 
     /// <summary>
     /// Initializes a new instance of the <see cref="Image{TPixel}"/> class
@@ -129,7 +129,7 @@ internal Image(
         TPixel backgroundColor,
         ImageMetadata? metadata)
         : base(configuration, TPixel.GetPixelTypeInfo(), metadata ?? new(), width, height)
-        => this.frames = new ImageFrameCollection<TPixel>(this, width, height, backgroundColor);
+        => this.frames = new(this, width, height, backgroundColor);
 
     /// <summary>
     /// Initializes a new instance of the <see cref="Image{TPixel}" /> class
@@ -140,7 +140,7 @@ internal Image(
     /// <param name="frames">The frames that will be owned by this image instance.</param>
     internal Image(Configuration configuration, ImageMetadata metadata, IEnumerable<ImageFrame<TPixel>> frames)
         : base(configuration, TPixel.GetPixelTypeInfo(), metadata, ValidateFramesAndGetSize(frames))
-        => this.frames = new ImageFrameCollection<TPixel>(this, frames);
+        => this.frames = new(this, frames);
 
     /// <inheritdoc />
     protected override ImageFrameCollection NonGenericFrameCollection => this.Frames;
@@ -344,7 +344,7 @@ public Image<TPixel> Clone(Configuration configuration)
             clonedFrames[i] = this.frames[i].Clone(configuration);
         }
 
-        return new Image<TPixel>(configuration, this.Metadata.DeepClone(), clonedFrames);
+        return new(configuration, this.Metadata.DeepClone(), clonedFrames);
     }
 
     /// <summary>
@@ -363,7 +363,7 @@ public override Image<TPixel2> CloneAs<TPixel2>(Configuration configuration)
             clonedFrames[i] = this.frames[i].CloneAs<TPixel2>(configuration);
         }
 
-        return new Image<TPixel2>(configuration, this.Metadata.DeepClone(), clonedFrames);
+        return new(configuration, this.Metadata.DeepClone(), clonedFrames);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Memory/Allocators/Internals/ManagedBufferBase.cs b/src/ImageSharp/Memory/Allocators/Internals/ManagedBufferBase.cs
index a6ed797d6d..cbf64e6a16 100644
--- a/src/ImageSharp/Memory/Allocators/Internals/ManagedBufferBase.cs
+++ b/src/ImageSharp/Memory/Allocators/Internals/ManagedBufferBase.cs
@@ -27,7 +27,7 @@ public override unsafe MemoryHandle Pin(int elementIndex = 0)
         void* ptr = Unsafe.Add<T>((void*)this.pinHandle.AddrOfPinnedObject(), elementIndex);
 
         // We should only pass pinnable:this, when GCHandle lifetime is managed by the MemoryManager<T> instance.
-        return new MemoryHandle(ptr, pinnable: this);
+        return new(ptr, pinnable: this);
     }
 
     /// <inheritdoc />
diff --git a/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs b/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs
index 02bdf0f48d..364aa05afc 100644
--- a/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs
+++ b/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs
@@ -19,7 +19,7 @@ public SharedArrayPoolBuffer(int lengthInElements)
     {
         this.lengthInBytes = lengthInElements * Unsafe.SizeOf<T>();
         this.Array = ArrayPool<byte>.Shared.Rent(this.lengthInBytes);
-        this.lifetimeGuard = new LifetimeGuard(this.Array);
+        this.lifetimeGuard = new(this.Array);
     }
 
     public byte[]? Array { get; private set; }
diff --git a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
index 2a8c734059..e5b1c49ddf 100644
--- a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
+++ b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
@@ -11,7 +11,7 @@ public UnmanagedBuffer<T> CreateGuardedBuffer<T>(
         bool clear)
         where T : struct
     {
-        UnmanagedBuffer<T>? buffer = new UnmanagedBuffer<T>(lengthInElements, new ReturnToPoolBufferLifetimeGuard(this, handle));
+        UnmanagedBuffer<T>? buffer = new(lengthInElements, new ReturnToPoolBufferLifetimeGuard(this, handle));
         if (clear)
         {
             buffer.Clear();
diff --git a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.cs b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.cs
index aa8bcd3859..d7212a41f3 100644
--- a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.cs
+++ b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.cs
@@ -214,14 +214,14 @@ private static void UpdateTimer(TrimSettings settings, UniformUnmanagedMemoryPoo
     {
         lock (AllPools)
         {
-            AllPools.Add(new WeakReference<UniformUnmanagedMemoryPool>(pool));
+            AllPools.Add(new(pool));
 
             // Invoke the timer callback more frequently, than trimSettings.TrimPeriodMilliseconds.
             // We are checking in the callback if enough time passed since the last trimming. If not, we do nothing.
             int period = settings.TrimPeriodMilliseconds / 4;
             if (trimTimer == null)
             {
-                trimTimer = new Timer(_ => TimerCallback(), null, period, period);
+                trimTimer = new(_ => TimerCallback(), null, period, period);
             }
             else if (settings.TrimPeriodMilliseconds < minTrimPeriodMilliseconds)
             {
@@ -337,6 +337,6 @@ public class TrimSettings
 
         public bool Enabled => this.Rate > 0;
 
-        public static TrimSettings Default => new TrimSettings();
+        public static TrimSettings Default => new();
     }
 }
diff --git a/src/ImageSharp/Memory/Allocators/Internals/UnmanagedBuffer{T}.cs b/src/ImageSharp/Memory/Allocators/Internals/UnmanagedBuffer{T}.cs
index de09647261..5e7f386fd7 100644
--- a/src/ImageSharp/Memory/Allocators/Internals/UnmanagedBuffer{T}.cs
+++ b/src/ImageSharp/Memory/Allocators/Internals/UnmanagedBuffer{T}.cs
@@ -48,7 +48,7 @@ public override MemoryHandle Pin(int elementIndex = 0)
         this.lifetimeGuard.AddRef();
 
         void* pbData = Unsafe.Add<T>(this.Pointer, elementIndex);
-        return new MemoryHandle(pbData, pinnable: this);
+        return new(pbData, pinnable: this);
     }
 
     /// <inheritdoc />
diff --git a/src/ImageSharp/Memory/Allocators/Internals/UnmanagedMemoryHandle.cs b/src/ImageSharp/Memory/Allocators/Internals/UnmanagedMemoryHandle.cs
index 6b31cadf4f..0fc5d2dea4 100644
--- a/src/ImageSharp/Memory/Allocators/Internals/UnmanagedMemoryHandle.cs
+++ b/src/ImageSharp/Memory/Allocators/Internals/UnmanagedMemoryHandle.cs
@@ -64,7 +64,7 @@ private UnmanagedMemoryHandle(IntPtr handle, int lengthInBytes)
     public static UnmanagedMemoryHandle Allocate(int lengthInBytes)
     {
         IntPtr handle = AllocateHandle(lengthInBytes);
-        return new UnmanagedMemoryHandle(handle, lengthInBytes);
+        return new(handle, lengthInBytes);
     }
 
     private static IntPtr AllocateHandle(int lengthInBytes)
@@ -84,7 +84,7 @@ private static IntPtr AllocateHandle(int lengthInBytes)
                 counter++;
                 Interlocked.Increment(ref totalOomRetries);
 
-                Interlocked.CompareExchange(ref lowMemoryMonitor, new object(), null);
+                Interlocked.CompareExchange(ref lowMemoryMonitor, new(), null);
                 Monitor.Enter(lowMemoryMonitor);
                 Monitor.Wait(lowMemoryMonitor, millisecondsTimeout: 1);
                 Monitor.Exit(lowMemoryMonitor);
diff --git a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
index c61a027cdd..dd78ebfaec 100644
--- a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
+++ b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
@@ -67,7 +67,7 @@ internal UniformUnmanagedMemoryPoolMemoryAllocator(
         this.poolBufferSizeInBytes = poolBufferSizeInBytes;
         this.poolCapacity = (int)(maxPoolSizeInBytes / poolBufferSizeInBytes);
         this.trimSettings = trimSettings;
-        this.pool = new UniformUnmanagedMemoryPool(this.poolBufferSizeInBytes, this.poolCapacity, this.trimSettings);
+        this.pool = new(this.poolBufferSizeInBytes, this.poolCapacity, this.trimSettings);
         this.nonPoolAllocator = new UnmanagedMemoryAllocator(unmanagedBufferSizeInBytes);
     }
 
diff --git a/src/ImageSharp/Memory/Buffer2DExtensions.cs b/src/ImageSharp/Memory/Buffer2DExtensions.cs
index f0fa1438dd..b8ac5a5846 100644
--- a/src/ImageSharp/Memory/Buffer2DExtensions.cs
+++ b/src/ImageSharp/Memory/Buffer2DExtensions.cs
@@ -126,7 +126,7 @@ internal static Buffer2DRegion<T> GetRegion<T>(this Buffer2D<T> buffer, Rectangl
 
     internal static Buffer2DRegion<T> GetRegion<T>(this Buffer2D<T> buffer, int x, int y, int width, int height)
         where T : unmanaged =>
-        new(buffer, new Rectangle(x, y, width, height));
+        new(buffer, new(x, y, width, height));
 
     /// <summary>
     /// Return a <see cref="Buffer2DRegion{T}"/> to the whole area of 'buffer'
diff --git a/src/ImageSharp/Memory/Buffer2DRegion{T}.cs b/src/ImageSharp/Memory/Buffer2DRegion{T}.cs
index f4b257b587..35cd48cfee 100644
--- a/src/ImageSharp/Memory/Buffer2DRegion{T}.cs
+++ b/src/ImageSharp/Memory/Buffer2DRegion{T}.cs
@@ -124,7 +124,7 @@ public Buffer2DRegion<T> GetSubRegion(Rectangle rectangle)
 
         int x = this.Rectangle.X + rectangle.X;
         int y = this.Rectangle.Y + rectangle.Y;
-        rectangle = new Rectangle(x, y, rectangle.Width, rectangle.Height);
+        rectangle = new(x, y, rectangle.Width, rectangle.Height);
         return new Buffer2DRegion<T>(this.Buffer, rectangle);
     }
 
diff --git a/src/ImageSharp/Memory/ByteMemoryOwner{T}.cs b/src/ImageSharp/Memory/ByteMemoryOwner{T}.cs
index bc71751412..91525e5ade 100644
--- a/src/ImageSharp/Memory/ByteMemoryOwner{T}.cs
+++ b/src/ImageSharp/Memory/ByteMemoryOwner{T}.cs
@@ -24,7 +24,7 @@ internal sealed class ByteMemoryOwner<T> : IMemoryOwner<T>
     public ByteMemoryOwner(IMemoryOwner<byte> memoryOwner)
     {
         this.memoryOwner = memoryOwner;
-        this.memoryManager = new ByteMemoryManager<T>(memoryOwner.Memory);
+        this.memoryManager = new(memoryOwner.Memory);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupExtensions.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupExtensions.cs
index d2e4d00fb0..148b5f6bfb 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupExtensions.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupExtensions.cs
@@ -77,7 +77,7 @@ internal static void CopyTo<T>(this IMemoryGroup<T> source, Span<T> target)
         Guard.NotNull(source, nameof(source));
         Guard.MustBeGreaterThanOrEqualTo(target.Length, source.TotalLength, nameof(target));
 
-        MemoryGroupCursor<T> cur = new MemoryGroupCursor<T>(source);
+        MemoryGroupCursor<T> cur = new(source);
         long position = 0;
         while (position < source.TotalLength)
         {
@@ -100,7 +100,7 @@ internal static void CopyTo<T>(this ReadOnlySpan<T> source, IMemoryGroup<T> targ
         Guard.NotNull(target, nameof(target));
         Guard.MustBeGreaterThanOrEqualTo(target.TotalLength, source.Length, nameof(target));
 
-        MemoryGroupCursor<T> cur = new MemoryGroupCursor<T>(target);
+        MemoryGroupCursor<T> cur = new(target);
 
         while (!source.IsEmpty)
         {
@@ -126,8 +126,8 @@ internal static void CopyTo<T>(this IMemoryGroup<T>? source, IMemoryGroup<T>? ta
         }
 
         long position = 0;
-        MemoryGroupCursor<T> srcCur = new MemoryGroupCursor<T>(source);
-        MemoryGroupCursor<T> trgCur = new MemoryGroupCursor<T>(target);
+        MemoryGroupCursor<T> srcCur = new(source);
+        MemoryGroupCursor<T> trgCur = new(target);
 
         while (position < source.TotalLength)
         {
@@ -162,8 +162,8 @@ internal static void TransformTo<TSource, TTarget>(
         }
 
         long position = 0;
-        MemoryGroupCursor<TSource> srcCur = new MemoryGroupCursor<TSource>(source);
-        MemoryGroupCursor<TTarget> trgCur = new MemoryGroupCursor<TTarget>(target);
+        MemoryGroupCursor<TSource> srcCur = new(source);
+        MemoryGroupCursor<TTarget> trgCur = new(target);
 
         while (position < source.TotalLength)
         {
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupView{T}.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupView{T}.cs
index 76371e6744..a3f45c8cfd 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupView{T}.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupView{T}.cs
@@ -31,7 +31,7 @@ public MemoryGroupView(MemoryGroup<T> owner)
 
         for (int i = 0; i < owner.Count; i++)
         {
-            this.memoryWrappers[i] = new MemoryOwnerWrapper(this, i);
+            this.memoryWrappers[i] = new(this, i);
         }
     }
 
@@ -79,7 +79,7 @@ public Memory<T> this[int index]
     [MethodImpl(InliningOptions.ShortMethod)]
     public MemoryGroupEnumerator<T> GetEnumerator()
     {
-        return new MemoryGroupEnumerator<T>(this);
+        return new(this);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Consumed.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Consumed.cs
index 950e2a019e..783ab53a54 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Consumed.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Consumed.cs
@@ -18,7 +18,7 @@ public Consumed(Memory<T>[] source, int bufferLength, long totalLength)
             : base(bufferLength, totalLength)
         {
             this.source = source;
-            this.View = new MemoryGroupView<T>(this);
+            this.View = new(this);
         }
 
         public override int Count
@@ -33,7 +33,7 @@ public override int Count
         [MethodImpl(InliningOptions.ShortMethod)]
         public override MemoryGroupEnumerator<T> GetEnumerator()
         {
-            return new MemoryGroupEnumerator<T>(this);
+            return new(this);
         }
 
         /// <inheritdoc/>
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
index 614eedeb03..7f38a5b928 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
@@ -23,7 +23,7 @@ public Owned(IMemoryOwner<T>[] memoryOwners, int bufferLength, long totalLength,
         {
             this.memoryOwners = memoryOwners;
             this.Swappable = swappable;
-            this.View = new MemoryGroupView<T>(this);
+            this.View = new(this);
             this.memoryGroupSpanCache = MemoryGroupSpanCache.Create(memoryOwners);
         }
 
@@ -124,7 +124,7 @@ public override void DecreaseRefCounts()
         public override void RecreateViewAfterSwap()
         {
             this.View.Invalidate();
-            this.View = new MemoryGroupView<T>(this);
+            this.View = new(this);
         }
 
         /// <inheritdoc/>
@@ -193,7 +193,7 @@ public static ObservedBuffer Create(
                 int lengthInElements,
                 AllocationOptions options)
             {
-                ObservedBuffer? buffer = new ObservedBuffer(handle, lengthInElements);
+                ObservedBuffer? buffer = new(handle, lengthInElements);
                 if (options.Has(AllocationOptions.Clean))
                 {
                     buffer.GetSpan().Clear();
@@ -212,7 +212,7 @@ protected override void Dispose(bool disposing)
             public override unsafe MemoryHandle Pin(int elementIndex = 0)
             {
                 void* pbData = Unsafe.Add<T>(this.handle.Pointer, elementIndex);
-                return new MemoryHandle(pbData);
+                return new(pbData);
             }
 
             public override void Unpin()
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
index 699707068c..d828c07bc6 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
@@ -260,14 +260,14 @@ public unsafe Span<T> GetRowSpanCoreUnsafe(int y, int width)
             case SpanCacheMode.SinglePointer:
             {
                 void* start = Unsafe.Add<T>(this.memoryGroupSpanCache.SinglePointer, y * width);
-                return new Span<T>(start, width);
+                return new(start, width);
             }
 
             case SpanCacheMode.MultiPointer:
             {
                 this.GetMultiBufferPosition(y, width, out int bufferIdx, out int bufferStart);
                 void* start = Unsafe.Add<T>(this.memoryGroupSpanCache.MultiPointer[bufferIdx], bufferStart);
-                return new Span<T>(start, width);
+                return new(start, width);
             }
 
             default:
diff --git a/src/ImageSharp/Memory/MemoryAllocatorExtensions.cs b/src/ImageSharp/Memory/MemoryAllocatorExtensions.cs
index ff306e1e45..55e75b2417 100644
--- a/src/ImageSharp/Memory/MemoryAllocatorExtensions.cs
+++ b/src/ImageSharp/Memory/MemoryAllocatorExtensions.cs
@@ -41,7 +41,7 @@ public static Buffer2D<T> Allocate2D<T>(
             memoryGroup = memoryAllocator.AllocateGroup<T>(groupLength, width, options);
         }
 
-        return new Buffer2D<T>(memoryGroup, width, height);
+        return new(memoryGroup, width, height);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Memory/UnmanagedMemoryManager{T}.cs b/src/ImageSharp/Memory/UnmanagedMemoryManager{T}.cs
index 7f3163af3d..df845dd7a8 100644
--- a/src/ImageSharp/Memory/UnmanagedMemoryManager{T}.cs
+++ b/src/ImageSharp/Memory/UnmanagedMemoryManager{T}.cs
@@ -42,13 +42,13 @@ protected override void Dispose(bool disposing)
     /// <inheritdoc/>
     public override Span<T> GetSpan()
     {
-        return new Span<T>(this.pointer, this.length);
+        return new(this.pointer, this.length);
     }
 
     /// <inheritdoc/>
     public override MemoryHandle Pin(int elementIndex = 0)
     {
-        return new MemoryHandle(((T*)this.pointer) + elementIndex, pinnable: this);
+        return new(((T*)this.pointer) + elementIndex, pinnable: this);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs
index e9f46731c8..3b1cac4ec0 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs
@@ -64,7 +64,7 @@ public static bool TryParse(ReadOnlySpan<byte> buffer, out EncodedString encoded
         if (TryDetect(buffer, out CharacterCode code))
         {
             string text = GetEncoding(code).GetString(buffer[CharacterCodeBytesLength..]);
-            encodedString = new EncodedString(code, text);
+            encodedString = new(code, text);
             return true;
         }
 
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs
index e91a69444d..d17579db64 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs
@@ -83,7 +83,7 @@ private ExifProfile(ExifProfile other)
 
         if (other.values != null)
         {
-            this.values = new List<IExifValue>(other.Values.Count);
+            this.values = new(other.Values.Count);
 
             foreach (IExifValue value in other.Values)
             {
@@ -349,7 +349,7 @@ private void InitializeValues()
 
         if (this.data is null)
         {
-            this.values = new List<IExifValue>();
+            this.values = new();
             return;
         }
 
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs
index a4fcd9275b..908a136df7 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs
@@ -504,10 +504,10 @@ private void Add(IList<IExifValue> values, ExifValue exif, object? value)
     }
 
     private void AddInvalidTag(ExifTag tag)
-        => (this.invalidTags ??= new List<ExifTag>()).Add(tag);
+        => (this.invalidTags ??= new()).Add(tag);
 
     private void AddSubIfd(object? val)
-        => (this.subIfds ??= new List<ulong>()).Add(Convert.ToUInt64(val, CultureInfo.InvariantCulture));
+        => (this.subIfds ??= new()).Add(Convert.ToUInt64(val, CultureInfo.InvariantCulture));
 
     private void Seek(ulong pos)
         => this.data.Seek((long)pos, SeekOrigin.Begin);
@@ -639,7 +639,7 @@ private Rational ToRational(ReadOnlySpan<byte> buffer)
         uint numerator = this.ConvertToUInt32(buffer[..4]);
         uint denominator = this.ConvertToUInt32(buffer.Slice(4, 4));
 
-        return new Rational(numerator, denominator, false);
+        return new(numerator, denominator, false);
     }
 
     private sbyte ConvertToSignedByte(ReadOnlySpan<byte> buffer) => unchecked((sbyte)buffer[0]);
@@ -666,7 +666,7 @@ private SignedRational ToSignedRational(ReadOnlySpan<byte> buffer)
         int numerator = this.ConvertToInt32(buffer[..4]);
         int denominator = this.ConvertToInt32(buffer.Slice(4, 4));
 
-        return new SignedRational(numerator, denominator, false);
+        return new(numerator, denominator, false);
     }
 
     private short ConvertToSignedShort(ReadOnlySpan<byte> buffer)
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs
index cf4a421b44..60352852e0 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs
@@ -332,7 +332,7 @@ private int WriteData(uint startIndex, List<IExifValue> values, Span<byte> desti
 
     private int WriteHeaders(List<IExifValue> values, Span<byte> destination, int offset)
     {
-        this.dataOffsets = new List<int>();
+        this.dataOffsets = new();
 
         int newOffset = WriteUInt16((ushort)values.Count, destination, offset);
 
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Byte.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Byte.cs
index 9ee2cf2f45..ff74ecd19d 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Byte.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Byte.cs
@@ -9,15 +9,15 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the FaxProfile exif tag.
     /// </summary>
-    public static ExifTag<byte> FaxProfile { get; } = new ExifTag<byte>(ExifTagValue.FaxProfile);
+    public static ExifTag<byte> FaxProfile { get; } = new(ExifTagValue.FaxProfile);
 
     /// <summary>
     /// Gets the ModeNumber exif tag.
     /// </summary>
-    public static ExifTag<byte> ModeNumber { get; } = new ExifTag<byte>(ExifTagValue.ModeNumber);
+    public static ExifTag<byte> ModeNumber { get; } = new(ExifTagValue.ModeNumber);
 
     /// <summary>
     /// Gets the GPSAltitudeRef exif tag.
     /// </summary>
-    public static ExifTag<byte> GPSAltitudeRef { get; } = new ExifTag<byte>(ExifTagValue.GPSAltitudeRef);
+    public static ExifTag<byte> GPSAltitudeRef { get; } = new(ExifTagValue.GPSAltitudeRef);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ByteArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ByteArray.cs
index 00a9056d34..64d8e14371 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ByteArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ByteArray.cs
@@ -9,40 +9,40 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the ClipPath exif tag.
     /// </summary>
-    public static ExifTag<byte[]> ClipPath => new ExifTag<byte[]>(ExifTagValue.ClipPath);
+    public static ExifTag<byte[]> ClipPath => new(ExifTagValue.ClipPath);
 
     /// <summary>
     /// Gets the VersionYear exif tag.
     /// </summary>
-    public static ExifTag<byte[]> VersionYear => new ExifTag<byte[]>(ExifTagValue.VersionYear);
+    public static ExifTag<byte[]> VersionYear => new(ExifTagValue.VersionYear);
 
     /// <summary>
     /// Gets the XMP exif tag.
     /// </summary>
-    public static ExifTag<byte[]> XMP => new ExifTag<byte[]>(ExifTagValue.XMP);
+    public static ExifTag<byte[]> XMP => new(ExifTagValue.XMP);
 
     /// <summary>
     /// Gets the IPTC exif tag.
     /// </summary>
-    public static ExifTag<byte[]> IPTC => new ExifTag<byte[]>(ExifTagValue.IPTC);
+    public static ExifTag<byte[]> IPTC => new(ExifTagValue.IPTC);
 
     /// <summary>
     /// Gets the IccProfile exif tag.
     /// </summary>
-    public static ExifTag<byte[]> IccProfile => new ExifTag<byte[]>(ExifTagValue.IccProfile);
+    public static ExifTag<byte[]> IccProfile => new(ExifTagValue.IccProfile);
 
     /// <summary>
     /// Gets the CFAPattern2 exif tag.
     /// </summary>
-    public static ExifTag<byte[]> CFAPattern2 => new ExifTag<byte[]>(ExifTagValue.CFAPattern2);
+    public static ExifTag<byte[]> CFAPattern2 => new(ExifTagValue.CFAPattern2);
 
     /// <summary>
     /// Gets the TIFFEPStandardID exif tag.
     /// </summary>
-    public static ExifTag<byte[]> TIFFEPStandardID => new ExifTag<byte[]>(ExifTagValue.TIFFEPStandardID);
+    public static ExifTag<byte[]> TIFFEPStandardID => new(ExifTagValue.TIFFEPStandardID);
 
     /// <summary>
     /// Gets the GPSVersionID exif tag.
     /// </summary>
-    public static ExifTag<byte[]> GPSVersionID => new ExifTag<byte[]>(ExifTagValue.GPSVersionID);
+    public static ExifTag<byte[]> GPSVersionID => new(ExifTagValue.GPSVersionID);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.DoubleArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.DoubleArray.cs
index 91d0c97b38..fded122613 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.DoubleArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.DoubleArray.cs
@@ -9,20 +9,20 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the PixelScale exif tag.
     /// </summary>
-    public static ExifTag<double[]> PixelScale { get; } = new ExifTag<double[]>(ExifTagValue.PixelScale);
+    public static ExifTag<double[]> PixelScale { get; } = new(ExifTagValue.PixelScale);
 
     /// <summary>
     /// Gets the IntergraphMatrix exif tag.
     /// </summary>
-    public static ExifTag<double[]> IntergraphMatrix { get; } = new ExifTag<double[]>(ExifTagValue.IntergraphMatrix);
+    public static ExifTag<double[]> IntergraphMatrix { get; } = new(ExifTagValue.IntergraphMatrix);
 
     /// <summary>
     /// Gets the ModelTiePoint exif tag.
     /// </summary>
-    public static ExifTag<double[]> ModelTiePoint { get; } = new ExifTag<double[]>(ExifTagValue.ModelTiePoint);
+    public static ExifTag<double[]> ModelTiePoint { get; } = new(ExifTagValue.ModelTiePoint);
 
     /// <summary>
     /// Gets the ModelTransform exif tag.
     /// </summary>
-    public static ExifTag<double[]> ModelTransform { get; } = new ExifTag<double[]>(ExifTagValue.ModelTransform);
+    public static ExifTag<double[]> ModelTransform { get; } = new(ExifTagValue.ModelTransform);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.EncodedString.cs
index 4b53ba6360..4cac0d0cab 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.EncodedString.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.EncodedString.cs
@@ -9,15 +9,15 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the UserComment exif tag.
     /// </summary>
-    public static ExifTag<EncodedString> UserComment { get; } = new ExifTag<EncodedString>(ExifTagValue.UserComment);
+    public static ExifTag<EncodedString> UserComment { get; } = new(ExifTagValue.UserComment);
 
     /// <summary>
     /// Gets the GPSProcessingMethod exif tag.
     /// </summary>
-    public static ExifTag<EncodedString> GPSProcessingMethod { get; } = new ExifTag<EncodedString>(ExifTagValue.GPSProcessingMethod);
+    public static ExifTag<EncodedString> GPSProcessingMethod { get; } = new(ExifTagValue.GPSProcessingMethod);
 
     /// <summary>
     /// Gets the GPSAreaInformation exif tag.
     /// </summary>
-    public static ExifTag<EncodedString> GPSAreaInformation { get; } = new ExifTag<EncodedString>(ExifTagValue.GPSAreaInformation);
+    public static ExifTag<EncodedString> GPSAreaInformation { get; } = new(ExifTagValue.GPSAreaInformation);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Long.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Long.cs
index f6c7c8ea73..5f9dfb4cde 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Long.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Long.cs
@@ -9,105 +9,105 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the SubfileType exif tag.
     /// </summary>
-    public static ExifTag<uint> SubfileType { get; } = new ExifTag<uint>(ExifTagValue.SubfileType);
+    public static ExifTag<uint> SubfileType { get; } = new(ExifTagValue.SubfileType);
 
     /// <summary>
     /// Gets the SubIFDOffset exif tag.
     /// </summary>
-    public static ExifTag<uint> SubIFDOffset { get; } = new ExifTag<uint>(ExifTagValue.SubIFDOffset);
+    public static ExifTag<uint> SubIFDOffset { get; } = new(ExifTagValue.SubIFDOffset);
 
     /// <summary>
     /// Gets the GPSIFDOffset exif tag.
     /// </summary>
-    public static ExifTag<uint> GPSIFDOffset { get; } = new ExifTag<uint>(ExifTagValue.GPSIFDOffset);
+    public static ExifTag<uint> GPSIFDOffset { get; } = new(ExifTagValue.GPSIFDOffset);
 
     /// <summary>
     /// Gets the T4Options exif tag.
     /// </summary>
-    public static ExifTag<uint> T4Options { get; } = new ExifTag<uint>(ExifTagValue.T4Options);
+    public static ExifTag<uint> T4Options { get; } = new(ExifTagValue.T4Options);
 
     /// <summary>
     /// Gets the T6Options exif tag.
     /// </summary>
-    public static ExifTag<uint> T6Options { get; } = new ExifTag<uint>(ExifTagValue.T6Options);
+    public static ExifTag<uint> T6Options { get; } = new(ExifTagValue.T6Options);
 
     /// <summary>
     /// Gets the XClipPathUnits exif tag.
     /// </summary>
-    public static ExifTag<uint> XClipPathUnits { get; } = new ExifTag<uint>(ExifTagValue.XClipPathUnits);
+    public static ExifTag<uint> XClipPathUnits { get; } = new(ExifTagValue.XClipPathUnits);
 
     /// <summary>
     /// Gets the YClipPathUnits exif tag.
     /// </summary>
-    public static ExifTag<uint> YClipPathUnits { get; } = new ExifTag<uint>(ExifTagValue.YClipPathUnits);
+    public static ExifTag<uint> YClipPathUnits { get; } = new(ExifTagValue.YClipPathUnits);
 
     /// <summary>
     /// Gets the ProfileType exif tag.
     /// </summary>
-    public static ExifTag<uint> ProfileType { get; } = new ExifTag<uint>(ExifTagValue.ProfileType);
+    public static ExifTag<uint> ProfileType { get; } = new(ExifTagValue.ProfileType);
 
     /// <summary>
     /// Gets the CodingMethods exif tag.
     /// </summary>
-    public static ExifTag<uint> CodingMethods { get; } = new ExifTag<uint>(ExifTagValue.CodingMethods);
+    public static ExifTag<uint> CodingMethods { get; } = new(ExifTagValue.CodingMethods);
 
     /// <summary>
     /// Gets the T82ptions exif tag.
     /// </summary>
-    public static ExifTag<uint> T82ptions { get; } = new ExifTag<uint>(ExifTagValue.T82ptions);
+    public static ExifTag<uint> T82ptions { get; } = new(ExifTagValue.T82ptions);
 
     /// <summary>
     /// Gets the JPEGInterchangeFormat exif tag.
     /// </summary>
-    public static ExifTag<uint> JPEGInterchangeFormat { get; } = new ExifTag<uint>(ExifTagValue.JPEGInterchangeFormat);
+    public static ExifTag<uint> JPEGInterchangeFormat { get; } = new(ExifTagValue.JPEGInterchangeFormat);
 
     /// <summary>
     /// Gets the JPEGInterchangeFormatLength exif tag.
     /// </summary>
-    public static ExifTag<uint> JPEGInterchangeFormatLength { get; } = new ExifTag<uint>(ExifTagValue.JPEGInterchangeFormatLength);
+    public static ExifTag<uint> JPEGInterchangeFormatLength { get; } = new(ExifTagValue.JPEGInterchangeFormatLength);
 
     /// <summary>
     /// Gets the MDFileTag exif tag.
     /// </summary>
-    public static ExifTag<uint> MDFileTag { get; } = new ExifTag<uint>(ExifTagValue.MDFileTag);
+    public static ExifTag<uint> MDFileTag { get; } = new(ExifTagValue.MDFileTag);
 
     /// <summary>
     /// Gets the StandardOutputSensitivity exif tag.
     /// </summary>
-    public static ExifTag<uint> StandardOutputSensitivity { get; } = new ExifTag<uint>(ExifTagValue.StandardOutputSensitivity);
+    public static ExifTag<uint> StandardOutputSensitivity { get; } = new(ExifTagValue.StandardOutputSensitivity);
 
     /// <summary>
     /// Gets the RecommendedExposureIndex exif tag.
     /// </summary>
-    public static ExifTag<uint> RecommendedExposureIndex { get; } = new ExifTag<uint>(ExifTagValue.RecommendedExposureIndex);
+    public static ExifTag<uint> RecommendedExposureIndex { get; } = new(ExifTagValue.RecommendedExposureIndex);
 
     /// <summary>
     /// Gets the ISOSpeed exif tag.
     /// </summary>
-    public static ExifTag<uint> ISOSpeed { get; } = new ExifTag<uint>(ExifTagValue.ISOSpeed);
+    public static ExifTag<uint> ISOSpeed { get; } = new(ExifTagValue.ISOSpeed);
 
     /// <summary>
     /// Gets the ISOSpeedLatitudeyyy exif tag.
     /// </summary>
-    public static ExifTag<uint> ISOSpeedLatitudeyyy { get; } = new ExifTag<uint>(ExifTagValue.ISOSpeedLatitudeyyy);
+    public static ExifTag<uint> ISOSpeedLatitudeyyy { get; } = new(ExifTagValue.ISOSpeedLatitudeyyy);
 
     /// <summary>
     /// Gets the ISOSpeedLatitudezzz exif tag.
     /// </summary>
-    public static ExifTag<uint> ISOSpeedLatitudezzz { get; } = new ExifTag<uint>(ExifTagValue.ISOSpeedLatitudezzz);
+    public static ExifTag<uint> ISOSpeedLatitudezzz { get; } = new(ExifTagValue.ISOSpeedLatitudezzz);
 
     /// <summary>
     /// Gets the FaxRecvParams exif tag.
     /// </summary>
-    public static ExifTag<uint> FaxRecvParams { get; } = new ExifTag<uint>(ExifTagValue.FaxRecvParams);
+    public static ExifTag<uint> FaxRecvParams { get; } = new(ExifTagValue.FaxRecvParams);
 
     /// <summary>
     /// Gets the FaxRecvTime exif tag.
     /// </summary>
-    public static ExifTag<uint> FaxRecvTime { get; } = new ExifTag<uint>(ExifTagValue.FaxRecvTime);
+    public static ExifTag<uint> FaxRecvTime { get; } = new(ExifTagValue.FaxRecvTime);
 
     /// <summary>
     /// Gets the ImageNumber exif tag.
     /// </summary>
-    public static ExifTag<uint> ImageNumber { get; } = new ExifTag<uint>(ExifTagValue.ImageNumber);
+    public static ExifTag<uint> ImageNumber { get; } = new(ExifTagValue.ImageNumber);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.LongArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.LongArray.cs
index 4767ca852e..e6821651ac 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.LongArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.LongArray.cs
@@ -9,55 +9,55 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the FreeOffsets exif tag.
     /// </summary>
-    public static ExifTag<uint[]> FreeOffsets { get; } = new ExifTag<uint[]>(ExifTagValue.FreeOffsets);
+    public static ExifTag<uint[]> FreeOffsets { get; } = new(ExifTagValue.FreeOffsets);
 
     /// <summary>
     /// Gets the FreeByteCounts exif tag.
     /// </summary>
-    public static ExifTag<uint[]> FreeByteCounts { get; } = new ExifTag<uint[]>(ExifTagValue.FreeByteCounts);
+    public static ExifTag<uint[]> FreeByteCounts { get; } = new(ExifTagValue.FreeByteCounts);
 
     /// <summary>
     /// Gets the ColorResponseUnit exif tag.
     /// </summary>
-    public static ExifTag<uint[]> ColorResponseUnit { get; } = new ExifTag<uint[]>(ExifTagValue.ColorResponseUnit);
+    public static ExifTag<uint[]> ColorResponseUnit { get; } = new(ExifTagValue.ColorResponseUnit);
 
     /// <summary>
     /// Gets the SMinSampleValue exif tag.
     /// </summary>
-    public static ExifTag<uint[]> SMinSampleValue { get; } = new ExifTag<uint[]>(ExifTagValue.SMinSampleValue);
+    public static ExifTag<uint[]> SMinSampleValue { get; } = new(ExifTagValue.SMinSampleValue);
 
     /// <summary>
     /// Gets the SMaxSampleValue exif tag.
     /// </summary>
-    public static ExifTag<uint[]> SMaxSampleValue { get; } = new ExifTag<uint[]>(ExifTagValue.SMaxSampleValue);
+    public static ExifTag<uint[]> SMaxSampleValue { get; } = new(ExifTagValue.SMaxSampleValue);
 
     /// <summary>
     /// Gets the JPEGQTables exif tag.
     /// </summary>
-    public static ExifTag<uint[]> JPEGQTables { get; } = new ExifTag<uint[]>(ExifTagValue.JPEGQTables);
+    public static ExifTag<uint[]> JPEGQTables { get; } = new(ExifTagValue.JPEGQTables);
 
     /// <summary>
     /// Gets the JPEGDCTables exif tag.
     /// </summary>
-    public static ExifTag<uint[]> JPEGDCTables { get; } = new ExifTag<uint[]>(ExifTagValue.JPEGDCTables);
+    public static ExifTag<uint[]> JPEGDCTables { get; } = new(ExifTagValue.JPEGDCTables);
 
     /// <summary>
     /// Gets the JPEGACTables exif tag.
     /// </summary>
-    public static ExifTag<uint[]> JPEGACTables { get; } = new ExifTag<uint[]>(ExifTagValue.JPEGACTables);
+    public static ExifTag<uint[]> JPEGACTables { get; } = new(ExifTagValue.JPEGACTables);
 
     /// <summary>
     /// Gets the StripRowCounts exif tag.
     /// </summary>
-    public static ExifTag<uint[]> StripRowCounts { get; } = new ExifTag<uint[]>(ExifTagValue.StripRowCounts);
+    public static ExifTag<uint[]> StripRowCounts { get; } = new(ExifTagValue.StripRowCounts);
 
     /// <summary>
     /// Gets the IntergraphRegisters exif tag.
     /// </summary>
-    public static ExifTag<uint[]> IntergraphRegisters { get; } = new ExifTag<uint[]>(ExifTagValue.IntergraphRegisters);
+    public static ExifTag<uint[]> IntergraphRegisters { get; } = new(ExifTagValue.IntergraphRegisters);
 
     /// <summary>
     /// Gets the offset to child IFDs exif tag.
     /// </summary>
-    public static ExifTag<uint[]> SubIFDs { get; } = new ExifTag<uint[]>(ExifTagValue.SubIFDs);
+    public static ExifTag<uint[]> SubIFDs { get; } = new(ExifTagValue.SubIFDs);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Number.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Number.cs
index 2018e4cea0..e023beeb7a 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Number.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Number.cs
@@ -9,45 +9,45 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the ImageWidth exif tag.
     /// </summary>
-    public static ExifTag<Number> ImageWidth { get; } = new ExifTag<Number>(ExifTagValue.ImageWidth);
+    public static ExifTag<Number> ImageWidth { get; } = new(ExifTagValue.ImageWidth);
 
     /// <summary>
     /// Gets the ImageLength exif tag.
     /// </summary>
-    public static ExifTag<Number> ImageLength { get; } = new ExifTag<Number>(ExifTagValue.ImageLength);
+    public static ExifTag<Number> ImageLength { get; } = new(ExifTagValue.ImageLength);
 
     /// <summary>
     /// Gets the RowsPerStrip exif tag.
     /// </summary>
-    public static ExifTag<Number> RowsPerStrip { get; } = new ExifTag<Number>(ExifTagValue.RowsPerStrip);
+    public static ExifTag<Number> RowsPerStrip { get; } = new(ExifTagValue.RowsPerStrip);
 
     /// <summary>
     /// Gets the TileWidth exif tag.
     /// </summary>
-    public static ExifTag<Number> TileWidth { get; } = new ExifTag<Number>(ExifTagValue.TileWidth);
+    public static ExifTag<Number> TileWidth { get; } = new(ExifTagValue.TileWidth);
 
     /// <summary>
     /// Gets the TileLength exif tag.
     /// </summary>
-    public static ExifTag<Number> TileLength { get; } = new ExifTag<Number>(ExifTagValue.TileLength);
+    public static ExifTag<Number> TileLength { get; } = new(ExifTagValue.TileLength);
 
     /// <summary>
     /// Gets the BadFaxLines exif tag.
     /// </summary>
-    public static ExifTag<Number> BadFaxLines { get; } = new ExifTag<Number>(ExifTagValue.BadFaxLines);
+    public static ExifTag<Number> BadFaxLines { get; } = new(ExifTagValue.BadFaxLines);
 
     /// <summary>
     /// Gets the ConsecutiveBadFaxLines exif tag.
     /// </summary>
-    public static ExifTag<Number> ConsecutiveBadFaxLines { get; } = new ExifTag<Number>(ExifTagValue.ConsecutiveBadFaxLines);
+    public static ExifTag<Number> ConsecutiveBadFaxLines { get; } = new(ExifTagValue.ConsecutiveBadFaxLines);
 
     /// <summary>
     /// Gets the PixelXDimension exif tag.
     /// </summary>
-    public static ExifTag<Number> PixelXDimension { get; } = new ExifTag<Number>(ExifTagValue.PixelXDimension);
+    public static ExifTag<Number> PixelXDimension { get; } = new(ExifTagValue.PixelXDimension);
 
     /// <summary>
     /// Gets the PixelYDimension exif tag.
     /// </summary>
-    public static ExifTag<Number> PixelYDimension { get; } = new ExifTag<Number>(ExifTagValue.PixelYDimension);
+    public static ExifTag<Number> PixelYDimension { get; } = new(ExifTagValue.PixelYDimension);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.NumberArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.NumberArray.cs
index cd89681413..6a7438fc6e 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.NumberArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.NumberArray.cs
@@ -9,25 +9,25 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the StripOffsets exif tag.
     /// </summary>
-    public static ExifTag<Number[]> StripOffsets { get; } = new ExifTag<Number[]>(ExifTagValue.StripOffsets);
+    public static ExifTag<Number[]> StripOffsets { get; } = new(ExifTagValue.StripOffsets);
 
     /// <summary>
     /// Gets the StripByteCounts exif tag.
     /// </summary>
-    public static ExifTag<Number[]> StripByteCounts { get; } = new ExifTag<Number[]>(ExifTagValue.StripByteCounts);
+    public static ExifTag<Number[]> StripByteCounts { get; } = new(ExifTagValue.StripByteCounts);
 
     /// <summary>
     /// Gets the TileByteCounts exif tag.
     /// </summary>
-    public static ExifTag<Number[]> TileByteCounts { get; } = new ExifTag<Number[]>(ExifTagValue.TileByteCounts);
+    public static ExifTag<Number[]> TileByteCounts { get; } = new(ExifTagValue.TileByteCounts);
 
     /// <summary>
     /// Gets the TileOffsets exif tag.
     /// </summary>
-    public static ExifTag<Number[]> TileOffsets { get; } = new ExifTag<Number[]>(ExifTagValue.TileOffsets);
+    public static ExifTag<Number[]> TileOffsets { get; } = new(ExifTagValue.TileOffsets);
 
     /// <summary>
     /// Gets the ImageLayer exif tag.
     /// </summary>
-    public static ExifTag<Number[]> ImageLayer { get; } = new ExifTag<Number[]>(ExifTagValue.ImageLayer);
+    public static ExifTag<Number[]> ImageLayer { get; } = new(ExifTagValue.ImageLayer);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Rational.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Rational.cs
index e4fe13fe57..02526ac34d 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Rational.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Rational.cs
@@ -9,165 +9,165 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the XPosition exif tag.
     /// </summary>
-    public static ExifTag<Rational> XPosition { get; } = new ExifTag<Rational>(ExifTagValue.XPosition);
+    public static ExifTag<Rational> XPosition { get; } = new(ExifTagValue.XPosition);
 
     /// <summary>
     /// Gets the YPosition exif tag.
     /// </summary>
-    public static ExifTag<Rational> YPosition { get; } = new ExifTag<Rational>(ExifTagValue.YPosition);
+    public static ExifTag<Rational> YPosition { get; } = new(ExifTagValue.YPosition);
 
     /// <summary>
     /// Gets the XResolution exif tag.
     /// </summary>
-    public static ExifTag<Rational> XResolution { get; } = new ExifTag<Rational>(ExifTagValue.XResolution);
+    public static ExifTag<Rational> XResolution { get; } = new(ExifTagValue.XResolution);
 
     /// <summary>
     /// Gets the YResolution exif tag.
     /// </summary>
-    public static ExifTag<Rational> YResolution { get; } = new ExifTag<Rational>(ExifTagValue.YResolution);
+    public static ExifTag<Rational> YResolution { get; } = new(ExifTagValue.YResolution);
 
     /// <summary>
     /// Gets the BatteryLevel exif tag.
     /// </summary>
-    public static ExifTag<Rational> BatteryLevel { get; } = new ExifTag<Rational>(ExifTagValue.BatteryLevel);
+    public static ExifTag<Rational> BatteryLevel { get; } = new(ExifTagValue.BatteryLevel);
 
     /// <summary>
     /// Gets the ExposureTime exif tag.
     /// </summary>
-    public static ExifTag<Rational> ExposureTime { get; } = new ExifTag<Rational>(ExifTagValue.ExposureTime);
+    public static ExifTag<Rational> ExposureTime { get; } = new(ExifTagValue.ExposureTime);
 
     /// <summary>
     /// Gets the FNumber exif tag.
     /// </summary>
-    public static ExifTag<Rational> FNumber { get; } = new ExifTag<Rational>(ExifTagValue.FNumber);
+    public static ExifTag<Rational> FNumber { get; } = new(ExifTagValue.FNumber);
 
     /// <summary>
     /// Gets the MDScalePixel exif tag.
     /// </summary>
-    public static ExifTag<Rational> MDScalePixel { get; } = new ExifTag<Rational>(ExifTagValue.MDScalePixel);
+    public static ExifTag<Rational> MDScalePixel { get; } = new(ExifTagValue.MDScalePixel);
 
     /// <summary>
     /// Gets the CompressedBitsPerPixel exif tag.
     /// </summary>
-    public static ExifTag<Rational> CompressedBitsPerPixel { get; } = new ExifTag<Rational>(ExifTagValue.CompressedBitsPerPixel);
+    public static ExifTag<Rational> CompressedBitsPerPixel { get; } = new(ExifTagValue.CompressedBitsPerPixel);
 
     /// <summary>
     /// Gets the ApertureValue exif tag.
     /// </summary>
-    public static ExifTag<Rational> ApertureValue { get; } = new ExifTag<Rational>(ExifTagValue.ApertureValue);
+    public static ExifTag<Rational> ApertureValue { get; } = new(ExifTagValue.ApertureValue);
 
     /// <summary>
     /// Gets the MaxApertureValue exif tag.
     /// </summary>
-    public static ExifTag<Rational> MaxApertureValue { get; } = new ExifTag<Rational>(ExifTagValue.MaxApertureValue);
+    public static ExifTag<Rational> MaxApertureValue { get; } = new(ExifTagValue.MaxApertureValue);
 
     /// <summary>
     /// Gets the SubjectDistance exif tag.
     /// </summary>
-    public static ExifTag<Rational> SubjectDistance { get; } = new ExifTag<Rational>(ExifTagValue.SubjectDistance);
+    public static ExifTag<Rational> SubjectDistance { get; } = new(ExifTagValue.SubjectDistance);
 
     /// <summary>
     /// Gets the FocalLength exif tag.
     /// </summary>
-    public static ExifTag<Rational> FocalLength { get; } = new ExifTag<Rational>(ExifTagValue.FocalLength);
+    public static ExifTag<Rational> FocalLength { get; } = new(ExifTagValue.FocalLength);
 
     /// <summary>
     /// Gets the FlashEnergy2 exif tag.
     /// </summary>
-    public static ExifTag<Rational> FlashEnergy2 { get; } = new ExifTag<Rational>(ExifTagValue.FlashEnergy2);
+    public static ExifTag<Rational> FlashEnergy2 { get; } = new(ExifTagValue.FlashEnergy2);
 
     /// <summary>
     /// Gets the FocalPlaneXResolution2 exif tag.
     /// </summary>
-    public static ExifTag<Rational> FocalPlaneXResolution2 { get; } = new ExifTag<Rational>(ExifTagValue.FocalPlaneXResolution2);
+    public static ExifTag<Rational> FocalPlaneXResolution2 { get; } = new(ExifTagValue.FocalPlaneXResolution2);
 
     /// <summary>
     /// Gets the FocalPlaneYResolution2 exif tag.
     /// </summary>
-    public static ExifTag<Rational> FocalPlaneYResolution2 { get; } = new ExifTag<Rational>(ExifTagValue.FocalPlaneYResolution2);
+    public static ExifTag<Rational> FocalPlaneYResolution2 { get; } = new(ExifTagValue.FocalPlaneYResolution2);
 
     /// <summary>
     /// Gets the ExposureIndex2 exif tag.
     /// </summary>
-    public static ExifTag<Rational> ExposureIndex2 { get; } = new ExifTag<Rational>(ExifTagValue.ExposureIndex2);
+    public static ExifTag<Rational> ExposureIndex2 { get; } = new(ExifTagValue.ExposureIndex2);
 
     /// <summary>
     /// Gets the Humidity exif tag.
     /// </summary>
-    public static ExifTag<Rational> Humidity { get; } = new ExifTag<Rational>(ExifTagValue.Humidity);
+    public static ExifTag<Rational> Humidity { get; } = new(ExifTagValue.Humidity);
 
     /// <summary>
     /// Gets the Pressure exif tag.
     /// </summary>
-    public static ExifTag<Rational> Pressure { get; } = new ExifTag<Rational>(ExifTagValue.Pressure);
+    public static ExifTag<Rational> Pressure { get; } = new(ExifTagValue.Pressure);
 
     /// <summary>
     /// Gets the Acceleration exif tag.
     /// </summary>
-    public static ExifTag<Rational> Acceleration { get; } = new ExifTag<Rational>(ExifTagValue.Acceleration);
+    public static ExifTag<Rational> Acceleration { get; } = new(ExifTagValue.Acceleration);
 
     /// <summary>
     /// Gets the FlashEnergy exif tag.
     /// </summary>
-    public static ExifTag<Rational> FlashEnergy { get; } = new ExifTag<Rational>(ExifTagValue.FlashEnergy);
+    public static ExifTag<Rational> FlashEnergy { get; } = new(ExifTagValue.FlashEnergy);
 
     /// <summary>
     /// Gets the FocalPlaneXResolution exif tag.
     /// </summary>
-    public static ExifTag<Rational> FocalPlaneXResolution { get; } = new ExifTag<Rational>(ExifTagValue.FocalPlaneXResolution);
+    public static ExifTag<Rational> FocalPlaneXResolution { get; } = new(ExifTagValue.FocalPlaneXResolution);
 
     /// <summary>
     /// Gets the FocalPlaneYResolution exif tag.
     /// </summary>
-    public static ExifTag<Rational> FocalPlaneYResolution { get; } = new ExifTag<Rational>(ExifTagValue.FocalPlaneYResolution);
+    public static ExifTag<Rational> FocalPlaneYResolution { get; } = new(ExifTagValue.FocalPlaneYResolution);
 
     /// <summary>
     /// Gets the ExposureIndex exif tag.
     /// </summary>
-    public static ExifTag<Rational> ExposureIndex { get; } = new ExifTag<Rational>(ExifTagValue.ExposureIndex);
+    public static ExifTag<Rational> ExposureIndex { get; } = new(ExifTagValue.ExposureIndex);
 
     /// <summary>
     /// Gets the DigitalZoomRatio exif tag.
     /// </summary>
-    public static ExifTag<Rational> DigitalZoomRatio { get; } = new ExifTag<Rational>(ExifTagValue.DigitalZoomRatio);
+    public static ExifTag<Rational> DigitalZoomRatio { get; } = new(ExifTagValue.DigitalZoomRatio);
 
     /// <summary>
     /// Gets the GPSAltitude exif tag.
     /// </summary>
-    public static ExifTag<Rational> GPSAltitude { get; } = new ExifTag<Rational>(ExifTagValue.GPSAltitude);
+    public static ExifTag<Rational> GPSAltitude { get; } = new(ExifTagValue.GPSAltitude);
 
     /// <summary>
     /// Gets the GPSDOP exif tag.
     /// </summary>
-    public static ExifTag<Rational> GPSDOP { get; } = new ExifTag<Rational>(ExifTagValue.GPSDOP);
+    public static ExifTag<Rational> GPSDOP { get; } = new(ExifTagValue.GPSDOP);
 
     /// <summary>
     /// Gets the GPSSpeed exif tag.
     /// </summary>
-    public static ExifTag<Rational> GPSSpeed { get; } = new ExifTag<Rational>(ExifTagValue.GPSSpeed);
+    public static ExifTag<Rational> GPSSpeed { get; } = new(ExifTagValue.GPSSpeed);
 
     /// <summary>
     /// Gets the GPSTrack exif tag.
     /// </summary>
-    public static ExifTag<Rational> GPSTrack { get; } = new ExifTag<Rational>(ExifTagValue.GPSTrack);
+    public static ExifTag<Rational> GPSTrack { get; } = new(ExifTagValue.GPSTrack);
 
     /// <summary>
     /// Gets the GPSImgDirection exif tag.
     /// </summary>
-    public static ExifTag<Rational> GPSImgDirection { get; } = new ExifTag<Rational>(ExifTagValue.GPSImgDirection);
+    public static ExifTag<Rational> GPSImgDirection { get; } = new(ExifTagValue.GPSImgDirection);
 
     /// <summary>
     /// Gets the GPSDestBearing exif tag.
     /// </summary>
-    public static ExifTag<Rational> GPSDestBearing { get; } = new ExifTag<Rational>(ExifTagValue.GPSDestBearing);
+    public static ExifTag<Rational> GPSDestBearing { get; } = new(ExifTagValue.GPSDestBearing);
 
     /// <summary>
     /// Gets the GPSDestDistance exif tag.
     /// </summary>
-    public static ExifTag<Rational> GPSDestDistance { get; } = new ExifTag<Rational>(ExifTagValue.GPSDestDistance);
+    public static ExifTag<Rational> GPSDestDistance { get; } = new(ExifTagValue.GPSDestDistance);
 
     /// <summary>
     /// Gets the GPSHPositioningError exif tag.
     /// </summary>
-    public static ExifTag<Rational> GPSHPositioningError { get; } = new ExifTag<Rational>(ExifTagValue.GPSHPositioningError);
+    public static ExifTag<Rational> GPSHPositioningError { get; } = new(ExifTagValue.GPSHPositioningError);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.RationalArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.RationalArray.cs
index 8b764c3f77..4ba140441d 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.RationalArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.RationalArray.cs
@@ -9,50 +9,50 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the WhitePoint exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> WhitePoint { get; } = new ExifTag<Rational[]>(ExifTagValue.WhitePoint);
+    public static ExifTag<Rational[]> WhitePoint { get; } = new(ExifTagValue.WhitePoint);
 
     /// <summary>
     /// Gets the PrimaryChromaticities exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> PrimaryChromaticities { get; } = new ExifTag<Rational[]>(ExifTagValue.PrimaryChromaticities);
+    public static ExifTag<Rational[]> PrimaryChromaticities { get; } = new(ExifTagValue.PrimaryChromaticities);
 
     /// <summary>
     /// Gets the YCbCrCoefficients exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> YCbCrCoefficients { get; } = new ExifTag<Rational[]>(ExifTagValue.YCbCrCoefficients);
+    public static ExifTag<Rational[]> YCbCrCoefficients { get; } = new(ExifTagValue.YCbCrCoefficients);
 
     /// <summary>
     /// Gets the ReferenceBlackWhite exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> ReferenceBlackWhite { get; } = new ExifTag<Rational[]>(ExifTagValue.ReferenceBlackWhite);
+    public static ExifTag<Rational[]> ReferenceBlackWhite { get; } = new(ExifTagValue.ReferenceBlackWhite);
 
     /// <summary>
     /// Gets the GPSLatitude exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> GPSLatitude { get; } = new ExifTag<Rational[]>(ExifTagValue.GPSLatitude);
+    public static ExifTag<Rational[]> GPSLatitude { get; } = new(ExifTagValue.GPSLatitude);
 
     /// <summary>
     /// Gets the GPSLongitude exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> GPSLongitude { get; } = new ExifTag<Rational[]>(ExifTagValue.GPSLongitude);
+    public static ExifTag<Rational[]> GPSLongitude { get; } = new(ExifTagValue.GPSLongitude);
 
     /// <summary>
     /// Gets the GPSTimestamp exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> GPSTimestamp { get; } = new ExifTag<Rational[]>(ExifTagValue.GPSTimestamp);
+    public static ExifTag<Rational[]> GPSTimestamp { get; } = new(ExifTagValue.GPSTimestamp);
 
     /// <summary>
     /// Gets the GPSDestLatitude exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> GPSDestLatitude { get; } = new ExifTag<Rational[]>(ExifTagValue.GPSDestLatitude);
+    public static ExifTag<Rational[]> GPSDestLatitude { get; } = new(ExifTagValue.GPSDestLatitude);
 
     /// <summary>
     /// Gets the GPSDestLongitude exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> GPSDestLongitude { get; } = new ExifTag<Rational[]>(ExifTagValue.GPSDestLongitude);
+    public static ExifTag<Rational[]> GPSDestLongitude { get; } = new(ExifTagValue.GPSDestLongitude);
 
     /// <summary>
     /// Gets the LensSpecification exif tag.
     /// </summary>
-    public static ExifTag<Rational[]> LensSpecification { get; } = new ExifTag<Rational[]>(ExifTagValue.LensSpecification);
+    public static ExifTag<Rational[]> LensSpecification { get; } = new(ExifTagValue.LensSpecification);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Short.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Short.cs
index aeeda58bb0..52972811e6 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Short.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Short.cs
@@ -9,235 +9,235 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the OldSubfileType exif tag.
     /// </summary>
-    public static ExifTag<ushort> OldSubfileType { get; } = new ExifTag<ushort>(ExifTagValue.OldSubfileType);
+    public static ExifTag<ushort> OldSubfileType { get; } = new(ExifTagValue.OldSubfileType);
 
     /// <summary>
     /// Gets the Compression exif tag.
     /// </summary>
-    public static ExifTag<ushort> Compression { get; } = new ExifTag<ushort>(ExifTagValue.Compression);
+    public static ExifTag<ushort> Compression { get; } = new(ExifTagValue.Compression);
 
     /// <summary>
     /// Gets the PhotometricInterpretation exif tag.
     /// </summary>
-    public static ExifTag<ushort> PhotometricInterpretation { get; } = new ExifTag<ushort>(ExifTagValue.PhotometricInterpretation);
+    public static ExifTag<ushort> PhotometricInterpretation { get; } = new(ExifTagValue.PhotometricInterpretation);
 
     /// <summary>
     /// Gets the Thresholding exif tag.
     /// </summary>
-    public static ExifTag<ushort> Thresholding { get; } = new ExifTag<ushort>(ExifTagValue.Thresholding);
+    public static ExifTag<ushort> Thresholding { get; } = new(ExifTagValue.Thresholding);
 
     /// <summary>
     /// Gets the CellWidth exif tag.
     /// </summary>
-    public static ExifTag<ushort> CellWidth { get; } = new ExifTag<ushort>(ExifTagValue.CellWidth);
+    public static ExifTag<ushort> CellWidth { get; } = new(ExifTagValue.CellWidth);
 
     /// <summary>
     /// Gets the CellLength exif tag.
     /// </summary>
-    public static ExifTag<ushort> CellLength { get; } = new ExifTag<ushort>(ExifTagValue.CellLength);
+    public static ExifTag<ushort> CellLength { get; } = new(ExifTagValue.CellLength);
 
     /// <summary>
     /// Gets the FillOrder exif tag.
     /// </summary>
-    public static ExifTag<ushort> FillOrder { get; } = new ExifTag<ushort>(ExifTagValue.FillOrder);
+    public static ExifTag<ushort> FillOrder { get; } = new(ExifTagValue.FillOrder);
 
     /// <summary>
     /// Gets the Orientation exif tag.
     /// </summary>
-    public static ExifTag<ushort> Orientation { get; } = new ExifTag<ushort>(ExifTagValue.Orientation);
+    public static ExifTag<ushort> Orientation { get; } = new(ExifTagValue.Orientation);
 
     /// <summary>
     /// Gets the SamplesPerPixel exif tag.
     /// </summary>
-    public static ExifTag<ushort> SamplesPerPixel { get; } = new ExifTag<ushort>(ExifTagValue.SamplesPerPixel);
+    public static ExifTag<ushort> SamplesPerPixel { get; } = new(ExifTagValue.SamplesPerPixel);
 
     /// <summary>
     /// Gets the PlanarConfiguration exif tag.
     /// </summary>
-    public static ExifTag<ushort> PlanarConfiguration { get; } = new ExifTag<ushort>(ExifTagValue.PlanarConfiguration);
+    public static ExifTag<ushort> PlanarConfiguration { get; } = new(ExifTagValue.PlanarConfiguration);
 
     /// <summary>
     /// Gets the Predictor exif tag.
     /// </summary>
-    public static ExifTag<ushort> Predictor { get; } = new ExifTag<ushort>(ExifTagValue.Predictor);
+    public static ExifTag<ushort> Predictor { get; } = new(ExifTagValue.Predictor);
 
     /// <summary>
     /// Gets the GrayResponseUnit exif tag.
     /// </summary>
-    public static ExifTag<ushort> GrayResponseUnit { get; } = new ExifTag<ushort>(ExifTagValue.GrayResponseUnit);
+    public static ExifTag<ushort> GrayResponseUnit { get; } = new(ExifTagValue.GrayResponseUnit);
 
     /// <summary>
     /// Gets the ResolutionUnit exif tag.
     /// </summary>
-    public static ExifTag<ushort> ResolutionUnit { get; } = new ExifTag<ushort>(ExifTagValue.ResolutionUnit);
+    public static ExifTag<ushort> ResolutionUnit { get; } = new(ExifTagValue.ResolutionUnit);
 
     /// <summary>
     /// Gets the CleanFaxData exif tag.
     /// </summary>
-    public static ExifTag<ushort> CleanFaxData { get; } = new ExifTag<ushort>(ExifTagValue.CleanFaxData);
+    public static ExifTag<ushort> CleanFaxData { get; } = new(ExifTagValue.CleanFaxData);
 
     /// <summary>
     /// Gets the InkSet exif tag.
     /// </summary>
-    public static ExifTag<ushort> InkSet { get; } = new ExifTag<ushort>(ExifTagValue.InkSet);
+    public static ExifTag<ushort> InkSet { get; } = new(ExifTagValue.InkSet);
 
     /// <summary>
     /// Gets the NumberOfInks exif tag.
     /// </summary>
-    public static ExifTag<ushort> NumberOfInks { get; } = new ExifTag<ushort>(ExifTagValue.NumberOfInks);
+    public static ExifTag<ushort> NumberOfInks { get; } = new(ExifTagValue.NumberOfInks);
 
     /// <summary>
     /// Gets the DotRange exif tag.
     /// </summary>
-    public static ExifTag<ushort> DotRange { get; } = new ExifTag<ushort>(ExifTagValue.DotRange);
+    public static ExifTag<ushort> DotRange { get; } = new(ExifTagValue.DotRange);
 
     /// <summary>
     /// Gets the Indexed exif tag.
     /// </summary>
-    public static ExifTag<ushort> Indexed { get; } = new ExifTag<ushort>(ExifTagValue.Indexed);
+    public static ExifTag<ushort> Indexed { get; } = new(ExifTagValue.Indexed);
 
     /// <summary>
     /// Gets the OPIProxy exif tag.
     /// </summary>
-    public static ExifTag<ushort> OPIProxy { get; } = new ExifTag<ushort>(ExifTagValue.OPIProxy);
+    public static ExifTag<ushort> OPIProxy { get; } = new(ExifTagValue.OPIProxy);
 
     /// <summary>
     /// Gets the JPEGProc exif tag.
     /// </summary>
-    public static ExifTag<ushort> JPEGProc { get; } = new ExifTag<ushort>(ExifTagValue.JPEGProc);
+    public static ExifTag<ushort> JPEGProc { get; } = new(ExifTagValue.JPEGProc);
 
     /// <summary>
     /// Gets the JPEGRestartInterval exif tag.
     /// </summary>
-    public static ExifTag<ushort> JPEGRestartInterval { get; } = new ExifTag<ushort>(ExifTagValue.JPEGRestartInterval);
+    public static ExifTag<ushort> JPEGRestartInterval { get; } = new(ExifTagValue.JPEGRestartInterval);
 
     /// <summary>
     /// Gets the YCbCrPositioning exif tag.
     /// </summary>
-    public static ExifTag<ushort> YCbCrPositioning { get; } = new ExifTag<ushort>(ExifTagValue.YCbCrPositioning);
+    public static ExifTag<ushort> YCbCrPositioning { get; } = new(ExifTagValue.YCbCrPositioning);
 
     /// <summary>
     /// Gets the Rating exif tag.
     /// </summary>
-    public static ExifTag<ushort> Rating { get; } = new ExifTag<ushort>(ExifTagValue.Rating);
+    public static ExifTag<ushort> Rating { get; } = new(ExifTagValue.Rating);
 
     /// <summary>
     /// Gets the RatingPercent exif tag.
     /// </summary>
-    public static ExifTag<ushort> RatingPercent { get; } = new ExifTag<ushort>(ExifTagValue.RatingPercent);
+    public static ExifTag<ushort> RatingPercent { get; } = new(ExifTagValue.RatingPercent);
 
     /// <summary>
     /// Gets the ExposureProgram exif tag.
     /// </summary>
-    public static ExifTag<ushort> ExposureProgram { get; } = new ExifTag<ushort>(ExifTagValue.ExposureProgram);
+    public static ExifTag<ushort> ExposureProgram { get; } = new(ExifTagValue.ExposureProgram);
 
     /// <summary>
     /// Gets the Interlace exif tag.
     /// </summary>
-    public static ExifTag<ushort> Interlace { get; } = new ExifTag<ushort>(ExifTagValue.Interlace);
+    public static ExifTag<ushort> Interlace { get; } = new(ExifTagValue.Interlace);
 
     /// <summary>
     /// Gets the SelfTimerMode exif tag.
     /// </summary>
-    public static ExifTag<ushort> SelfTimerMode { get; } = new ExifTag<ushort>(ExifTagValue.SelfTimerMode);
+    public static ExifTag<ushort> SelfTimerMode { get; } = new(ExifTagValue.SelfTimerMode);
 
     /// <summary>
     /// Gets the SensitivityType exif tag.
     /// </summary>
-    public static ExifTag<ushort> SensitivityType { get; } = new ExifTag<ushort>(ExifTagValue.SensitivityType);
+    public static ExifTag<ushort> SensitivityType { get; } = new(ExifTagValue.SensitivityType);
 
     /// <summary>
     /// Gets the MeteringMode exif tag.
     /// </summary>
-    public static ExifTag<ushort> MeteringMode { get; } = new ExifTag<ushort>(ExifTagValue.MeteringMode);
+    public static ExifTag<ushort> MeteringMode { get; } = new(ExifTagValue.MeteringMode);
 
     /// <summary>
     /// Gets the LightSource exif tag.
     /// </summary>
-    public static ExifTag<ushort> LightSource { get; } = new ExifTag<ushort>(ExifTagValue.LightSource);
+    public static ExifTag<ushort> LightSource { get; } = new(ExifTagValue.LightSource);
 
     /// <summary>
     /// Gets the FocalPlaneResolutionUnit2 exif tag.
     /// </summary>
-    public static ExifTag<ushort> FocalPlaneResolutionUnit2 { get; } = new ExifTag<ushort>(ExifTagValue.FocalPlaneResolutionUnit2);
+    public static ExifTag<ushort> FocalPlaneResolutionUnit2 { get; } = new(ExifTagValue.FocalPlaneResolutionUnit2);
 
     /// <summary>
     /// Gets the SensingMethod2 exif tag.
     /// </summary>
-    public static ExifTag<ushort> SensingMethod2 { get; } = new ExifTag<ushort>(ExifTagValue.SensingMethod2);
+    public static ExifTag<ushort> SensingMethod2 { get; } = new(ExifTagValue.SensingMethod2);
 
     /// <summary>
     /// Gets the Flash exif tag.
     /// </summary>
-    public static ExifTag<ushort> Flash { get; } = new ExifTag<ushort>(ExifTagValue.Flash);
+    public static ExifTag<ushort> Flash { get; } = new(ExifTagValue.Flash);
 
     /// <summary>
     /// Gets the ColorSpace exif tag.
     /// </summary>
-    public static ExifTag<ushort> ColorSpace { get; } = new ExifTag<ushort>(ExifTagValue.ColorSpace);
+    public static ExifTag<ushort> ColorSpace { get; } = new(ExifTagValue.ColorSpace);
 
     /// <summary>
     /// Gets the FocalPlaneResolutionUnit exif tag.
     /// </summary>
-    public static ExifTag<ushort> FocalPlaneResolutionUnit { get; } = new ExifTag<ushort>(ExifTagValue.FocalPlaneResolutionUnit);
+    public static ExifTag<ushort> FocalPlaneResolutionUnit { get; } = new(ExifTagValue.FocalPlaneResolutionUnit);
 
     /// <summary>
     /// Gets the SensingMethod exif tag.
     /// </summary>
-    public static ExifTag<ushort> SensingMethod { get; } = new ExifTag<ushort>(ExifTagValue.SensingMethod);
+    public static ExifTag<ushort> SensingMethod { get; } = new(ExifTagValue.SensingMethod);
 
     /// <summary>
     /// Gets the CustomRendered exif tag.
     /// </summary>
-    public static ExifTag<ushort> CustomRendered { get; } = new ExifTag<ushort>(ExifTagValue.CustomRendered);
+    public static ExifTag<ushort> CustomRendered { get; } = new(ExifTagValue.CustomRendered);
 
     /// <summary>
     /// Gets the ExposureMode exif tag.
     /// </summary>
-    public static ExifTag<ushort> ExposureMode { get; } = new ExifTag<ushort>(ExifTagValue.ExposureMode);
+    public static ExifTag<ushort> ExposureMode { get; } = new(ExifTagValue.ExposureMode);
 
     /// <summary>
     /// Gets the WhiteBalance exif tag.
     /// </summary>
-    public static ExifTag<ushort> WhiteBalance { get; } = new ExifTag<ushort>(ExifTagValue.WhiteBalance);
+    public static ExifTag<ushort> WhiteBalance { get; } = new(ExifTagValue.WhiteBalance);
 
     /// <summary>
     /// Gets the FocalLengthIn35mmFilm exif tag.
     /// </summary>
-    public static ExifTag<ushort> FocalLengthIn35mmFilm { get; } = new ExifTag<ushort>(ExifTagValue.FocalLengthIn35mmFilm);
+    public static ExifTag<ushort> FocalLengthIn35mmFilm { get; } = new(ExifTagValue.FocalLengthIn35mmFilm);
 
     /// <summary>
     /// Gets the SceneCaptureType exif tag.
     /// </summary>
-    public static ExifTag<ushort> SceneCaptureType { get; } = new ExifTag<ushort>(ExifTagValue.SceneCaptureType);
+    public static ExifTag<ushort> SceneCaptureType { get; } = new(ExifTagValue.SceneCaptureType);
 
     /// <summary>
     /// Gets the GainControl exif tag.
     /// </summary>
-    public static ExifTag<ushort> GainControl { get; } = new ExifTag<ushort>(ExifTagValue.GainControl);
+    public static ExifTag<ushort> GainControl { get; } = new(ExifTagValue.GainControl);
 
     /// <summary>
     /// Gets the Contrast exif tag.
     /// </summary>
-    public static ExifTag<ushort> Contrast { get; } = new ExifTag<ushort>(ExifTagValue.Contrast);
+    public static ExifTag<ushort> Contrast { get; } = new(ExifTagValue.Contrast);
 
     /// <summary>
     /// Gets the Saturation exif tag.
     /// </summary>
-    public static ExifTag<ushort> Saturation { get; } = new ExifTag<ushort>(ExifTagValue.Saturation);
+    public static ExifTag<ushort> Saturation { get; } = new(ExifTagValue.Saturation);
 
     /// <summary>
     /// Gets the Sharpness exif tag.
     /// </summary>
-    public static ExifTag<ushort> Sharpness { get; } = new ExifTag<ushort>(ExifTagValue.Sharpness);
+    public static ExifTag<ushort> Sharpness { get; } = new(ExifTagValue.Sharpness);
 
     /// <summary>
     /// Gets the SubjectDistanceRange exif tag.
     /// </summary>
-    public static ExifTag<ushort> SubjectDistanceRange { get; } = new ExifTag<ushort>(ExifTagValue.SubjectDistanceRange);
+    public static ExifTag<ushort> SubjectDistanceRange { get; } = new(ExifTagValue.SubjectDistanceRange);
 
     /// <summary>
     /// Gets the GPSDifferential exif tag.
     /// </summary>
-    public static ExifTag<ushort> GPSDifferential { get; } = new ExifTag<ushort>(ExifTagValue.GPSDifferential);
+    public static ExifTag<ushort> GPSDifferential { get; } = new(ExifTagValue.GPSDifferential);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ShortArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ShortArray.cs
index dc708c50f1..55e65517f1 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ShortArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ShortArray.cs
@@ -9,100 +9,100 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the BitsPerSample exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> BitsPerSample { get; } = new ExifTag<ushort[]>(ExifTagValue.BitsPerSample);
+    public static ExifTag<ushort[]> BitsPerSample { get; } = new(ExifTagValue.BitsPerSample);
 
     /// <summary>
     /// Gets the MinSampleValue exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> MinSampleValue { get; } = new ExifTag<ushort[]>(ExifTagValue.MinSampleValue);
+    public static ExifTag<ushort[]> MinSampleValue { get; } = new(ExifTagValue.MinSampleValue);
 
     /// <summary>
     /// Gets the MaxSampleValue exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> MaxSampleValue { get; } = new ExifTag<ushort[]>(ExifTagValue.MaxSampleValue);
+    public static ExifTag<ushort[]> MaxSampleValue { get; } = new(ExifTagValue.MaxSampleValue);
 
     /// <summary>
     /// Gets the GrayResponseCurve exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> GrayResponseCurve { get; } = new ExifTag<ushort[]>(ExifTagValue.GrayResponseCurve);
+    public static ExifTag<ushort[]> GrayResponseCurve { get; } = new(ExifTagValue.GrayResponseCurve);
 
     /// <summary>
     /// Gets the ColorMap exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> ColorMap { get; } = new ExifTag<ushort[]>(ExifTagValue.ColorMap);
+    public static ExifTag<ushort[]> ColorMap { get; } = new(ExifTagValue.ColorMap);
 
     /// <summary>
     /// Gets the ExtraSamples exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> ExtraSamples { get; } = new ExifTag<ushort[]>(ExifTagValue.ExtraSamples);
+    public static ExifTag<ushort[]> ExtraSamples { get; } = new(ExifTagValue.ExtraSamples);
 
     /// <summary>
     /// Gets the PageNumber exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> PageNumber { get; } = new ExifTag<ushort[]>(ExifTagValue.PageNumber);
+    public static ExifTag<ushort[]> PageNumber { get; } = new(ExifTagValue.PageNumber);
 
     /// <summary>
     /// Gets the TransferFunction exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> TransferFunction { get; } = new ExifTag<ushort[]>(ExifTagValue.TransferFunction);
+    public static ExifTag<ushort[]> TransferFunction { get; } = new(ExifTagValue.TransferFunction);
 
     /// <summary>
     /// Gets the HalftoneHints exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> HalftoneHints { get; } = new ExifTag<ushort[]>(ExifTagValue.HalftoneHints);
+    public static ExifTag<ushort[]> HalftoneHints { get; } = new(ExifTagValue.HalftoneHints);
 
     /// <summary>
     /// Gets the SampleFormat exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> SampleFormat { get; } = new ExifTag<ushort[]>(ExifTagValue.SampleFormat);
+    public static ExifTag<ushort[]> SampleFormat { get; } = new(ExifTagValue.SampleFormat);
 
     /// <summary>
     /// Gets the TransferRange exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> TransferRange { get; } = new ExifTag<ushort[]>(ExifTagValue.TransferRange);
+    public static ExifTag<ushort[]> TransferRange { get; } = new(ExifTagValue.TransferRange);
 
     /// <summary>
     /// Gets the DefaultImageColor exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> DefaultImageColor { get; } = new ExifTag<ushort[]>(ExifTagValue.DefaultImageColor);
+    public static ExifTag<ushort[]> DefaultImageColor { get; } = new(ExifTagValue.DefaultImageColor);
 
     /// <summary>
     /// Gets the JPEGLosslessPredictors exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> JPEGLosslessPredictors { get; } = new ExifTag<ushort[]>(ExifTagValue.JPEGLosslessPredictors);
+    public static ExifTag<ushort[]> JPEGLosslessPredictors { get; } = new(ExifTagValue.JPEGLosslessPredictors);
 
     /// <summary>
     /// Gets the JPEGPointTransforms exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> JPEGPointTransforms { get; } = new ExifTag<ushort[]>(ExifTagValue.JPEGPointTransforms);
+    public static ExifTag<ushort[]> JPEGPointTransforms { get; } = new(ExifTagValue.JPEGPointTransforms);
 
     /// <summary>
     /// Gets the YCbCrSubsampling exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> YCbCrSubsampling { get; } = new ExifTag<ushort[]>(ExifTagValue.YCbCrSubsampling);
+    public static ExifTag<ushort[]> YCbCrSubsampling { get; } = new(ExifTagValue.YCbCrSubsampling);
 
     /// <summary>
     /// Gets the CFARepeatPatternDim exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> CFARepeatPatternDim { get; } = new ExifTag<ushort[]>(ExifTagValue.CFARepeatPatternDim);
+    public static ExifTag<ushort[]> CFARepeatPatternDim { get; } = new(ExifTagValue.CFARepeatPatternDim);
 
     /// <summary>
     /// Gets the IntergraphPacketData exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> IntergraphPacketData { get; } = new ExifTag<ushort[]>(ExifTagValue.IntergraphPacketData);
+    public static ExifTag<ushort[]> IntergraphPacketData { get; } = new(ExifTagValue.IntergraphPacketData);
 
     /// <summary>
     /// Gets the ISOSpeedRatings exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> ISOSpeedRatings { get; } = new ExifTag<ushort[]>(ExifTagValue.ISOSpeedRatings);
+    public static ExifTag<ushort[]> ISOSpeedRatings { get; } = new(ExifTagValue.ISOSpeedRatings);
 
     /// <summary>
     /// Gets the SubjectArea exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> SubjectArea { get; } = new ExifTag<ushort[]>(ExifTagValue.SubjectArea);
+    public static ExifTag<ushort[]> SubjectArea { get; } = new(ExifTagValue.SubjectArea);
 
     /// <summary>
     /// Gets the SubjectLocation exif tag.
     /// </summary>
-    public static ExifTag<ushort[]> SubjectLocation { get; } = new ExifTag<ushort[]>(ExifTagValue.SubjectLocation);
+    public static ExifTag<ushort[]> SubjectLocation { get; } = new(ExifTagValue.SubjectLocation);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedRational.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedRational.cs
index d645b5176a..8fbbba2177 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedRational.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedRational.cs
@@ -9,30 +9,30 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the ShutterSpeedValue exif tag.
     /// </summary>
-    public static ExifTag<SignedRational> ShutterSpeedValue { get; } = new ExifTag<SignedRational>(ExifTagValue.ShutterSpeedValue);
+    public static ExifTag<SignedRational> ShutterSpeedValue { get; } = new(ExifTagValue.ShutterSpeedValue);
 
     /// <summary>
     /// Gets the BrightnessValue exif tag.
     /// </summary>
-    public static ExifTag<SignedRational> BrightnessValue { get; } = new ExifTag<SignedRational>(ExifTagValue.BrightnessValue);
+    public static ExifTag<SignedRational> BrightnessValue { get; } = new(ExifTagValue.BrightnessValue);
 
     /// <summary>
     /// Gets the ExposureBiasValue exif tag.
     /// </summary>
-    public static ExifTag<SignedRational> ExposureBiasValue { get; } = new ExifTag<SignedRational>(ExifTagValue.ExposureBiasValue);
+    public static ExifTag<SignedRational> ExposureBiasValue { get; } = new(ExifTagValue.ExposureBiasValue);
 
     /// <summary>
     /// Gets the AmbientTemperature exif tag.
     /// </summary>
-    public static ExifTag<SignedRational> AmbientTemperature { get; } = new ExifTag<SignedRational>(ExifTagValue.AmbientTemperature);
+    public static ExifTag<SignedRational> AmbientTemperature { get; } = new(ExifTagValue.AmbientTemperature);
 
     /// <summary>
     /// Gets the WaterDepth exif tag.
     /// </summary>
-    public static ExifTag<SignedRational> WaterDepth { get; } = new ExifTag<SignedRational>(ExifTagValue.WaterDepth);
+    public static ExifTag<SignedRational> WaterDepth { get; } = new(ExifTagValue.WaterDepth);
 
     /// <summary>
     /// Gets the CameraElevationAngle exif tag.
     /// </summary>
-    public static ExifTag<SignedRational> CameraElevationAngle { get; } = new ExifTag<SignedRational>(ExifTagValue.CameraElevationAngle);
+    public static ExifTag<SignedRational> CameraElevationAngle { get; } = new(ExifTagValue.CameraElevationAngle);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedRationalArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedRationalArray.cs
index ef1e8afea4..a27108f8a0 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedRationalArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedRationalArray.cs
@@ -9,5 +9,5 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the Decode exif tag.
     /// </summary>
-    public static ExifTag<SignedRational[]> Decode { get; } = new ExifTag<SignedRational[]>(ExifTagValue.Decode);
+    public static ExifTag<SignedRational[]> Decode { get; } = new(ExifTagValue.Decode);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedShortArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedShortArray.cs
index d6a9205143..0868426987 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedShortArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.SignedShortArray.cs
@@ -9,5 +9,5 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the TimeZoneOffset exif tag.
     /// </summary>
-    public static ExifTag<short[]> TimeZoneOffset { get; } = new ExifTag<short[]>(ExifTagValue.TimeZoneOffset);
+    public static ExifTag<short[]> TimeZoneOffset { get; } = new(ExifTagValue.TimeZoneOffset);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs
index 498dad3ebb..688403a65a 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs
@@ -9,270 +9,270 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the ImageDescription exif tag.
     /// </summary>
-    public static ExifTag<string> ImageDescription { get; } = new ExifTag<string>(ExifTagValue.ImageDescription);
+    public static ExifTag<string> ImageDescription { get; } = new(ExifTagValue.ImageDescription);
 
     /// <summary>
     /// Gets the Make exif tag.
     /// </summary>
-    public static ExifTag<string> Make { get; } = new ExifTag<string>(ExifTagValue.Make);
+    public static ExifTag<string> Make { get; } = new(ExifTagValue.Make);
 
     /// <summary>
     /// Gets the Model exif tag.
     /// </summary>
-    public static ExifTag<string> Model { get; } = new ExifTag<string>(ExifTagValue.Model);
+    public static ExifTag<string> Model { get; } = new(ExifTagValue.Model);
 
     /// <summary>
     /// Gets the Software exif tag.
     /// </summary>
-    public static ExifTag<string> Software { get; } = new ExifTag<string>(ExifTagValue.Software);
+    public static ExifTag<string> Software { get; } = new(ExifTagValue.Software);
 
     /// <summary>
     /// Gets the DateTime exif tag.
     /// </summary>
-    public static ExifTag<string> DateTime { get; } = new ExifTag<string>(ExifTagValue.DateTime);
+    public static ExifTag<string> DateTime { get; } = new(ExifTagValue.DateTime);
 
     /// <summary>
     /// Gets the Artist exif tag.
     /// </summary>
-    public static ExifTag<string> Artist { get; } = new ExifTag<string>(ExifTagValue.Artist);
+    public static ExifTag<string> Artist { get; } = new(ExifTagValue.Artist);
 
     /// <summary>
     /// Gets the HostComputer exif tag.
     /// </summary>
-    public static ExifTag<string> HostComputer { get; } = new ExifTag<string>(ExifTagValue.HostComputer);
+    public static ExifTag<string> HostComputer { get; } = new(ExifTagValue.HostComputer);
 
     /// <summary>
     /// Gets the Copyright exif tag.
     /// </summary>
-    public static ExifTag<string> Copyright { get; } = new ExifTag<string>(ExifTagValue.Copyright);
+    public static ExifTag<string> Copyright { get; } = new(ExifTagValue.Copyright);
 
     /// <summary>
     /// Gets the DocumentName exif tag.
     /// </summary>
-    public static ExifTag<string> DocumentName { get; } = new ExifTag<string>(ExifTagValue.DocumentName);
+    public static ExifTag<string> DocumentName { get; } = new(ExifTagValue.DocumentName);
 
     /// <summary>
     /// Gets the PageName exif tag.
     /// </summary>
-    public static ExifTag<string> PageName { get; } = new ExifTag<string>(ExifTagValue.PageName);
+    public static ExifTag<string> PageName { get; } = new(ExifTagValue.PageName);
 
     /// <summary>
     /// Gets the InkNames exif tag.
     /// </summary>
-    public static ExifTag<string> InkNames { get; } = new ExifTag<string>(ExifTagValue.InkNames);
+    public static ExifTag<string> InkNames { get; } = new(ExifTagValue.InkNames);
 
     /// <summary>
     /// Gets the TargetPrinter exif tag.
     /// </summary>
-    public static ExifTag<string> TargetPrinter { get; } = new ExifTag<string>(ExifTagValue.TargetPrinter);
+    public static ExifTag<string> TargetPrinter { get; } = new(ExifTagValue.TargetPrinter);
 
     /// <summary>
     /// Gets the ImageID exif tag.
     /// </summary>
-    public static ExifTag<string> ImageID { get; } = new ExifTag<string>(ExifTagValue.ImageID);
+    public static ExifTag<string> ImageID { get; } = new(ExifTagValue.ImageID);
 
     /// <summary>
     /// Gets the MDLabName exif tag.
     /// </summary>
-    public static ExifTag<string> MDLabName { get; } = new ExifTag<string>(ExifTagValue.MDLabName);
+    public static ExifTag<string> MDLabName { get; } = new(ExifTagValue.MDLabName);
 
     /// <summary>
     /// Gets the MDSampleInfo exif tag.
     /// </summary>
-    public static ExifTag<string> MDSampleInfo { get; } = new ExifTag<string>(ExifTagValue.MDSampleInfo);
+    public static ExifTag<string> MDSampleInfo { get; } = new(ExifTagValue.MDSampleInfo);
 
     /// <summary>
     /// Gets the MDPrepDate exif tag.
     /// </summary>
-    public static ExifTag<string> MDPrepDate { get; } = new ExifTag<string>(ExifTagValue.MDPrepDate);
+    public static ExifTag<string> MDPrepDate { get; } = new(ExifTagValue.MDPrepDate);
 
     /// <summary>
     /// Gets the MDPrepTime exif tag.
     /// </summary>
-    public static ExifTag<string> MDPrepTime { get; } = new ExifTag<string>(ExifTagValue.MDPrepTime);
+    public static ExifTag<string> MDPrepTime { get; } = new(ExifTagValue.MDPrepTime);
 
     /// <summary>
     /// Gets the MDFileUnits exif tag.
     /// </summary>
-    public static ExifTag<string> MDFileUnits { get; } = new ExifTag<string>(ExifTagValue.MDFileUnits);
+    public static ExifTag<string> MDFileUnits { get; } = new(ExifTagValue.MDFileUnits);
 
     /// <summary>
     /// Gets the SEMInfo exif tag.
     /// </summary>
-    public static ExifTag<string> SEMInfo { get; } = new ExifTag<string>(ExifTagValue.SEMInfo);
+    public static ExifTag<string> SEMInfo { get; } = new(ExifTagValue.SEMInfo);
 
     /// <summary>
     /// Gets the SpectralSensitivity exif tag.
     /// </summary>
-    public static ExifTag<string> SpectralSensitivity { get; } = new ExifTag<string>(ExifTagValue.SpectralSensitivity);
+    public static ExifTag<string> SpectralSensitivity { get; } = new(ExifTagValue.SpectralSensitivity);
 
     /// <summary>
     /// Gets the DateTimeOriginal exif tag.
     /// </summary>
-    public static ExifTag<string> DateTimeOriginal { get; } = new ExifTag<string>(ExifTagValue.DateTimeOriginal);
+    public static ExifTag<string> DateTimeOriginal { get; } = new(ExifTagValue.DateTimeOriginal);
 
     /// <summary>
     /// Gets the DateTimeDigitized exif tag.
     /// </summary>
-    public static ExifTag<string> DateTimeDigitized { get; } = new ExifTag<string>(ExifTagValue.DateTimeDigitized);
+    public static ExifTag<string> DateTimeDigitized { get; } = new(ExifTagValue.DateTimeDigitized);
 
     /// <summary>
     /// Gets the SubsecTime exif tag.
     /// </summary>
-    public static ExifTag<string> SubsecTime { get; } = new ExifTag<string>(ExifTagValue.SubsecTime);
+    public static ExifTag<string> SubsecTime { get; } = new(ExifTagValue.SubsecTime);
 
     /// <summary>
     /// Gets the SubsecTimeOriginal exif tag.
     /// </summary>
-    public static ExifTag<string> SubsecTimeOriginal { get; } = new ExifTag<string>(ExifTagValue.SubsecTimeOriginal);
+    public static ExifTag<string> SubsecTimeOriginal { get; } = new(ExifTagValue.SubsecTimeOriginal);
 
     /// <summary>
     /// Gets the SubsecTimeDigitized exif tag.
     /// </summary>
-    public static ExifTag<string> SubsecTimeDigitized { get; } = new ExifTag<string>(ExifTagValue.SubsecTimeDigitized);
+    public static ExifTag<string> SubsecTimeDigitized { get; } = new(ExifTagValue.SubsecTimeDigitized);
 
     /// <summary>
     /// Gets the RelatedSoundFile exif tag.
     /// </summary>
-    public static ExifTag<string> RelatedSoundFile { get; } = new ExifTag<string>(ExifTagValue.RelatedSoundFile);
+    public static ExifTag<string> RelatedSoundFile { get; } = new(ExifTagValue.RelatedSoundFile);
 
     /// <summary>
     /// Gets the FaxSubaddress exif tag.
     /// </summary>
-    public static ExifTag<string> FaxSubaddress { get; } = new ExifTag<string>(ExifTagValue.FaxSubaddress);
+    public static ExifTag<string> FaxSubaddress { get; } = new(ExifTagValue.FaxSubaddress);
 
     /// <summary>
     /// Gets the OffsetTime exif tag.
     /// </summary>
-    public static ExifTag<string> OffsetTime { get; } = new ExifTag<string>(ExifTagValue.OffsetTime);
+    public static ExifTag<string> OffsetTime { get; } = new(ExifTagValue.OffsetTime);
 
     /// <summary>
     /// Gets the OffsetTimeOriginal exif tag.
     /// </summary>
-    public static ExifTag<string> OffsetTimeOriginal { get; } = new ExifTag<string>(ExifTagValue.OffsetTimeOriginal);
+    public static ExifTag<string> OffsetTimeOriginal { get; } = new(ExifTagValue.OffsetTimeOriginal);
 
     /// <summary>
     /// Gets the OffsetTimeDigitized exif tag.
     /// </summary>
-    public static ExifTag<string> OffsetTimeDigitized { get; } = new ExifTag<string>(ExifTagValue.OffsetTimeDigitized);
+    public static ExifTag<string> OffsetTimeDigitized { get; } = new(ExifTagValue.OffsetTimeDigitized);
 
     /// <summary>
     /// Gets the SecurityClassification exif tag.
     /// </summary>
-    public static ExifTag<string> SecurityClassification { get; } = new ExifTag<string>(ExifTagValue.SecurityClassification);
+    public static ExifTag<string> SecurityClassification { get; } = new(ExifTagValue.SecurityClassification);
 
     /// <summary>
     /// Gets the ImageHistory exif tag.
     /// </summary>
-    public static ExifTag<string> ImageHistory { get; } = new ExifTag<string>(ExifTagValue.ImageHistory);
+    public static ExifTag<string> ImageHistory { get; } = new(ExifTagValue.ImageHistory);
 
     /// <summary>
     /// Gets the ImageUniqueID exif tag.
     /// </summary>
-    public static ExifTag<string> ImageUniqueID { get; } = new ExifTag<string>(ExifTagValue.ImageUniqueID);
+    public static ExifTag<string> ImageUniqueID { get; } = new(ExifTagValue.ImageUniqueID);
 
     /// <summary>
     /// Gets the OwnerName exif tag.
     /// </summary>
-    public static ExifTag<string> OwnerName { get; } = new ExifTag<string>(ExifTagValue.OwnerName);
+    public static ExifTag<string> OwnerName { get; } = new(ExifTagValue.OwnerName);
 
     /// <summary>
     /// Gets the SerialNumber exif tag.
     /// </summary>
-    public static ExifTag<string> SerialNumber { get; } = new ExifTag<string>(ExifTagValue.SerialNumber);
+    public static ExifTag<string> SerialNumber { get; } = new(ExifTagValue.SerialNumber);
 
     /// <summary>
     /// Gets the LensMake exif tag.
     /// </summary>
-    public static ExifTag<string> LensMake { get; } = new ExifTag<string>(ExifTagValue.LensMake);
+    public static ExifTag<string> LensMake { get; } = new(ExifTagValue.LensMake);
 
     /// <summary>
     /// Gets the LensModel exif tag.
     /// </summary>
-    public static ExifTag<string> LensModel { get; } = new ExifTag<string>(ExifTagValue.LensModel);
+    public static ExifTag<string> LensModel { get; } = new(ExifTagValue.LensModel);
 
     /// <summary>
     /// Gets the LensSerialNumber exif tag.
     /// </summary>
-    public static ExifTag<string> LensSerialNumber { get; } = new ExifTag<string>(ExifTagValue.LensSerialNumber);
+    public static ExifTag<string> LensSerialNumber { get; } = new(ExifTagValue.LensSerialNumber);
 
     /// <summary>
     /// Gets the GDALMetadata exif tag.
     /// </summary>
-    public static ExifTag<string> GDALMetadata { get; } = new ExifTag<string>(ExifTagValue.GDALMetadata);
+    public static ExifTag<string> GDALMetadata { get; } = new(ExifTagValue.GDALMetadata);
 
     /// <summary>
     /// Gets the GDALNoData exif tag.
     /// </summary>
-    public static ExifTag<string> GDALNoData { get; } = new ExifTag<string>(ExifTagValue.GDALNoData);
+    public static ExifTag<string> GDALNoData { get; } = new(ExifTagValue.GDALNoData);
 
     /// <summary>
     /// Gets the GPSLatitudeRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSLatitudeRef { get; } = new ExifTag<string>(ExifTagValue.GPSLatitudeRef);
+    public static ExifTag<string> GPSLatitudeRef { get; } = new(ExifTagValue.GPSLatitudeRef);
 
     /// <summary>
     /// Gets the GPSLongitudeRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSLongitudeRef { get; } = new ExifTag<string>(ExifTagValue.GPSLongitudeRef);
+    public static ExifTag<string> GPSLongitudeRef { get; } = new(ExifTagValue.GPSLongitudeRef);
 
     /// <summary>
     /// Gets the GPSSatellites exif tag.
     /// </summary>
-    public static ExifTag<string> GPSSatellites { get; } = new ExifTag<string>(ExifTagValue.GPSSatellites);
+    public static ExifTag<string> GPSSatellites { get; } = new(ExifTagValue.GPSSatellites);
 
     /// <summary>
     /// Gets the GPSStatus exif tag.
     /// </summary>
-    public static ExifTag<string> GPSStatus { get; } = new ExifTag<string>(ExifTagValue.GPSStatus);
+    public static ExifTag<string> GPSStatus { get; } = new(ExifTagValue.GPSStatus);
 
     /// <summary>
     /// Gets the GPSMeasureMode exif tag.
     /// </summary>
-    public static ExifTag<string> GPSMeasureMode { get; } = new ExifTag<string>(ExifTagValue.GPSMeasureMode);
+    public static ExifTag<string> GPSMeasureMode { get; } = new(ExifTagValue.GPSMeasureMode);
 
     /// <summary>
     /// Gets the GPSSpeedRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSSpeedRef { get; } = new ExifTag<string>(ExifTagValue.GPSSpeedRef);
+    public static ExifTag<string> GPSSpeedRef { get; } = new(ExifTagValue.GPSSpeedRef);
 
     /// <summary>
     /// Gets the GPSTrackRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSTrackRef { get; } = new ExifTag<string>(ExifTagValue.GPSTrackRef);
+    public static ExifTag<string> GPSTrackRef { get; } = new(ExifTagValue.GPSTrackRef);
 
     /// <summary>
     /// Gets the GPSImgDirectionRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSImgDirectionRef { get; } = new ExifTag<string>(ExifTagValue.GPSImgDirectionRef);
+    public static ExifTag<string> GPSImgDirectionRef { get; } = new(ExifTagValue.GPSImgDirectionRef);
 
     /// <summary>
     /// Gets the GPSMapDatum exif tag.
     /// </summary>
-    public static ExifTag<string> GPSMapDatum { get; } = new ExifTag<string>(ExifTagValue.GPSMapDatum);
+    public static ExifTag<string> GPSMapDatum { get; } = new(ExifTagValue.GPSMapDatum);
 
     /// <summary>
     /// Gets the GPSDestLatitudeRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSDestLatitudeRef { get; } = new ExifTag<string>(ExifTagValue.GPSDestLatitudeRef);
+    public static ExifTag<string> GPSDestLatitudeRef { get; } = new(ExifTagValue.GPSDestLatitudeRef);
 
     /// <summary>
     /// Gets the GPSDestLongitudeRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSDestLongitudeRef { get; } = new ExifTag<string>(ExifTagValue.GPSDestLongitudeRef);
+    public static ExifTag<string> GPSDestLongitudeRef { get; } = new(ExifTagValue.GPSDestLongitudeRef);
 
     /// <summary>
     /// Gets the GPSDestBearingRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSDestBearingRef { get; } = new ExifTag<string>(ExifTagValue.GPSDestBearingRef);
+    public static ExifTag<string> GPSDestBearingRef { get; } = new(ExifTagValue.GPSDestBearingRef);
 
     /// <summary>
     /// Gets the GPSDestDistanceRef exif tag.
     /// </summary>
-    public static ExifTag<string> GPSDestDistanceRef { get; } = new ExifTag<string>(ExifTagValue.GPSDestDistanceRef);
+    public static ExifTag<string> GPSDestDistanceRef { get; } = new(ExifTagValue.GPSDestDistanceRef);
 
     /// <summary>
     /// Gets the GPSDateStamp exif tag.
     /// </summary>
-    public static ExifTag<string> GPSDateStamp { get; } = new ExifTag<string>(ExifTagValue.GPSDateStamp);
+    public static ExifTag<string> GPSDateStamp { get; } = new(ExifTagValue.GPSDateStamp);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Ucs2String.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Ucs2String.cs
index 65acc4bd75..e13b3b30e4 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Ucs2String.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Ucs2String.cs
@@ -9,25 +9,25 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the title tag used by Windows (encoded in UCS2).
     /// </summary>
-    public static ExifTag<string> XPTitle => new ExifTag<string>(ExifTagValue.XPTitle);
+    public static ExifTag<string> XPTitle => new(ExifTagValue.XPTitle);
 
     /// <summary>
     /// Gets the comment tag used by Windows (encoded in UCS2).
     /// </summary>
-    public static ExifTag<string> XPComment => new ExifTag<string>(ExifTagValue.XPComment);
+    public static ExifTag<string> XPComment => new(ExifTagValue.XPComment);
 
     /// <summary>
     /// Gets the author tag used by Windows (encoded in UCS2).
     /// </summary>
-    public static ExifTag<string> XPAuthor => new ExifTag<string>(ExifTagValue.XPAuthor);
+    public static ExifTag<string> XPAuthor => new(ExifTagValue.XPAuthor);
 
     /// <summary>
     /// Gets the keywords tag used by Windows (encoded in UCS2).
     /// </summary>
-    public static ExifTag<string> XPKeywords => new ExifTag<string>(ExifTagValue.XPKeywords);
+    public static ExifTag<string> XPKeywords => new(ExifTagValue.XPKeywords);
 
     /// <summary>
     /// Gets the subject tag used by Windows (encoded in UCS2).
     /// </summary>
-    public static ExifTag<string> XPSubject => new ExifTag<string>(ExifTagValue.XPSubject);
+    public static ExifTag<string> XPSubject => new(ExifTagValue.XPSubject);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Undefined.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Undefined.cs
index 417673b4ae..e822c2a111 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Undefined.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Undefined.cs
@@ -9,70 +9,70 @@ public abstract partial class ExifTag
     /// <summary>
     /// Gets the JPEGTables exif tag.
     /// </summary>
-    public static ExifTag<byte[]> JPEGTables { get; } = new ExifTag<byte[]>(ExifTagValue.JPEGTables);
+    public static ExifTag<byte[]> JPEGTables { get; } = new(ExifTagValue.JPEGTables);
 
     /// <summary>
     /// Gets the OECF exif tag.
     /// </summary>
-    public static ExifTag<byte[]> OECF { get; } = new ExifTag<byte[]>(ExifTagValue.OECF);
+    public static ExifTag<byte[]> OECF { get; } = new(ExifTagValue.OECF);
 
     /// <summary>
     /// Gets the ExifVersion exif tag.
     /// </summary>
-    public static ExifTag<byte[]> ExifVersion { get; } = new ExifTag<byte[]>(ExifTagValue.ExifVersion);
+    public static ExifTag<byte[]> ExifVersion { get; } = new(ExifTagValue.ExifVersion);
 
     /// <summary>
     /// Gets the ComponentsConfiguration exif tag.
     /// </summary>
-    public static ExifTag<byte[]> ComponentsConfiguration { get; } = new ExifTag<byte[]>(ExifTagValue.ComponentsConfiguration);
+    public static ExifTag<byte[]> ComponentsConfiguration { get; } = new(ExifTagValue.ComponentsConfiguration);
 
     /// <summary>
     /// Gets the MakerNote exif tag.
     /// </summary>
-    public static ExifTag<byte[]> MakerNote { get; } = new ExifTag<byte[]>(ExifTagValue.MakerNote);
+    public static ExifTag<byte[]> MakerNote { get; } = new(ExifTagValue.MakerNote);
 
     /// <summary>
     /// Gets the FlashpixVersion exif tag.
     /// </summary>
-    public static ExifTag<byte[]> FlashpixVersion { get; } = new ExifTag<byte[]>(ExifTagValue.FlashpixVersion);
+    public static ExifTag<byte[]> FlashpixVersion { get; } = new(ExifTagValue.FlashpixVersion);
 
     /// <summary>
     /// Gets the SpatialFrequencyResponse exif tag.
     /// </summary>
-    public static ExifTag<byte[]> SpatialFrequencyResponse { get; } = new ExifTag<byte[]>(ExifTagValue.SpatialFrequencyResponse);
+    public static ExifTag<byte[]> SpatialFrequencyResponse { get; } = new(ExifTagValue.SpatialFrequencyResponse);
 
     /// <summary>
     /// Gets the SpatialFrequencyResponse2 exif tag.
     /// </summary>
-    public static ExifTag<byte[]> SpatialFrequencyResponse2 { get; } = new ExifTag<byte[]>(ExifTagValue.SpatialFrequencyResponse2);
+    public static ExifTag<byte[]> SpatialFrequencyResponse2 { get; } = new(ExifTagValue.SpatialFrequencyResponse2);
 
     /// <summary>
     /// Gets the Noise exif tag.
     /// </summary>
-    public static ExifTag<byte[]> Noise { get; } = new ExifTag<byte[]>(ExifTagValue.Noise);
+    public static ExifTag<byte[]> Noise { get; } = new(ExifTagValue.Noise);
 
     /// <summary>
     /// Gets the CFAPattern exif tag.
     /// </summary>
-    public static ExifTag<byte[]> CFAPattern { get; } = new ExifTag<byte[]>(ExifTagValue.CFAPattern);
+    public static ExifTag<byte[]> CFAPattern { get; } = new(ExifTagValue.CFAPattern);
 
     /// <summary>
     /// Gets the DeviceSettingDescription exif tag.
     /// </summary>
-    public static ExifTag<byte[]> DeviceSettingDescription { get; } = new ExifTag<byte[]>(ExifTagValue.DeviceSettingDescription);
+    public static ExifTag<byte[]> DeviceSettingDescription { get; } = new(ExifTagValue.DeviceSettingDescription);
 
     /// <summary>
     /// Gets the ImageSourceData exif tag.
     /// </summary>
-    public static ExifTag<byte[]> ImageSourceData { get; } = new ExifTag<byte[]>(ExifTagValue.ImageSourceData);
+    public static ExifTag<byte[]> ImageSourceData { get; } = new(ExifTagValue.ImageSourceData);
 
     /// <summary>
     /// Gets the FileSource exif tag.
     /// </summary>
-    public static ExifTag<byte> FileSource { get; } = new ExifTag<byte>(ExifTagValue.FileSource);
+    public static ExifTag<byte> FileSource { get; } = new(ExifTagValue.FileSource);
 
     /// <summary>
     /// Gets the ImageDescription exif tag.
     /// </summary>
-    public static ExifTag<byte> SceneType { get; } = new ExifTag<byte>(ExifTagValue.SceneType);
+    public static ExifTag<byte> SceneType { get; } = new(ExifTagValue.SceneType);
 }
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs
index cce7cf3e89..8131a48691 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs
@@ -33,7 +33,7 @@ public override bool TrySetValue(object? value)
 
         if (value is string stringValue)
         {
-            this.Value = new EncodedString(stringValue);
+            this.Value = new(stringValue);
             return true;
         }
         else if (value is byte[] buffer)
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRational.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRational.cs
index c25f0f5dc1..e5c27f60a8 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRational.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRational.cs
@@ -39,7 +39,7 @@ public override bool TrySetValue(object? value)
 
                 if (signed.Numerator >= uint.MinValue && signed.Denominator >= uint.MinValue)
                 {
-                    this.Value = new Rational((uint)signed.Numerator, (uint)signed.Denominator);
+                    this.Value = new((uint)signed.Numerator, (uint)signed.Denominator);
                 }
 
                 return true;
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
index 03bf266dc2..8239f7778d 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
@@ -60,7 +60,7 @@ private bool TrySetSignedArray(SignedRational[] signed)
         for (int i = 0; i < signed.Length; i++)
         {
             SignedRational s = signed[i];
-            unsigned[i] = new Rational((uint)s.Numerator, (uint)s.Denominator);
+            unsigned[i] = new((uint)s.Numerator, (uint)s.Denominator);
         }
 
         this.Value = unsigned;
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
index bd8b69b018..03275563c0 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
@@ -14,7 +14,7 @@ internal sealed partial class IccDataReader
     /// <returns>The read LUT</returns>
     public IccLut ReadLut8()
     {
-        return new IccLut(this.ReadBytes(256));
+        return new(this.ReadBytes(256));
     }
 
     /// <summary>
@@ -30,7 +30,7 @@ public IccLut ReadLut16(int count)
             values[i] = this.ReadUInt16();
         }
 
-        return new IccLut(values);
+        return new(values);
     }
 
     /// <summary>
@@ -97,7 +97,7 @@ public IccClut ReadClut8(int inChannelCount, int outChannelCount, byte[] gridPoi
         }
 
         this.currentIndex = start + (length * outChannelCount);
-        return new IccClut(values, gridPointCount, IccClutDataType.UInt8);
+        return new(values, gridPointCount, IccClutDataType.UInt8);
     }
 
     /// <summary>
@@ -131,7 +131,7 @@ public IccClut ReadClut16(int inChannelCount, int outChannelCount, byte[] gridPo
         }
 
         this.currentIndex = start + (length * outChannelCount * 2);
-        return new IccClut(values, gridPointCount, IccClutDataType.UInt16);
+        return new(values, gridPointCount, IccClutDataType.UInt16);
     }
 
     /// <summary>
@@ -163,6 +163,6 @@ public IccClut ReadClutF32(int inChCount, int outChCount, byte[] gridPointCount)
         }
 
         this.currentIndex = start + (length * outChCount * 4);
-        return new IccClut(values, gridPointCount, IccClutDataType.Float);
+        return new(values, gridPointCount, IccClutDataType.Float);
     }
 }
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
index 7aee626fa0..7236bd5447 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
@@ -55,7 +55,7 @@ public IccCurveSetProcessElement ReadCurveSetProcessElement(int inChannelCount,
             this.AddPadding();
         }
 
-        return new IccCurveSetProcessElement(curves);
+        return new(curves);
     }
 
     /// <summary>
@@ -66,7 +66,7 @@ public IccCurveSetProcessElement ReadCurveSetProcessElement(int inChannelCount,
     /// <returns>The read <see cref="IccMatrixProcessElement"/></returns>
     public IccMatrixProcessElement ReadMatrixProcessElement(int inChannelCount, int outChannelCount)
     {
-        return new IccMatrixProcessElement(
+        return new(
             this.ReadMatrix(inChannelCount, outChannelCount, true),
             this.ReadMatrix(outChannelCount, true));
     }
@@ -79,6 +79,6 @@ public IccMatrixProcessElement ReadMatrixProcessElement(int inChannelCount, int
     /// <returns>The read <see cref="IccClutProcessElement"/></returns>
     public IccClutProcessElement ReadClutProcessElement(int inChannelCount, int outChannelCount)
     {
-        return new IccClutProcessElement(this.ReadClut(inChannelCount, outChannelCount, true));
+        return new(this.ReadClut(inChannelCount, outChannelCount, true));
     }
 }
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
index d5b9e83628..cfd881f789 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
@@ -18,7 +18,7 @@ public DateTime ReadDateTime()
     {
         try
         {
-            return new DateTime(
+            return new(
                 year: this.ReadUInt16(),
                 month: this.ReadUInt16(),
                 day: this.ReadUInt16(),
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.NonPrimitives.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.NonPrimitives.cs
index db199b4381..ae970521a5 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.NonPrimitives.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.NonPrimitives.cs
@@ -111,7 +111,7 @@ public int WriteProfileDescription(in IccProfileDescription value)
              + this.WriteInt64((long)value.DeviceAttributes)
              + this.WriteUInt32((uint)value.TechnologyInformation)
              + this.WriteTagDataEntryHeader(IccTypeSignature.MultiLocalizedUnicode)
-             + this.WriteMultiLocalizedUnicodeTagDataEntry(new IccMultiLocalizedUnicodeTagDataEntry(value.DeviceManufacturerInfo))
+             + this.WriteMultiLocalizedUnicodeTagDataEntry(new(value.DeviceManufacturerInfo))
              + this.WriteTagDataEntryHeader(IccTypeSignature.MultiLocalizedUnicode)
              + this.WriteMultiLocalizedUnicodeTagDataEntry(new IccMultiLocalizedUnicodeTagDataEntry(value.DeviceModelInfo));
     }
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.TagDataEntry.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.TagDataEntry.cs
index 1f9c101fb5..00f189351f 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.TagDataEntry.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.TagDataEntry.cs
@@ -20,7 +20,7 @@ public int WriteTagDataEntry(IccTagDataEntry data, out IccTagTableEntry table)
         uint offset = (uint)this.dataStream.Position;
         int count = this.WriteTagDataEntry(data);
         this.WritePadding();
-        table = new IccTagTableEntry(data.TagSignature, offset, (uint)count);
+        table = new(data.TagSignature, offset, (uint)count);
         return count;
     }
 
@@ -546,7 +546,7 @@ public int WriteMultiProcessElementsTagDataEntry(IccMultiProcessElementsTagDataE
             uint offset = (uint)(this.dataStream.Position - start);
             int size = this.WriteMultiProcessElement(value.Data[i]);
             count += this.WritePadding();
-            posTable[i] = new IccPositionNumber(offset, (uint)size);
+            posTable[i] = new(offset, (uint)size);
             count += size;
         }
 
@@ -634,7 +634,7 @@ public int WriteProfileSequenceIdentifierTagDataEntry(IccProfileSequenceIdentifi
             int size = this.WriteProfileId(sequenceIdentifier.Id);
             size += this.WriteTagDataEntry(new IccMultiLocalizedUnicodeTagDataEntry(sequenceIdentifier.Description));
             size += this.WritePadding();
-            table[i] = new IccPositionNumber(offset, (uint)size);
+            table[i] = new(offset, (uint)size);
             count += size;
         }
 
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.cs
index ce53325442..941d3bb658 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataWriter/IccDataWriter.cs
@@ -23,7 +23,7 @@ internal sealed partial class IccDataWriter : IDisposable
     /// </summary>
     public IccDataWriter()
     {
-        this.dataStream = new MemoryStream();
+        this.dataStream = new();
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/IccProfile.cs b/src/ImageSharp/Metadata/Profiles/ICC/IccProfile.cs
index ac78318f2b..c0f337b034 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/IccProfile.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/IccProfile.cs
@@ -186,7 +186,7 @@ private void InitializeHeader()
 
         if (this.data is null)
         {
-            this.header = new IccProfileHeader();
+            this.header = new();
             return;
         }
 
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/IccReader.cs b/src/ImageSharp/Metadata/Profiles/ICC/IccReader.cs
index 45074c9a6e..6ec0cec508 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/IccReader.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/IccReader.cs
@@ -22,7 +22,7 @@ public static IccProfile Read(byte[] data)
         IccProfileHeader header = ReadHeader(reader);
         IccTagDataEntry[] tagData = ReadTagData(reader);
 
-        return new IccProfile(header, tagData);
+        return new(header, tagData);
     }
 
     /// <summary>
@@ -57,7 +57,7 @@ private static IccProfileHeader ReadHeader(IccDataReader reader)
     {
         reader.SetIndex(0);
 
-        return new IccProfileHeader
+        return new()
         {
             Size = reader.ReadUInt32(),
             CmmType = reader.ReadAsciiString(4),
@@ -137,7 +137,7 @@ private static IccTagTableEntry[] ReadTagTable(IccDataReader reader)
             // Exclude entries that have nonsense values and could cause exceptions further on
             if (tagOffset < reader.DataLength && tagSize < reader.DataLength - 128)
             {
-                table.Add(new IccTagTableEntry((IccProfileTag)tagSignature, tagOffset, tagSize));
+                table.Add(new((IccProfileTag)tagSignature, tagOffset, tagSize));
             }
         }
 
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/IccWriter.cs b/src/ImageSharp/Metadata/Profiles/ICC/IccWriter.cs
index 5e73e2dd00..8e0b4ae6d0 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/IccWriter.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/IccWriter.cs
@@ -77,7 +77,7 @@ private static IccTagTableEntry[] WriteTagData(IccDataWriter writer, IccTagDataE
             writer.WriteTagDataEntry(group.Key, out IccTagTableEntry tableEntry);
             foreach (IccTagDataEntry item in group)
             {
-                table.Add(new IccTagTableEntry(item.TagSignature, tableEntry.Offset, tableEntry.DataSize));
+                table.Add(new(item.TagSignature, tableEntry.Offset, tableEntry.DataSize));
             }
         }
 
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs b/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
index 9ddd0ce13d..b8c29ae096 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
@@ -147,7 +147,7 @@ public override int GetHashCode()
 
     private static Matrix4x4 CreateMatrix(float[,] matrix)
     {
-        return new Matrix4x4(
+        return new(
             matrix[0, 0],
             matrix[0, 1],
             matrix[0, 2],
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs b/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
index 7db26e5c58..2ee95117bc 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
@@ -86,23 +86,23 @@ public static explicit operator IccMultiLocalizedUnicodeTagDataEntry(IccTextDesc
         {
             CultureInfo culture = GetCulture(textEntry.UnicodeLanguageCode);
             localString = culture != null
-                ? new IccLocalizedString(culture, textEntry.Unicode)
+                ? new(culture, textEntry.Unicode)
                 : new IccLocalizedString(textEntry.Unicode);
         }
         else if (!string.IsNullOrEmpty(textEntry.Ascii))
         {
-            localString = new IccLocalizedString(textEntry.Ascii);
+            localString = new(textEntry.Ascii);
         }
         else if (!string.IsNullOrEmpty(textEntry.ScriptCode))
         {
-            localString = new IccLocalizedString(textEntry.ScriptCode);
+            localString = new(textEntry.ScriptCode);
         }
         else
         {
-            localString = new IccLocalizedString(string.Empty);
+            localString = new(string.Empty);
         }
 
-        return new IccMultiLocalizedUnicodeTagDataEntry(new[] { localString }, textEntry.TagSignature);
+        return new(new[] { localString }, textEntry.TagSignature);
 
         static CultureInfo GetCulture(uint value)
         {
diff --git a/src/ImageSharp/Metadata/Profiles/IPTC/IptcProfile.cs b/src/ImageSharp/Metadata/Profiles/IPTC/IptcProfile.cs
index 162fae96b3..e900122629 100644
--- a/src/ImageSharp/Metadata/Profiles/IPTC/IptcProfile.cs
+++ b/src/ImageSharp/Metadata/Profiles/IPTC/IptcProfile.cs
@@ -186,7 +186,7 @@ public void SetValue(IptcTag tag, Encoding encoding, string value, bool strict =
             }
         }
 
-        this.values.Add(new IptcValue(tag, encoding, value, strict));
+        this.values.Add(new(tag, encoding, value, strict));
     }
 
     /// <summary>
diff --git a/src/ImageSharp/PixelFormats/PixelBlenders/PorterDuffFunctions.cs b/src/ImageSharp/PixelFormats/PixelBlenders/PorterDuffFunctions.cs
index ca358be31c..2df15a044e 100644
--- a/src/ImageSharp/PixelFormats/PixelBlenders/PorterDuffFunctions.cs
+++ b/src/ImageSharp/PixelFormats/PixelBlenders/PorterDuffFunctions.cs
@@ -179,7 +179,7 @@ public static Vector4 Overlay(Vector4 backdrop, Vector4 source)
         float cg = OverlayValueFunction(backdrop.Y, source.Y);
         float cb = OverlayValueFunction(backdrop.Z, source.Z);
 
-        return Vector4.Min(Vector4.One, new Vector4(cr, cg, cb, 0));
+        return Vector4.Min(Vector4.One, new(cr, cg, cb, 0));
     }
 
     /// <summary>
diff --git a/src/ImageSharp/PixelFormats/PixelComponentInfo.cs b/src/ImageSharp/PixelFormats/PixelComponentInfo.cs
index 1444b344b6..00be93b22b 100644
--- a/src/ImageSharp/PixelFormats/PixelComponentInfo.cs
+++ b/src/ImageSharp/PixelFormats/PixelComponentInfo.cs
@@ -81,7 +81,7 @@ public static PixelComponentInfo Create(int count, int bitsPerPixel, params int[
             sum += p;
         }
 
-        return new PixelComponentInfo(count, bitsPerPixel - sum, precisionData1, precisionData2);
+        return new(count, bitsPerPixel - sum, precisionData1, precisionData2);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Bgr565.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Bgr565.cs
index 87055bf22d..e81b3e66f4 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Bgr565.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/Bgr565.cs
@@ -28,7 +28,7 @@ public partial struct Bgr565(Vector3 vector) : IPixel<Bgr565>, IPackedVector<ush
     /// <param name="y">The y-component</param>
     /// <param name="z">The z-component</param>
     public Bgr565(float x, float y, float z)
-        : this(new Vector3(x, y, z))
+        : this(new(x, y, z))
     {
     }
 
@@ -84,7 +84,7 @@ public static PixelTypeInfo GetPixelTypeInfo()
 
     /// <inheritdoc />
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static Bgr565 FromVector4(Vector4 source) => new() { PackedValue = Pack(new Vector3(source.X, source.Y, source.Z)) };
+    public static Bgr565 FromVector4(Vector4 source) => new() { PackedValue = Pack(new(source.X, source.Y, source.Z)) };
 
     /// <inheritdoc />
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Bgra5551.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Bgra5551.cs
index 4c94dea5f1..45f013fb1b 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Bgra5551.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/Bgra5551.cs
@@ -23,7 +23,7 @@ public partial struct Bgra5551 : IPixel<Bgra5551>, IPackedVector<ushort>
     /// <param name="z">The z-component</param>
     /// <param name="w">The w-component</param>
     public Bgra5551(float x, float y, float z, float w)
-        : this(new Vector4(x, y, z, w))
+        : this(new(x, y, z, w))
     {
     }
 
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/HalfSingle.cs b/src/ImageSharp/PixelFormats/PixelImplementations/HalfSingle.cs
index 888d992d8c..3ef711d6a1 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/HalfSingle.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/HalfSingle.cs
@@ -55,7 +55,7 @@ public readonly Vector4 ToScaledVector4()
     {
         float single = this.ToSingle() + 1F;
         single /= 2F;
-        return new Vector4(single, 0, 0, 1F);
+        return new(single, 0, 0, 1F);
     }
 
     /// <inheritdoc />
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/HalfVector4.cs b/src/ImageSharp/PixelFormats/PixelImplementations/HalfVector4.cs
index d0b57d788f..254e9290d8 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/HalfVector4.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/HalfVector4.cs
@@ -22,7 +22,7 @@ public partial struct HalfVector4 : IPixel<HalfVector4>, IPackedVector<ulong>
     /// <param name="z">The z-component.</param>
     /// <param name="w">The w-component.</param>
     public HalfVector4(float x, float y, float z, float w)
-        : this(new Vector4(x, y, z, w))
+        : this(new(x, y, z, w))
     {
     }
 
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/L16.cs b/src/ImageSharp/PixelFormats/PixelImplementations/L16.cs
index 64a22060c0..faad37ab5d 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/L16.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/L16.cs
@@ -64,7 +64,7 @@ public readonly Rgba32 ToRgba32()
     public readonly Vector4 ToVector4()
     {
         float scaled = this.PackedValue / Max;
-        return new Vector4(scaled, scaled, scaled, 1f);
+        return new(scaled, scaled, scaled, 1f);
     }
 
     /// <inheritdoc />
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/L8.cs b/src/ImageSharp/PixelFormats/PixelImplementations/L8.cs
index cf8646cfa0..1ef5951feb 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/L8.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/L8.cs
@@ -66,7 +66,7 @@ public readonly Rgba32 ToRgba32()
     public readonly Vector4 ToVector4()
     {
         float rgb = this.PackedValue / 255f;
-        return new Vector4(rgb, rgb, rgb, 1f);
+        return new(rgb, rgb, rgb, 1f);
     }
 
     /// <inheritdoc />
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/La16.cs b/src/ImageSharp/PixelFormats/PixelImplementations/La16.cs
index 026d0c299d..b1149dc3eb 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/La16.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/La16.cs
@@ -93,7 +93,7 @@ public readonly Vector4 ToVector4()
     {
         const float max = 255f;
         float rgb = this.L / max;
-        return new Vector4(rgb, rgb, rgb, this.A / max);
+        return new(rgb, rgb, rgb, this.A / max);
     }
 
     /// <inheritdoc />
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/La32.cs b/src/ImageSharp/PixelFormats/PixelImplementations/La32.cs
index 0ddcf16a1f..ec2c38e3ea 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/La32.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/La32.cs
@@ -90,7 +90,7 @@ public readonly Rgba32 ToRgba32()
     public readonly Vector4 ToVector4()
     {
         float rgb = this.L / Max;
-        return new Vector4(rgb, rgb, rgb, this.A / Max);
+        return new(rgb, rgb, rgb, this.A / Max);
     }
 
     /// <inheritdoc />
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedByte2.cs b/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedByte2.cs
index 9551d7242f..c4b6bf8187 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedByte2.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedByte2.cs
@@ -24,7 +24,7 @@ public partial struct NormalizedByte2 : IPixel<NormalizedByte2>, IPackedVector<u
     /// <param name="x">The x-component.</param>
     /// <param name="y">The y-component.</param>
     public NormalizedByte2(float x, float y)
-        : this(new Vector2(x, y))
+        : this(new(x, y))
     {
     }
 
@@ -70,7 +70,7 @@ public readonly Vector4 ToScaledVector4()
         Vector2 scaled = this.ToVector2();
         scaled += Vector2.One;
         scaled /= 2f;
-        return new Vector4(scaled, 0f, 1f);
+        return new(scaled, 0f, 1f);
     }
 
     /// <inheritdoc />
@@ -98,7 +98,7 @@ public static NormalizedByte2 FromScaledVector4(Vector4 source)
 
     /// <inheritdoc />
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static NormalizedByte2 FromVector4(Vector4 source) => new() { PackedValue = Pack(new Vector2(source.X, source.Y)) };
+    public static NormalizedByte2 FromVector4(Vector4 source) => new() { PackedValue = Pack(new(source.X, source.Y)) };
 
     /// <inheritdoc />
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedByte4.cs b/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedByte4.cs
index 1fb386725a..380465f4e2 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedByte4.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedByte4.cs
@@ -27,7 +27,7 @@ public partial struct NormalizedByte4 : IPixel<NormalizedByte4>, IPackedVector<u
     /// <param name="z">The z-component.</param>
     /// <param name="w">The w-component.</param>
     public NormalizedByte4(float x, float y, float z, float w)
-        : this(new Vector4(x, y, z, w))
+        : this(new(x, y, z, w))
     {
     }
 
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedShort4.cs b/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedShort4.cs
index 2b33fec27a..2c30a0a569 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedShort4.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/NormalizedShort4.cs
@@ -28,7 +28,7 @@ public partial struct NormalizedShort4 : IPixel<NormalizedShort4>, IPackedVector
     /// <param name="z">The z-component.</param>
     /// <param name="w">The w-component.</param>
     public NormalizedShort4(float x, float y, float z, float w)
-        : this(new Vector4(x, y, z, w))
+        : this(new(x, y, z, w))
     {
     }
 
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Rgb24.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Rgb24.cs
index 0aa7bad237..16d420d3c3 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Rgb24.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/Rgb24.cs
@@ -61,7 +61,7 @@ public Rgb24(byte r, byte g, byte b)
     /// <param name="color">The instance of <see cref="Rgb"/> to convert.</param>
     /// <returns>An instance of <see cref="Rgb24"/>.</returns>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static implicit operator Rgb24(Rgb color) => FromScaledVector4(new Vector4(color.ToVector3(), 1f));
+    public static implicit operator Rgb24(Rgb color) => FromScaledVector4(new(color.ToVector3(), 1f));
 
     /// <summary>
     /// Compares two <see cref="Rgb24"/> objects for equality.
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Rgba1010102.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Rgba1010102.cs
index cdee22964d..a022476fd5 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Rgba1010102.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/Rgba1010102.cs
@@ -25,7 +25,7 @@ public partial struct Rgba1010102 : IPixel<Rgba1010102>, IPackedVector<uint>
     /// <param name="z">The z-component</param>
     /// <param name="w">The w-component</param>
     public Rgba1010102(float x, float y, float z, float w)
-        : this(new Vector4(x, y, z, w))
+        : this(new(x, y, z, w))
     {
     }
 
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.cs
index 0491553430..b19b3866b0 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.cs
@@ -187,7 +187,7 @@ public uint PackedValue
     /// <param name="color">The instance of <see cref="Rgb"/> to convert.</param>
     /// <returns>An instance of <see cref="Rgba32"/>.</returns>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static implicit operator Rgba32(Rgb color) => FromScaledVector4(new Vector4(color.ToVector3(), 1F));
+    public static implicit operator Rgba32(Rgb color) => FromScaledVector4(new(color.ToVector3(), 1F));
 
     /// <summary>
     /// Compares two <see cref="Rgba32"/> objects for equality.
@@ -444,6 +444,6 @@ private static Rgba32 Pack(Vector4 vector)
         char g = hex[1];
         char r = hex[0];
 
-        return new string(new[] { r, r, g, g, b, b, a, a });
+        return new(new[] { r, r, g, g, b, b, a, a });
     }
 }
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Short2.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Short2.cs
index 403d3fbea3..c76f870477 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Short2.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/Short2.cs
@@ -29,7 +29,7 @@ public partial struct Short2 : IPixel<Short2>, IPackedVector<uint>
     /// <param name="x">The x-component.</param>
     /// <param name="y">The y-component.</param>
     public Short2(float x, float y)
-        : this(new Vector2(x, y))
+        : this(new(x, y))
     {
     }
 
@@ -75,7 +75,7 @@ public readonly Vector4 ToScaledVector4()
         Vector2 scaled = this.ToVector2();
         scaled += new Vector2(32767f);
         scaled /= 65534F;
-        return new Vector4(scaled, 0f, 1f);
+        return new(scaled, 0f, 1f);
     }
 
     /// <inheritdoc />
@@ -103,7 +103,7 @@ public static Short2 FromScaledVector4(Vector4 source)
 
     /// <inheritdoc />
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static Short2 FromVector4(Vector4 source) => new() { PackedValue = Pack(new Vector2(source.X, source.Y)) };
+    public static Short2 FromVector4(Vector4 source) => new() { PackedValue = Pack(new(source.X, source.Y)) };
 
     /// <inheritdoc />
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Short4.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Short4.cs
index b6cece2bef..c657263c0e 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Short4.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/Short4.cs
@@ -31,7 +31,7 @@ public partial struct Short4 : IPixel<Short4>, IPackedVector<ulong>
     /// <param name="z">The z-component.</param>
     /// <param name="w">The w-component.</param>
     public Short4(float x, float y, float z, float w)
-        : this(new Vector4(x, y, z, w))
+        : this(new(x, y, z, w))
     {
     }
 
diff --git a/src/ImageSharp/Primitives/ColorMatrix.Impl.cs b/src/ImageSharp/Primitives/ColorMatrix.Impl.cs
index 559fcdde08..7eb95569df 100644
--- a/src/ImageSharp/Primitives/ColorMatrix.Impl.cs
+++ b/src/ImageSharp/Primitives/ColorMatrix.Impl.cs
@@ -181,11 +181,11 @@ public void Init(
             float m41, float m42, float m43, float m44,
             float m51, float m52, float m53, float m54)
         {
-            this.X = new Vector4(m11, m12, m13, m14);
-            this.Y = new Vector4(m21, m22, m23, m24);
-            this.Z = new Vector4(m31, m32, m33, m34);
-            this.W = new Vector4(m41, m42, m43, m44);
-            this.V = new Vector4(m51, m52, m53, m54);
+            this.X = new(m11, m12, m13, m14);
+            this.Y = new(m21, m22, m23, m24);
+            this.Z = new(m31, m32, m33, m34);
+            this.W = new(m41, m42, m43, m44);
+            this.V = new(m51, m52, m53, m54);
         }
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/src/ImageSharp/Primitives/Complex64.cs b/src/ImageSharp/Primitives/Complex64.cs
index 4baedd9bae..2a16df969c 100644
--- a/src/ImageSharp/Primitives/Complex64.cs
+++ b/src/ImageSharp/Primitives/Complex64.cs
@@ -42,7 +42,7 @@ public Complex64(float real, float imaginary)
     /// <param name="scalar">The <see cref="float"/> scalar to use to multiply the <see cref="Complex64"/> value.</param>
     /// <returns>The <see cref="Complex64"/> result</returns>
     [MethodImpl(InliningOptions.ShortMethod)]
-    public static Complex64 operator *(Complex64 value, float scalar) => new Complex64(value.Real * scalar, value.Imaginary * scalar);
+    public static Complex64 operator *(Complex64 value, float scalar) => new(value.Real * scalar, value.Imaginary * scalar);
 
     /// <summary>
     /// Performs the multiplication operation between a <see cref="Complex64"/> instance and a <see cref="Vector4"/>.
@@ -53,7 +53,7 @@ public Complex64(float real, float imaginary)
     [MethodImpl(InliningOptions.ShortMethod)]
     public static ComplexVector4 operator *(Complex64 value, Vector4 vector)
     {
-        return new ComplexVector4 { Real = vector * value.Real, Imaginary = vector * value.Imaginary };
+        return new() { Real = vector * value.Real, Imaginary = vector * value.Imaginary };
     }
 
     /// <summary>
@@ -67,7 +67,7 @@ public Complex64(float real, float imaginary)
     {
         Vector4 real = (value.Real * vector.Real) - (value.Imaginary * vector.Imaginary);
         Vector4 imaginary = (value.Real * vector.Imaginary) + (value.Imaginary * vector.Real);
-        return new ComplexVector4 { Real = real, Imaginary = imaginary };
+        return new() { Real = real, Imaginary = imaginary };
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Primitives/DenseMatrix{T}.cs b/src/ImageSharp/Primitives/DenseMatrix{T}.cs
index 9849e0211f..b39f306cbf 100644
--- a/src/ImageSharp/Primitives/DenseMatrix{T}.cs
+++ b/src/ImageSharp/Primitives/DenseMatrix{T}.cs
@@ -36,7 +36,7 @@ public DenseMatrix(int columns, int rows)
 
         this.Rows = rows;
         this.Columns = columns;
-        this.Size = new Size(columns, rows);
+        this.Size = new(columns, rows);
         this.Count = columns * rows;
         this.Data = new T[this.Columns * this.Rows];
     }
@@ -56,7 +56,7 @@ public DenseMatrix(T[,] data)
 
         this.Rows = rows;
         this.Columns = columns;
-        this.Size = new Size(columns, rows);
+        this.Size = new(columns, rows);
         this.Count = this.Columns * this.Rows;
         this.Data = new T[this.Columns * this.Rows];
 
@@ -84,7 +84,7 @@ public DenseMatrix(int columns, int rows, Span<T> data)
 
         this.Rows = rows;
         this.Columns = columns;
-        this.Size = new Size(columns, rows);
+        this.Size = new(columns, rows);
         this.Count = this.Columns * this.Rows;
         this.Data = new T[this.Columns * this.Rows];
 
@@ -198,7 +198,7 @@ public DenseMatrix(int columns, int rows, Span<T> data)
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     public DenseMatrix<T> Transpose()
     {
-        DenseMatrix<T> result = new DenseMatrix<T>(this.Rows, this.Columns);
+        DenseMatrix<T> result = new(this.Rows, this.Columns);
 
         for (int y = 0; y < this.Rows; y++)
         {
diff --git a/src/ImageSharp/Primitives/LongRational.cs b/src/ImageSharp/Primitives/LongRational.cs
index 69139ac9c4..0b3380ca97 100644
--- a/src/ImageSharp/Primitives/LongRational.cs
+++ b/src/ImageSharp/Primitives/LongRational.cs
@@ -133,22 +133,22 @@ public static LongRational FromDouble(double value, bool bestPrecision)
     {
         if (value == 0.0)
         {
-            return new LongRational(0, 1);
+            return new(0, 1);
         }
 
         if (double.IsNaN(value))
         {
-            return new LongRational(0, 0);
+            return new(0, 0);
         }
 
         if (double.IsPositiveInfinity(value))
         {
-            return new LongRational(1, 0);
+            return new(1, 0);
         }
 
         if (double.IsNegativeInfinity(value))
         {
-            return new LongRational(-1, 0);
+            return new(-1, 0);
         }
 
         long numerator = 1;
@@ -208,14 +208,14 @@ public LongRational Simplify()
 
         if (this.Numerator == this.Denominator)
         {
-            return new LongRational(1, 1);
+            return new(1, 1);
         }
 
         long gcd = GreatestCommonDivisor(Math.Abs(this.Numerator), Math.Abs(this.Denominator));
 
         if (gcd > 1)
         {
-            return new LongRational(this.Numerator / gcd, this.Denominator / gcd);
+            return new(this.Numerator / gcd, this.Denominator / gcd);
         }
 
         return this;
diff --git a/src/ImageSharp/Primitives/Point.cs b/src/ImageSharp/Primitives/Point.cs
index 8ace7ffacf..5eae087ed9 100644
--- a/src/ImageSharp/Primitives/Point.cs
+++ b/src/ImageSharp/Primitives/Point.cs
@@ -232,7 +232,7 @@ public Point(Size size)
     /// <param name="matrix">The transformation matrix used.</param>
     /// <returns>The transformed <see cref="PointF"/>.</returns>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static Point Transform(Point point, Matrix3x2 matrix) => Round(Vector2.Transform(new Vector2(point.X, point.Y), matrix));
+    public static Point Transform(Point point, Matrix3x2 matrix) => Round(Vector2.Transform(new(point.X, point.Y), matrix));
 
     /// <summary>
     /// Deconstructs this point into two integers.
diff --git a/src/ImageSharp/Primitives/Rectangle.cs b/src/ImageSharp/Primitives/Rectangle.cs
index e2ae5071ef..f665333e4e 100644
--- a/src/ImageSharp/Primitives/Rectangle.cs
+++ b/src/ImageSharp/Primitives/Rectangle.cs
@@ -214,7 +214,7 @@ public static Rectangle Intersect(Rectangle a, Rectangle b)
 
         if (x2 >= x1 && y2 >= y1)
         {
-            return new Rectangle(x1, y1, x2 - x1, y2 - y1);
+            return new(x1, y1, x2 - x1, y2 - y1);
         }
 
         return Empty;
diff --git a/src/ImageSharp/Primitives/RectangleF.cs b/src/ImageSharp/Primitives/RectangleF.cs
index 68add77d09..658c245acc 100644
--- a/src/ImageSharp/Primitives/RectangleF.cs
+++ b/src/ImageSharp/Primitives/RectangleF.cs
@@ -207,7 +207,7 @@ public static RectangleF Intersect(RectangleF a, RectangleF b)
 
         if (x2 >= x1 && y2 >= y1)
         {
-            return new RectangleF(x1, y1, x2 - x1, y2 - y1);
+            return new(x1, y1, x2 - x1, y2 - y1);
         }
 
         return Empty;
diff --git a/src/ImageSharp/Primitives/SignedRational.cs b/src/ImageSharp/Primitives/SignedRational.cs
index bce32d454a..9dbd5f4d79 100644
--- a/src/ImageSharp/Primitives/SignedRational.cs
+++ b/src/ImageSharp/Primitives/SignedRational.cs
@@ -117,7 +117,7 @@ public SignedRational(double value, bool bestPrecision)
     /// </returns>
     public static SignedRational FromDouble(double value)
     {
-        return new SignedRational(value, false);
+        return new(value, false);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Primitives/Size.cs b/src/ImageSharp/Primitives/Size.cs
index c61eb768dc..5ceab493f9 100644
--- a/src/ImageSharp/Primitives/Size.cs
+++ b/src/ImageSharp/Primitives/Size.cs
@@ -85,14 +85,14 @@ public Size(Point point)
     /// </summary>
     /// <param name="size">The point.</param>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static implicit operator SizeF(Size size) => new SizeF(size.Width, size.Height);
+    public static implicit operator SizeF(Size size) => new(size.Width, size.Height);
 
     /// <summary>
     /// Converts the given <see cref="Size"/> into a <see cref="Point"/>.
     /// </summary>
     /// <param name="size">The size.</param>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static explicit operator Point(Size size) => new Point(size.Width, size.Height);
+    public static explicit operator Point(Size size) => new(size.Width, size.Height);
 
     /// <summary>
     /// Computes the sum of adding two sizes.
@@ -138,7 +138,7 @@ public Size(Point point)
     /// <param name="left">Dividend of type <see cref="Size"/>.</param>
     /// <param name="right">Divisor of type <see cref="int"/>.</param>
     /// <returns>Result of type <see cref="Size"/>.</returns>
-    public static Size operator /(Size left, int right) => new Size(unchecked(left.Width / right), unchecked(left.Height / right));
+    public static Size operator /(Size left, int right) => new(unchecked(left.Width / right), unchecked(left.Height / right));
 
     /// <summary>
     /// Multiplies <see cref="Size"/> by a <see cref="float"/> producing <see cref="SizeF"/>.
@@ -163,7 +163,7 @@ public Size(Point point)
     /// <param name="right">Divisor of type <see cref="int"/>.</param>
     /// <returns>Result of type <see cref="SizeF"/>.</returns>
     public static SizeF operator /(Size left, float right)
-        => new SizeF(left.Width / right, left.Height / right);
+        => new(left.Width / right, left.Height / right);
 
     /// <summary>
     /// Compares two <see cref="Size"/> objects for equality.
@@ -202,7 +202,7 @@ public Size(Point point)
     /// <param name="right">The size on the right hand of the operand.</param>
     /// <returns>The <see cref="Size"/>.</returns>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static Size Add(Size left, Size right) => new Size(unchecked(left.Width + right.Width), unchecked(left.Height + right.Height));
+    public static Size Add(Size left, Size right) => new(unchecked(left.Width + right.Width), unchecked(left.Height + right.Height));
 
     /// <summary>
     /// Contracts a <see cref="Size"/> by another <see cref="Size"/>.
@@ -211,7 +211,7 @@ public Size(Point point)
     /// <param name="right">The size on the right hand of the operand.</param>
     /// <returns>The <see cref="Size"/>.</returns>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static Size Subtract(Size left, Size right) => new Size(unchecked(left.Width - right.Width), unchecked(left.Height - right.Height));
+    public static Size Subtract(Size left, Size right) => new(unchecked(left.Width - right.Width), unchecked(left.Height - right.Height));
 
     /// <summary>
     /// Converts a <see cref="SizeF"/> to a <see cref="Size"/> by performing a ceiling operation on all the dimensions.
@@ -219,7 +219,7 @@ public Size(Point point)
     /// <param name="size">The size.</param>
     /// <returns>The <see cref="Size"/>.</returns>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static Size Ceiling(SizeF size) => new Size(unchecked((int)MathF.Ceiling(size.Width)), unchecked((int)MathF.Ceiling(size.Height)));
+    public static Size Ceiling(SizeF size) => new(unchecked((int)MathF.Ceiling(size.Width)), unchecked((int)MathF.Ceiling(size.Height)));
 
     /// <summary>
     /// Converts a <see cref="SizeF"/> to a <see cref="Size"/> by performing a round operation on all the dimensions.
@@ -227,7 +227,7 @@ public Size(Point point)
     /// <param name="size">The size.</param>
     /// <returns>The <see cref="Size"/>.</returns>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static Size Round(SizeF size) => new Size(unchecked((int)MathF.Round(size.Width)), unchecked((int)MathF.Round(size.Height)));
+    public static Size Round(SizeF size) => new(unchecked((int)MathF.Round(size.Width)), unchecked((int)MathF.Round(size.Height)));
 
     /// <summary>
     /// Transforms a size by the given matrix.
@@ -237,9 +237,9 @@ public Size(Point point)
     /// <returns>A transformed size.</returns>
     public static SizeF Transform(Size size, Matrix3x2 matrix)
     {
-        Vector2 v = Vector2.Transform(new Vector2(size.Width, size.Height), matrix);
+        Vector2 v = Vector2.Transform(new(size.Width, size.Height), matrix);
 
-        return new SizeF(v.X, v.Y);
+        return new(v.X, v.Y);
     }
 
     /// <summary>
@@ -248,7 +248,7 @@ public static SizeF Transform(Size size, Matrix3x2 matrix)
     /// <param name="size">The size.</param>
     /// <returns>The <see cref="Size"/>.</returns>
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
-    public static Size Truncate(SizeF size) => new Size(unchecked((int)size.Width), unchecked((int)size.Height));
+    public static Size Truncate(SizeF size) => new(unchecked((int)size.Width), unchecked((int)size.Height));
 
     /// <summary>
     /// Deconstructs this size into two integers.
@@ -281,7 +281,7 @@ public void Deconstruct(out int width, out int height)
     /// <param name="multiplier">Multiplier of type <see cref="int"/>.</param>
     /// <returns>Product of type <see cref="Size"/>.</returns>
     private static Size Multiply(Size size, int multiplier) =>
-        new Size(unchecked(size.Width * multiplier), unchecked(size.Height * multiplier));
+        new(unchecked(size.Width * multiplier), unchecked(size.Height * multiplier));
 
     /// <summary>
     /// Multiplies <see cref="Size"/> by a <see cref="float"/> producing <see cref="SizeF"/>.
@@ -290,5 +290,5 @@ private static Size Multiply(Size size, int multiplier) =>
     /// <param name="multiplier">Multiplier of type <see cref="float"/>.</param>
     /// <returns>Product of type SizeF.</returns>
     private static SizeF Multiply(Size size, float multiplier) =>
-        new SizeF(size.Width * multiplier, size.Height * multiplier);
+        new(size.Width * multiplier, size.Height * multiplier);
 }
diff --git a/src/ImageSharp/Primitives/SizeF.cs b/src/ImageSharp/Primitives/SizeF.cs
index 81c749875f..88c3b8319a 100644
--- a/src/ImageSharp/Primitives/SizeF.cs
+++ b/src/ImageSharp/Primitives/SizeF.cs
@@ -191,9 +191,9 @@ public SizeF(PointF point)
     /// <returns>A transformed size.</returns>
     public static SizeF Transform(SizeF size, Matrix3x2 matrix)
     {
-        Vector2 v = Vector2.Transform(new Vector2(size.Width, size.Height), matrix);
+        Vector2 v = Vector2.Transform(new(size.Width, size.Height), matrix);
 
-        return new SizeF(v.X, v.Y);
+        return new(v.X, v.Y);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Primitives/ValueSize.cs b/src/ImageSharp/Primitives/ValueSize.cs
index f572dd658f..7b4adeaac6 100644
--- a/src/ImageSharp/Primitives/ValueSize.cs
+++ b/src/ImageSharp/Primitives/ValueSize.cs
@@ -68,7 +68,7 @@ public enum ValueSizeType
     /// <returns>a Values size with type PercentageOfWidth</returns>
     public static ValueSize PercentageOfWidth(float percentage)
     {
-        return new ValueSize(percentage, ValueSizeType.PercentageOfWidth);
+        return new(percentage, ValueSizeType.PercentageOfWidth);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Processing/Extensions/Normalization/HistogramEqualizationExtensions.cs b/src/ImageSharp/Processing/Extensions/Normalization/HistogramEqualizationExtensions.cs
index d7f4ba3594..6af61338d1 100644
--- a/src/ImageSharp/Processing/Extensions/Normalization/HistogramEqualizationExtensions.cs
+++ b/src/ImageSharp/Processing/Extensions/Normalization/HistogramEqualizationExtensions.cs
@@ -16,7 +16,7 @@ public static class HistogramEqualizationExtensions
     /// <param name="source">The current image processing context.</param>
     /// <returns>The <see cref="IImageProcessingContext"/>.</returns>
     public static IImageProcessingContext HistogramEqualization(this IImageProcessingContext source) =>
-        HistogramEqualization(source, new HistogramEqualizationOptions());
+        HistogramEqualization(source, new());
 
     /// <summary>
     /// Equalizes the histogram of an image to increases the contrast.
diff --git a/src/ImageSharp/Processing/Extensions/Transforms/CropExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/CropExtensions.cs
index 3025806d4f..256bac64e5 100644
--- a/src/ImageSharp/Processing/Extensions/Transforms/CropExtensions.cs
+++ b/src/ImageSharp/Processing/Extensions/Transforms/CropExtensions.cs
@@ -19,7 +19,7 @@ public static class CropExtensions
     /// <param name="height">The target image height.</param>
     /// <returns>The <see cref="IImageProcessingContext"/>.</returns>
     public static IImageProcessingContext Crop(this IImageProcessingContext source, int width, int height) =>
-        Crop(source, new Rectangle(0, 0, width, height));
+        Crop(source, new(0, 0, width, height));
 
     /// <summary>
     /// Crops an image to the given rectangle.
diff --git a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
index a6d37fea46..878ef07b81 100644
--- a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
+++ b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
@@ -30,10 +30,10 @@ public static IImageProcessingContext Pad(this IImageProcessingContext source, i
     public static IImageProcessingContext Pad(this IImageProcessingContext source, int width, int height, Color color)
     {
         Size size = source.GetCurrentSize();
-        ResizeOptions? options = new ResizeOptions
+        ResizeOptions? options = new()
         {
             // Prevent downsizing.
-            Size = new Size(Math.Max(width, size.Width), Math.Max(height, size.Height)),
+            Size = new(Math.Max(width, size.Width), Math.Max(height, size.Height)),
             Mode = ResizeMode.BoxPad,
             Sampler = KnownResamplers.NearestNeighbor,
             PadColor = color
diff --git a/src/ImageSharp/Processing/Extensions/Transforms/TransformExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/TransformExtensions.cs
index 60f90b10f2..dedde797bd 100644
--- a/src/ImageSharp/Processing/Extensions/Transforms/TransformExtensions.cs
+++ b/src/ImageSharp/Processing/Extensions/Transforms/TransformExtensions.cs
@@ -34,7 +34,7 @@ public static IImageProcessingContext Transform(
         this IImageProcessingContext source,
         AffineTransformBuilder builder,
         IResampler sampler) =>
-        source.Transform(new Rectangle(Point.Empty, source.GetCurrentSize()), builder, sampler);
+        source.Transform(new(Point.Empty, source.GetCurrentSize()), builder, sampler);
 
     /// <summary>
     /// Performs an affine transform of an image using the specified sampling algorithm.
@@ -96,7 +96,7 @@ public static IImageProcessingContext Transform(
         this IImageProcessingContext source,
         ProjectiveTransformBuilder builder,
         IResampler sampler) =>
-        source.Transform(new Rectangle(Point.Empty, source.GetCurrentSize()), builder, sampler);
+        source.Transform(new(Point.Empty, source.GetCurrentSize()), builder, sampler);
 
     /// <summary>
     /// Performs a projective transform of an image using the specified sampling algorithm.
diff --git a/src/ImageSharp/Processing/KnownFilterMatrices.cs b/src/ImageSharp/Processing/KnownFilterMatrices.cs
index b312287b52..0b40fa945d 100644
--- a/src/ImageSharp/Processing/KnownFilterMatrices.cs
+++ b/src/ImageSharp/Processing/KnownFilterMatrices.cs
@@ -20,7 +20,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating Achromatomaly (Color desensitivity) color blindness
     /// </summary>
-    public static ColorMatrix AchromatomalyFilter { get; } = new ColorMatrix
+    public static ColorMatrix AchromatomalyFilter { get; } = new()
     {
         M11 = .618F,
         M12 = .163F,
@@ -37,7 +37,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating Achromatopsia (Monochrome) color blindness.
     /// </summary>
-    public static ColorMatrix AchromatopsiaFilter { get; } = new ColorMatrix
+    public static ColorMatrix AchromatopsiaFilter { get; } = new()
     {
         M11 = .299F,
         M12 = .299F,
@@ -54,7 +54,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating Deuteranomaly (Green-Weak) color blindness.
     /// </summary>
-    public static ColorMatrix DeuteranomalyFilter { get; } = new ColorMatrix
+    public static ColorMatrix DeuteranomalyFilter { get; } = new()
     {
         M11 = .8F,
         M12 = .258F,
@@ -68,7 +68,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating Deuteranopia (Green-Blind) color blindness.
     /// </summary>
-    public static ColorMatrix DeuteranopiaFilter { get; } = new ColorMatrix
+    public static ColorMatrix DeuteranopiaFilter { get; } = new()
     {
         M11 = .625F,
         M12 = .7F,
@@ -82,7 +82,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating Protanomaly (Red-Weak) color blindness.
     /// </summary>
-    public static ColorMatrix ProtanomalyFilter { get; } = new ColorMatrix
+    public static ColorMatrix ProtanomalyFilter { get; } = new()
     {
         M11 = .817F,
         M12 = .333F,
@@ -96,7 +96,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating Protanopia (Red-Blind) color blindness.
     /// </summary>
-    public static ColorMatrix ProtanopiaFilter { get; } = new ColorMatrix
+    public static ColorMatrix ProtanopiaFilter { get; } = new()
     {
         M11 = .567F,
         M12 = .558F,
@@ -110,7 +110,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating Tritanomaly (Blue-Weak) color blindness.
     /// </summary>
-    public static ColorMatrix TritanomalyFilter { get; } = new ColorMatrix
+    public static ColorMatrix TritanomalyFilter { get; } = new()
     {
         M11 = .967F,
         M21 = .33F,
@@ -124,7 +124,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating Tritanopia (Blue-Blind) color blindness.
     /// </summary>
-    public static ColorMatrix TritanopiaFilter { get; } = new ColorMatrix
+    public static ColorMatrix TritanopiaFilter { get; } = new()
     {
         M11 = .95F,
         M21 = .05F,
@@ -138,7 +138,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets an approximated black and white filter
     /// </summary>
-    public static ColorMatrix BlackWhiteFilter { get; } = new ColorMatrix
+    public static ColorMatrix BlackWhiteFilter { get; } = new()
     {
         M11 = 1.5F,
         M12 = 1.5F,
@@ -190,7 +190,7 @@ public static class KnownFilterMatrices
     /// <summary>
     /// Gets a filter recreating an old Polaroid camera effect.
     /// </summary>
-    public static ColorMatrix PolaroidFilter { get; } = new ColorMatrix
+    public static ColorMatrix PolaroidFilter { get; } = new()
     {
         M11 = 1.538F,
         M12 = -.062F,
@@ -221,7 +221,7 @@ public static ColorMatrix CreateBrightnessFilter(float amount)
         Guard.MustBeGreaterThanOrEqualTo(amount, 0, nameof(amount));
 
         // See https://cs.chromium.org/chromium/src/cc/paint/render_surface_filters.cc
-        return new ColorMatrix
+        return new()
         {
             M11 = amount,
             M22 = amount,
@@ -246,7 +246,7 @@ public static ColorMatrix CreateContrastFilter(float amount)
         // See https://cs.chromium.org/chromium/src/cc/paint/render_surface_filters.cc
         float contrast = (-.5F * amount) + .5F;
 
-        return new ColorMatrix
+        return new()
         {
             M11 = amount,
             M22 = amount,
@@ -338,7 +338,7 @@ public static ColorMatrix CreateHueFilter(float degrees)
         // The matrix is set up to preserve the luminance of the image.
         // See http://graficaobscura.com/matrix/index.html
         // Number are taken from https://msdn.microsoft.com/en-us/library/jj192162(v=vs.85).aspx
-        return new ColorMatrix
+        return new()
         {
             M11 = .213F + (cosRadian * .787F) - (sinRadian * .213F),
             M21 = .715F - (cosRadian * .715F) - (sinRadian * .715F),
@@ -367,7 +367,7 @@ public static ColorMatrix CreateInvertFilter(float amount)
         // See https://cs.chromium.org/chromium/src/cc/paint/render_surface_filters.cc
         float invert = 1F - (2F * amount);
 
-        return new ColorMatrix
+        return new()
         {
             M11 = invert,
             M22 = invert,
@@ -389,7 +389,7 @@ public static ColorMatrix CreateOpacityFilter(float amount)
         Guard.MustBeBetweenOrEqualTo(amount, 0, 1, nameof(amount));
 
         // See https://cs.chromium.org/chromium/src/cc/paint/render_surface_filters.cc
-        return new ColorMatrix
+        return new()
         {
             M11 = 1F,
             M22 = 1F,
@@ -443,7 +443,7 @@ public static ColorMatrix CreateLightnessFilter(float amount)
         Guard.MustBeGreaterThanOrEqualTo(amount, 0, nameof(amount));
         amount--;
 
-        return new ColorMatrix
+        return new()
         {
             M11 = 1F,
             M22 = 1F,
@@ -467,7 +467,7 @@ public static ColorMatrix CreateSepiaFilter(float amount)
         amount = 1F - amount;
 
         // See https://cs.chromium.org/chromium/src/cc/paint/render_surface_filters.cc
-        return new ColorMatrix
+        return new()
         {
             M11 = .393F + (.607F * amount),
             M21 = .769F - (.769F * amount),
diff --git a/src/ImageSharp/Processing/Processors/CloningImageProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/CloningImageProcessor{TPixel}.cs
index abe32e3882..af509df419 100644
--- a/src/ImageSharp/Processing/Processors/CloningImageProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/CloningImageProcessor{TPixel}.cs
@@ -160,7 +160,7 @@ private Image<TPixel> CreateTarget()
         ImageFrame<TPixel>[] destinationFrames = new ImageFrame<TPixel>[source.Frames.Count];
         for (int i = 0; i < destinationFrames.Length; i++)
         {
-            destinationFrames[i] = new ImageFrame<TPixel>(
+            destinationFrames[i] = new(
                 this.Configuration,
                 destinationSize.Width,
                 destinationSize.Height,
@@ -168,7 +168,7 @@ private Image<TPixel> CreateTarget()
         }
 
         // Use the overload to prevent an extra frame being added.
-        return new Image<TPixel>(this.Configuration, source.Metadata.DeepClone(), destinationFrames);
+        return new(this.Configuration, source.Metadata.DeepClone(), destinationFrames);
     }
 
     private void CheckFrameCount(Image<TPixel> a, Image<TPixel> b)
diff --git a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
index fc11556962..c7fa8e9b84 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
@@ -68,7 +68,7 @@ public BoxBlurProcessor(
     /// <inheritdoc/>
     protected override void OnFrameApply(ImageFrame<TPixel> source)
     {
-        using Convolution2PassProcessor<TPixel>? processor = new Convolution2PassProcessor<TPixel>(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY);
+        using Convolution2PassProcessor<TPixel>? processor = new(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY);
 
         processor.Apply(source);
     }
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Convolution2DRowOperation{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/Convolution2DRowOperation{TPixel}.cs
index 08e8425bbf..bccf191748 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Convolution2DRowOperation{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Convolution2DRowOperation{TPixel}.cs
@@ -75,7 +75,7 @@ private void Convolve3(int y, Span<Vector4> span)
         Span<Vector4> targetYBuffer = span.Slice(boundsWidth, boundsWidth);
         Span<Vector4> targetXBuffer = span.Slice(boundsWidth * 2, boundsWidth);
 
-        Convolution2DState state = new Convolution2DState(in this.kernelMatrixY, in this.kernelMatrixX, this.map);
+        Convolution2DState state = new(in this.kernelMatrixY, in this.kernelMatrixX, this.map);
         ref int sampleRowBase = ref state.GetSampleRow((uint)(y - this.bounds.Y));
 
         // Clear the target buffers for each row run.
@@ -141,7 +141,7 @@ private void Convolve4(int y, Span<Vector4> span)
         Span<Vector4> targetYBuffer = span.Slice(boundsWidth, boundsWidth);
         Span<Vector4> targetXBuffer = span.Slice(boundsWidth * 2, boundsWidth);
 
-        Convolution2DState state = new Convolution2DState(in this.kernelMatrixY, in this.kernelMatrixX, this.map);
+        Convolution2DState state = new(in this.kernelMatrixY, in this.kernelMatrixX, this.map);
         ref int sampleRowBase = ref state.GetSampleRow((uint)(y - this.bounds.Y));
 
         // Clear the target buffers for each row run.
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Convolution2DState.cs b/src/ImageSharp/Processing/Processors/Convolution/Convolution2DState.cs
index 6f5388e22b..b3dae6baac 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Convolution2DState.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Convolution2DState.cs
@@ -22,8 +22,8 @@ public Convolution2DState(
         KernelSamplingMap map)
     {
         // We check the kernels are the same size upstream.
-        this.KernelY = new ReadOnlyKernel(kernelY);
-        this.KernelX = new ReadOnlyKernel(kernelX);
+        this.KernelY = new(kernelY);
+        this.KernelX = new(kernelX);
         this.kernelHeight = (uint)kernelY.Rows;
         this.kernelWidth = (uint)kernelY.Columns;
         this.rowOffsetMap = map.GetRowOffsetSpan();
diff --git a/src/ImageSharp/Processing/Processors/Convolution/ConvolutionState.cs b/src/ImageSharp/Processing/Processors/Convolution/ConvolutionState.cs
index 6663c45021..20e95d0582 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/ConvolutionState.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/ConvolutionState.cs
@@ -20,7 +20,7 @@ public ConvolutionState(
         in DenseMatrix<float> kernel,
         KernelSamplingMap map)
     {
-        this.Kernel = new ReadOnlyKernel(kernel);
+        this.Kernel = new(kernel);
         this.kernelHeight = (uint)kernel.Rows;
         this.kernelWidth = (uint)kernel.Columns;
         this.rowOffsetMap = map.GetRowOffsetSpan();
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
index 9a103619a9..d250959d1d 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
@@ -55,7 +55,7 @@ protected override void BeforeImageApply()
     /// <inheritdoc />
     protected override void OnFrameApply(ImageFrame<TPixel> source)
     {
-        using Convolution2DProcessor<TPixel>? processor = new Convolution2DProcessor<TPixel>(
+        using Convolution2DProcessor<TPixel>? processor = new(
             this.Configuration,
             in this.kernelX,
             in this.kernelY,
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Kernels/Implementation/LaplacianKernelFactory.cs b/src/ImageSharp/Processing/Processors/Convolution/Kernels/Implementation/LaplacianKernelFactory.cs
index cd9f4d7aba..b51ed1819e 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Kernels/Implementation/LaplacianKernelFactory.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Kernels/Implementation/LaplacianKernelFactory.cs
@@ -19,7 +19,7 @@ public static DenseMatrix<float> CreateKernel(uint length)
         Guard.MustBeGreaterThanOrEqualTo(length, 3u, nameof(length));
         Guard.IsFalse(length % 2 == 0, nameof(length), "The kernel length must be an odd number.");
 
-        DenseMatrix<float> kernel = new DenseMatrix<float>((int)length);
+        DenseMatrix<float> kernel = new((int)length);
         kernel.Fill(-1);
 
         int mid = (int)(length / 2);
diff --git a/src/ImageSharp/Processing/Processors/Convolution/MedianConvolutionState.cs b/src/ImageSharp/Processing/Processors/Convolution/MedianConvolutionState.cs
index 137334c29e..5b2c903baf 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/MedianConvolutionState.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/MedianConvolutionState.cs
@@ -21,7 +21,7 @@ public MedianConvolutionState(
         in DenseMatrix<Vector4> kernel,
         KernelSamplingMap map)
     {
-        this.Kernel = new Kernel<Vector4>(kernel);
+        this.Kernel = new(kernel);
         this.kernelHeight = kernel.Rows;
         this.kernelWidth = kernel.Columns;
         this.rowOffsetMap = map.GetRowOffsetSpan();
diff --git a/src/ImageSharp/Processing/Processors/Convolution/MedianRowOperation{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/MedianRowOperation{TPixel}.cs
index ca2cabab55..64fd40f153 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/MedianRowOperation{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/MedianRowOperation{TPixel}.cs
@@ -153,7 +153,7 @@ private static Vector4 FindMedian3(ReadOnlySpan<Vector4> kernelSpan, Span<float>
 
         // Taking the W value from the source pixels, where the middle index in the kernelSpan is by definition the resulting pixel.
         // This will preserve the alpha value.
-        return new Vector4(xChannel[halfLength], yChannel[halfLength], zChannel[halfLength], kernelSpan[halfLength].W);
+        return new(xChannel[halfLength], yChannel[halfLength], zChannel[halfLength], kernelSpan[halfLength].W);
     }
 
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -176,6 +176,6 @@ private static Vector4 FindMedian4(ReadOnlySpan<Vector4> kernelSpan, Span<float>
         zChannel.Sort();
         wChannel.Sort();
 
-        return new Vector4(xChannel[halfLength], yChannel[halfLength], zChannel[halfLength], wChannel[halfLength]);
+        return new(xChannel[halfLength], yChannel[halfLength], zChannel[halfLength], wChannel[halfLength]);
     }
 }
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs b/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
index 0330a9e311..e163ff09fe 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
@@ -16,7 +16,7 @@ internal static class BokehBlurKernelDataProvider
     /// <summary>
     /// The mapping of initialized complex kernels and parameters, to speed up the initialization of new <see cref="BokehBlurProcessor{TPixel}"/> instances
     /// </summary>
-    private static readonly ConcurrentDictionary<BokehBlurParameters, BokehBlurKernelData> Cache = new ConcurrentDictionary<BokehBlurParameters, BokehBlurKernelData>();
+    private static readonly ConcurrentDictionary<BokehBlurParameters, BokehBlurKernelData> Cache = new();
 
     /// <summary>
     /// Gets the kernel scales to adjust the component values in each kernel
@@ -90,7 +90,7 @@ public static BokehBlurKernelData GetBokehBlurKernelData(
         int componentsCount)
     {
         // Reuse the initialized values from the cache, if possible
-        BokehBlurParameters parameters = new BokehBlurParameters(radius, componentsCount);
+        BokehBlurParameters parameters = new(radius, componentsCount);
         if (!Cache.TryGetValue(parameters, out BokehBlurKernelData info))
         {
             // Initialize the complex kernels and parameters with the current arguments
@@ -99,7 +99,7 @@ public static BokehBlurKernelData GetBokehBlurKernelData(
             NormalizeKernels(kernels, kernelParameters);
 
             // Store them in the cache for future use
-            info = new BokehBlurKernelData(kernelParameters, kernels);
+            info = new(kernelParameters, kernels);
             Cache.TryAdd(parameters, info);
         }
 
@@ -167,7 +167,7 @@ private static Complex64[] CreateComplex1DKernel(
             value *= value;
 
             // Fill in the complex kernel values
-            Unsafe.Add(ref baseRef, (uint)i) = new Complex64(
+            Unsafe.Add(ref baseRef, (uint)i) = new(
                 MathF.Exp(-a * value) * MathF.Cos(b * value),
                 MathF.Exp(-a * value) * MathF.Sin(b * value));
         }
diff --git a/src/ImageSharp/Processing/Processors/Dithering/ErroDither.KnownTypes.cs b/src/ImageSharp/Processing/Processors/Dithering/ErroDither.KnownTypes.cs
index 57d8ef59a6..d58f9020c3 100644
--- a/src/ImageSharp/Processing/Processors/Dithering/ErroDither.KnownTypes.cs
+++ b/src/ImageSharp/Processing/Processors/Dithering/ErroDither.KnownTypes.cs
@@ -65,7 +65,7 @@ private static ErrorDither CreateAtkinson()
             { 0, 1 / divisor, 0, 0 }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 
     private static ErrorDither CreateBurks()
@@ -79,7 +79,7 @@ private static ErrorDither CreateBurks()
             { 2 / divisor, 4 / divisor, 8 / divisor, 4 / divisor, 2 / divisor }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 
     private static ErrorDither CreateFloydSteinberg()
@@ -93,7 +93,7 @@ private static ErrorDither CreateFloydSteinberg()
             { 3 / divisor, 5 / divisor, 1 / divisor }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 
     private static ErrorDither CreateJarvisJudiceNinke()
@@ -108,7 +108,7 @@ private static ErrorDither CreateJarvisJudiceNinke()
             { 1 / divisor, 3 / divisor, 5 / divisor, 3 / divisor, 1 / divisor }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 
     private static ErrorDither CreateSierra2()
@@ -122,7 +122,7 @@ private static ErrorDither CreateSierra2()
            { 1 / divisor, 2 / divisor, 3 / divisor, 2 / divisor, 1 / divisor }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 
     private static ErrorDither CreateSierra3()
@@ -137,7 +137,7 @@ private static ErrorDither CreateSierra3()
            { 0, 2 / divisor, 3 / divisor, 2 / divisor, 0 }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 
     private static ErrorDither CreateSierraLite()
@@ -151,7 +151,7 @@ private static ErrorDither CreateSierraLite()
            { 1 / divisor, 1 / divisor, 0 }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 
     private static ErrorDither CreateStevensonArce()
@@ -167,7 +167,7 @@ private static ErrorDither CreateStevensonArce()
            { 5 / divisor,  0, 12 / divisor,  0, 12 / divisor,  0,  5 / divisor }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 
     private static ErrorDither CreateStucki()
@@ -182,6 +182,6 @@ private static ErrorDither CreateStucki()
            { 1 / divisor, 2 / divisor, 4 / divisor, 2 / divisor, 1 / divisor }
         };
 
-        return new ErrorDither(matrix, offset);
+        return new(matrix, offset);
     }
 }
diff --git a/src/ImageSharp/Processing/Processors/Dithering/OrderedDither.cs b/src/ImageSharp/Processing/Processors/Dithering/OrderedDither.cs
index d4dd10b739..b0622cac58 100644
--- a/src/ImageSharp/Processing/Processors/Dithering/OrderedDither.cs
+++ b/src/ImageSharp/Processing/Processors/Dithering/OrderedDither.cs
@@ -32,7 +32,7 @@ public OrderedDither(uint length)
         // We don't want to adjust the original matrix generation code as that
         // creates known, easy to test values.
         // https://en.wikipedia.org/wiki/Ordered_dithering#Algorithm
-        DenseMatrix<float> thresholdMatrix = new DenseMatrix<float>((int)length);
+        DenseMatrix<float> thresholdMatrix = new((int)length);
         float m2 = length * length;
         for (int y = 0; y < length; y++)
         {
diff --git a/src/ImageSharp/Processing/Processors/Dithering/OrderedDitherFactory.cs b/src/ImageSharp/Processing/Processors/Dithering/OrderedDitherFactory.cs
index 9fa331d7b7..ec82f01d7a 100644
--- a/src/ImageSharp/Processing/Processors/Dithering/OrderedDitherFactory.cs
+++ b/src/ImageSharp/Processing/Processors/Dithering/OrderedDitherFactory.cs
@@ -29,7 +29,7 @@ public static DenseMatrix<uint> CreateDitherMatrix(uint length)
         while (length > bayerLength);
 
         // Create our Bayer matrix that matches the given exponent and dimensions
-        DenseMatrix<uint> matrix = new DenseMatrix<uint>((int)length);
+        DenseMatrix<uint> matrix = new((int)length);
         uint i = 0;
         for (int y = 0; y < length; y++)
         {
diff --git a/src/ImageSharp/Processing/Processors/Dithering/PaletteDitherProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Dithering/PaletteDitherProcessor{TPixel}.cs
index 7e672393c7..b0781ef616 100644
--- a/src/ImageSharp/Processing/Processors/Dithering/PaletteDitherProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Dithering/PaletteDitherProcessor{TPixel}.cs
@@ -37,7 +37,7 @@ public PaletteDitherProcessor(Configuration configuration, PaletteDitherProcesso
         this.paletteOwner = this.Configuration.MemoryAllocator.Allocate<TPixel>(sourcePalette.Length);
         Color.ToPixel(sourcePalette, this.paletteOwner.Memory.Span);
 
-        this.ditherProcessor = new DitherProcessor(
+        this.ditherProcessor = new(
             this.Configuration,
             this.paletteOwner.Memory,
             definition.DitherScale);
@@ -89,7 +89,7 @@ public DitherProcessor(
             float ditherScale)
         {
             this.Configuration = configuration;
-            this.pixelMap = new EuclideanPixelMap<TPixel>(configuration, palette);
+            this.pixelMap = new(configuration, palette);
             this.Palette = palette;
             this.DitherScale = ditherScale;
         }
diff --git a/src/ImageSharp/Processing/Processors/Effects/OilPaintingProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Effects/OilPaintingProcessor{TPixel}.cs
index f811bae0f7..5e491c1ee6 100644
--- a/src/ImageSharp/Processing/Processors/Effects/OilPaintingProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Effects/OilPaintingProcessor{TPixel}.cs
@@ -174,7 +174,7 @@ public void Invoke(in RowInterval rows)
                         float green = greenBinSpan[maxIndex] / maxIntensity;
                         float alpha = sourceRowVector4Span[x].W;
 
-                        targetRowVector4Span[x] = new Vector4(red, green, blue, alpha);
+                        targetRowVector4Span[x] = new(red, green, blue, alpha);
                     }
                 }
 
diff --git a/src/ImageSharp/Processing/Processors/Effects/PixelRowDelegateProcessor.cs b/src/ImageSharp/Processing/Processors/Effects/PixelRowDelegateProcessor.cs
index 06cfa49b3d..f1014c0df6 100644
--- a/src/ImageSharp/Processing/Processors/Effects/PixelRowDelegateProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Effects/PixelRowDelegateProcessor.cs
@@ -37,7 +37,7 @@ public PixelRowDelegateProcessor(PixelRowOperation pixelRowOperation, PixelConve
     public IImageProcessor<TPixel> CreatePixelSpecificProcessor<TPixel>(Configuration configuration, Image<TPixel> source, Rectangle sourceRectangle)
         where TPixel : unmanaged, IPixel<TPixel>
         => new PixelRowDelegateProcessor<TPixel, PixelRowDelegate>(
-            new PixelRowDelegate(this.PixelRowOperation),
+            new(this.PixelRowOperation),
             configuration,
             this.Modifiers,
             source,
diff --git a/src/ImageSharp/Processing/Processors/Effects/PixelRowDelegateProcessor{TPixel,TDelegate}.cs b/src/ImageSharp/Processing/Processors/Effects/PixelRowDelegateProcessor{TPixel,TDelegate}.cs
index d38ffc801e..a3aba4cfc4 100644
--- a/src/ImageSharp/Processing/Processors/Effects/PixelRowDelegateProcessor{TPixel,TDelegate}.cs
+++ b/src/ImageSharp/Processing/Processors/Effects/PixelRowDelegateProcessor{TPixel,TDelegate}.cs
@@ -96,7 +96,7 @@ public void Invoke(int y, Span<Vector4> span)
             PixelOperations<TPixel>.Instance.ToVector4(this.configuration, rowSpan, span, this.modifiers);
 
             // Run the user defined pixel shader to the current row of pixels
-            Unsafe.AsRef(in this.rowProcessor).Invoke(span, new Point(this.startX, y));
+            Unsafe.AsRef(in this.rowProcessor).Invoke(span, new(this.startX, y));
 
             PixelOperations<TPixel>.Instance.FromVector4Destructive(this.configuration, span, rowSpan, this.modifiers);
         }
diff --git a/src/ImageSharp/Processing/Processors/Effects/PositionAwarePixelRowDelegateProcessor.cs b/src/ImageSharp/Processing/Processors/Effects/PositionAwarePixelRowDelegateProcessor.cs
index 6786eb5f50..a54a7bfd25 100644
--- a/src/ImageSharp/Processing/Processors/Effects/PositionAwarePixelRowDelegateProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Effects/PositionAwarePixelRowDelegateProcessor.cs
@@ -38,7 +38,7 @@ public IImageProcessor<TPixel> CreatePixelSpecificProcessor<TPixel>(Configuratio
         where TPixel : unmanaged, IPixel<TPixel>
     {
         return new PixelRowDelegateProcessor<TPixel, PixelRowDelegate>(
-            new PixelRowDelegate(this.PixelRowOperation),
+            new(this.PixelRowOperation),
             configuration,
             this.Modifiers,
             source,
diff --git a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
index 78085eaab5..e911249586 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
@@ -81,7 +81,7 @@ protected override void OnFrameApply(ImageFrame<TPixel> source)
             RowIntervalOperation operation = new(cdfData, tileYStartPositions, tileWidth, tileHeight, tileCount, halfTileWidth, luminanceLevels, source.PixelBuffer);
             ParallelRowIterator.IterateRowIntervals(
                 this.Configuration,
-                new Rectangle(0, 0, sourceWidth, tileYStartPositions.Count),
+                new(0, 0, sourceWidth, tileYStartPositions.Count),
                 in operation);
 
             // Fix left column
@@ -191,7 +191,7 @@ private static void ProcessBorderColumn(
                 {
                     ref TPixel pixel = ref rowSpan[dx];
                     float luminanceEqualized = InterpolateBetweenTwoTiles(pixel, cdfData, cdfX, cdfY, cdfX, cdfY + 1, tileY, tileHeight, luminanceLevels);
-                    pixel = TPixel.FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
+                    pixel = TPixel.FromVector4(new(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
                 }
 
                 tileY++;
@@ -243,7 +243,7 @@ private static void ProcessBorderRow(
                 {
                     ref TPixel pixel = ref rowSpan[dx];
                     float luminanceEqualized = InterpolateBetweenTwoTiles(pixel, cdfData, cdfX, cdfY, cdfX + 1, cdfY, tileX, tileWidth, luminanceLevels);
-                    pixel = TPixel.FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
+                    pixel = TPixel.FromVector4(new(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
                     tileX++;
                 }
             }
@@ -432,7 +432,7 @@ public void Invoke(in RowInterval rows)
                                 this.tileHeight,
                                 this.luminanceLevels);
 
-                            pixel = TPixel.FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
+                            pixel = TPixel.FromVector4(new(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
                             tileX++;
                         }
 
@@ -515,7 +515,7 @@ public void CalculateLookupTables(ImageFrame<TPixel> source, HistogramEqualizati
 
             ParallelRowIterator.IterateRowIntervals(
                 this.configuration,
-                new Rectangle(0, 0, this.sourceWidth, this.tileYStartPositions.Count),
+                new(0, 0, this.sourceWidth, this.tileYStartPositions.Count),
                 in operation);
         }
 
diff --git a/src/ImageSharp/Processing/Processors/Normalization/AutoLevelProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Normalization/AutoLevelProcessor{TPixel}.cs
index 606789af96..f104ee34a2 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/AutoLevelProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/AutoLevelProcessor{TPixel}.cs
@@ -214,7 +214,7 @@ public void Invoke(int y, Span<Vector4> span)
                 float scaledY = Unsafe.Add(ref cdfBase, originalY) / noOfPixelsMinusCdfMin;
                 uint originalZ = (uint)MathF.Round(vector.Z);
                 float scaledZ = Unsafe.Add(ref cdfBase, originalZ) / noOfPixelsMinusCdfMin;
-                Unsafe.Add(ref vectorRef, (uint)x) = new Vector4(scaledX, scaledY, scaledZ, vector.W);
+                Unsafe.Add(ref vectorRef, (uint)x) = new(scaledX, scaledY, scaledZ, vector.W);
             }
 
             PixelOperations<TPixel>.Instance.FromVector4Destructive(this.configuration, vectorBuffer, pixelRow);
diff --git a/src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor{TPixel}.cs
index 3ab8f7431e..b159847bbf 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor{TPixel}.cs
@@ -132,7 +132,7 @@ public void Invoke(int y, Span<Vector4> span)
                 Vector4 vector = Unsafe.Add(ref vectorRef, (uint)x);
                 int luminance = ColorNumerics.GetBT709Luminance(ref vector, levels);
                 float luminanceEqualized = Unsafe.Add(ref cdfBase, (uint)luminance) / noOfPixelsMinusCdfMin;
-                Unsafe.Add(ref vectorRef, (uint)x) = new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, vector.W);
+                Unsafe.Add(ref vectorRef, (uint)x) = new(luminanceEqualized, luminanceEqualized, luminanceEqualized, vector.W);
             }
 
             PixelOperations<TPixel>.Instance.FromVector4Destructive(this.configuration, vectorBuffer, pixelRow);
diff --git a/src/ImageSharp/Processing/Processors/Overlays/GlowProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Overlays/GlowProcessor{TPixel}.cs
index d73e7bea1c..317fa7e604 100644
--- a/src/ImageSharp/Processing/Processors/Overlays/GlowProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Overlays/GlowProcessor{TPixel}.cs
@@ -105,7 +105,7 @@ public void Invoke(int y, Span<float> span)
 
             for (int i = 0; i < this.bounds.Width; i++)
             {
-                float distance = Vector2.Distance(this.center, new Vector2(i + this.bounds.X, y));
+                float distance = Vector2.Distance(this.center, new(i + this.bounds.X, y));
                 span[i] = Numerics.Clamp(this.blendPercent * (1 - (.95F * (distance / this.maxDistance))), 0, 1F);
             }
 
diff --git a/src/ImageSharp/Processing/Processors/Overlays/VignetteProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Overlays/VignetteProcessor{TPixel}.cs
index b08cd898e8..b24ed7ed54 100644
--- a/src/ImageSharp/Processing/Processors/Overlays/VignetteProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Overlays/VignetteProcessor{TPixel}.cs
@@ -113,7 +113,7 @@ public void Invoke(int y, Span<float> span)
 
             for (int i = 0; i < this.bounds.Width; i++)
             {
-                float distance = Vector2.Distance(this.center, new Vector2(i + this.bounds.X, y));
+                float distance = Vector2.Distance(this.center, new(i + this.bounds.X, y));
                 span[i] = Numerics.Clamp(this.blendPercent * (.9F * (distance / this.maxDistance)), 0, 1F);
             }
 
diff --git a/src/ImageSharp/Processing/Processors/Quantization/EuclideanPixelMap{TPixel}.cs b/src/ImageSharp/Processing/Processors/Quantization/EuclideanPixelMap{TPixel}.cs
index 4fd37d479d..2e381caade 100644
--- a/src/ImageSharp/Processing/Processors/Quantization/EuclideanPixelMap{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Quantization/EuclideanPixelMap{TPixel}.cs
@@ -51,7 +51,7 @@ public EuclideanPixelMap(Configuration configuration, ReadOnlyMemory<TPixel> pal
         this.configuration = configuration;
         this.Palette = palette;
         this.rgbaPalette = new Rgba32[palette.Length];
-        this.cache = new ColorDistanceCache(configuration.MemoryAllocator);
+        this.cache = new(configuration.MemoryAllocator);
         PixelOperations<TPixel>.Instance.ToRgba32(configuration, this.Palette.Span, this.rgbaPalette);
 
         this.transparentIndex = transparentIndex;
diff --git a/src/ImageSharp/Processing/Processors/Quantization/OctreeQuantizer.cs b/src/ImageSharp/Processing/Processors/Quantization/OctreeQuantizer.cs
index 0a1032bf0d..9a46a9883a 100644
--- a/src/ImageSharp/Processing/Processors/Quantization/OctreeQuantizer.cs
+++ b/src/ImageSharp/Processing/Processors/Quantization/OctreeQuantizer.cs
@@ -16,7 +16,7 @@ public class OctreeQuantizer : IQuantizer
     /// using the default <see cref="QuantizerOptions"/>.
     /// </summary>
     public OctreeQuantizer()
-        : this(new QuantizerOptions())
+        : this(new())
     {
     }
 
diff --git a/src/ImageSharp/Processing/Processors/Quantization/OctreeQuantizer{TPixel}.cs b/src/ImageSharp/Processing/Processors/Quantization/OctreeQuantizer{TPixel}.cs
index 8b39b74579..0891ee5111 100644
--- a/src/ImageSharp/Processing/Processors/Quantization/OctreeQuantizer{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Quantization/OctreeQuantizer{TPixel}.cs
@@ -45,7 +45,7 @@ public OctreeQuantizer(Configuration configuration, QuantizerOptions options)
 
         this.maxColors = this.Options.MaxColors;
         this.bitDepth = Numerics.Clamp(ColorNumerics.GetBitsNeededForColorDepth(this.maxColors), 1, 8);
-        this.octree = new Octree(this.bitDepth);
+        this.octree = new(this.bitDepth);
         this.paletteOwner = configuration.MemoryAllocator.Allocate<TPixel>(this.maxColors, AllocationOptions.Clean);
         this.pixelMap = default;
         this.palette = default;
@@ -113,7 +113,7 @@ public void AddPaletteColors(Buffer2DRegion<TPixel> pixelRegion)
         // this prevents memory churn caused by reallocation.
         if (this.pixelMap is null)
         {
-            this.pixelMap = new EuclideanPixelMap<TPixel>(this.Configuration, result);
+            this.pixelMap = new(this.Configuration, result);
         }
         else
         {
@@ -194,7 +194,7 @@ public Octree(int maxColorBits)
             this.maxColorBits = maxColorBits;
             this.Leaves = 0;
             this.ReducibleNodes = new OctreeNode[9];
-            this.root = new OctreeNode(0, this.maxColorBits, this);
+            this.root = new(0, this.maxColorBits, this);
             this.previousColor = default;
             this.previousNode = null;
         }
@@ -419,7 +419,7 @@ public void AddColor(ref Rgba32 color, int colorBits, int level, Octree octree)
                     if (child is null)
                     {
                         // Create a new child node and store it in the array
-                        child = new OctreeNode(level + 1, colorBits, octree);
+                        child = new(level + 1, colorBits, octree);
                         this.children[index] = child;
                     }
 
@@ -473,9 +473,9 @@ public void ConstructPalette(Span<TPixel> palette, ref int index)
                     Vector3 vector = Vector3.Clamp(
                         new Vector3(this.red, this.green, this.blue) / this.pixelCount,
                         Vector3.Zero,
-                        new Vector3(255));
+                        new(255));
 
-                    palette[index] = TPixel.FromRgba32(new Rgba32((byte)vector.X, (byte)vector.Y, (byte)vector.Z));
+                    palette[index] = TPixel.FromRgba32(new((byte)vector.X, (byte)vector.Y, (byte)vector.Z));
 
                     // Consume the next palette index
                     this.paletteIndex = index++;
diff --git a/src/ImageSharp/Processing/Processors/Quantization/PaletteQuantizer.cs b/src/ImageSharp/Processing/Processors/Quantization/PaletteQuantizer.cs
index 13a59a26de..cac91b834d 100644
--- a/src/ImageSharp/Processing/Processors/Quantization/PaletteQuantizer.cs
+++ b/src/ImageSharp/Processing/Processors/Quantization/PaletteQuantizer.cs
@@ -18,7 +18,7 @@ public class PaletteQuantizer : IQuantizer
     /// </summary>
     /// <param name="palette">The color palette.</param>
     public PaletteQuantizer(ReadOnlyMemory<Color> palette)
-        : this(palette, new QuantizerOptions())
+        : this(palette, new())
     {
     }
 
diff --git a/src/ImageSharp/Processing/Processors/Quantization/PaletteQuantizer{TPixel}.cs b/src/ImageSharp/Processing/Processors/Quantization/PaletteQuantizer{TPixel}.cs
index 092975d28a..46292ab71d 100644
--- a/src/ImageSharp/Processing/Processors/Quantization/PaletteQuantizer{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Quantization/PaletteQuantizer{TPixel}.cs
@@ -41,7 +41,7 @@ public PaletteQuantizer(
 
         this.Configuration = configuration;
         this.Options = options;
-        this.pixelMap = new EuclideanPixelMap<TPixel>(configuration, palette, transparentIndex);
+        this.pixelMap = new(configuration, palette, transparentIndex);
     }
 
     /// <inheritdoc/>
diff --git a/src/ImageSharp/Processing/Processors/Quantization/WernerPaletteQuantizer.cs b/src/ImageSharp/Processing/Processors/Quantization/WernerPaletteQuantizer.cs
index 023ee7f2e0..36599421f0 100644
--- a/src/ImageSharp/Processing/Processors/Quantization/WernerPaletteQuantizer.cs
+++ b/src/ImageSharp/Processing/Processors/Quantization/WernerPaletteQuantizer.cs
@@ -13,7 +13,7 @@ public class WernerPaletteQuantizer : PaletteQuantizer
     /// Initializes a new instance of the <see cref="WernerPaletteQuantizer" /> class.
     /// </summary>
     public WernerPaletteQuantizer()
-        : this(new QuantizerOptions())
+        : this(new())
     {
     }
 
diff --git a/src/ImageSharp/Processing/Processors/Quantization/WuQuantizer{TPixel}.cs b/src/ImageSharp/Processing/Processors/Quantization/WuQuantizer{TPixel}.cs
index ba2ab825ad..3a0fccbb0a 100644
--- a/src/ImageSharp/Processing/Processors/Quantization/WuQuantizer{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Quantization/WuQuantizer{TPixel}.cs
@@ -153,7 +153,7 @@ public void AddPaletteColors(Buffer2DRegion<TPixel> pixelRegion)
             // this prevents memory churn caused by reallocation.
             if (this.pixelMap is null)
             {
-                this.pixelMap = new EuclideanPixelMap<TPixel>(this.Configuration, result);
+                this.pixelMap = new(this.Configuration, result);
             }
             else
             {
@@ -528,7 +528,7 @@ private readonly float Maximize(ref Box cube, int direction, int first, int last
                 continue;
             }
 
-            vector = new Vector4(half.R, half.G, half.B, half.A);
+            vector = new(half.R, half.G, half.B, half.A);
             temp += Vector4.Dot(vector, vector) / half.Weight;
 
             if (temp > max)
diff --git a/src/ImageSharp/Processing/Processors/Transforms/CropProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/CropProcessor{TPixel}.cs
index 5465b502bf..37e61b7d76 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/CropProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/CropProcessor{TPixel}.cs
@@ -29,7 +29,7 @@ public CropProcessor(Configuration configuration, CropProcessor definition, Imag
         => this.cropRectangle = definition.CropRectangle;
 
     /// <inheritdoc/>
-    protected override Size GetDestinationSize() => new Size(this.cropRectangle.Width, this.cropRectangle.Height);
+    protected override Size GetDestinationSize() => new(this.cropRectangle.Width, this.cropRectangle.Height);
 
     /// <inheritdoc/>
     protected override void OnFrameApply(ImageFrame<TPixel> source, ImageFrame<TPixel> destination)
@@ -50,7 +50,7 @@ protected override void OnFrameApply(ImageFrame<TPixel> source, ImageFrame<TPixe
         ParallelExecutionSettings parallelSettings =
             ParallelExecutionSettings.FromConfiguration(this.Configuration).MultiplyMinimumPixelsPerTask(4);
 
-        RowOperation operation = new RowOperation(bounds, source.PixelBuffer, destination.PixelBuffer);
+        RowOperation operation = new(bounds, source.PixelBuffer, destination.PixelBuffer);
 
         ParallelRowIterator.IterateRows(
             bounds,
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
index b3919e5844..6115ded03e 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
@@ -132,7 +132,7 @@ public void Invoke(int y)
 
             for (int x = 0; x < destinationRowSpan.Length; x++)
             {
-                Vector2 point = Vector2.Transform(new Vector2(x, y), this.matrix);
+                Vector2 point = Vector2.Transform(new(x, y), this.matrix);
                 int px = (int)MathF.Round(point.X);
                 int py = (int)MathF.Round(point.Y);
 
@@ -204,7 +204,7 @@ public void Invoke(in RowInterval rows, Span<Vector4> span)
 
                 for (int x = 0; x < span.Length; x++)
                 {
-                    Vector2 point = Vector2.Transform(new Vector2(x, y), matrix);
+                    Vector2 point = Vector2.Transform(new(x, y), matrix);
                     float pY = point.Y;
                     float pX = point.X;
 
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeHelper.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeHelper.cs
index d90f948b6f..e9e2849ae4 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeHelper.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeHelper.cs
@@ -72,7 +72,7 @@ public static (Size Size, Rectangle Rectangle) CalculateTargetLocationAndBounds(
 
             // case ResizeMode.Stretch:
             default:
-                return (new Size(Sanitize(width), Sanitize(height)), new Rectangle(0, 0, Sanitize(width), Sanitize(height)));
+                return (new(Sanitize(width), Sanitize(height)), new(0, 0, Sanitize(width), Sanitize(height)));
         }
     }
 
@@ -143,7 +143,7 @@ private static (Size Size, Rectangle Rectangle) CalculateBoxPadRectangle(
             }
 
             // Target image width and height can be different to the rectangle width and height.
-            return (new Size(Sanitize(width), Sanitize(height)), new Rectangle(targetX, targetY, Sanitize(targetWidth), Sanitize(targetHeight)));
+            return (new(Sanitize(width), Sanitize(height)), new(targetX, targetY, Sanitize(targetWidth), Sanitize(targetHeight)));
         }
 
         // Switch to pad mode to downscale and calculate from there.
@@ -253,7 +253,7 @@ private static (Size Size, Rectangle Rectangle) CalculateCropRectangle(
         }
 
         // Target image width and height can be different to the rectangle width and height.
-        return (new Size(Sanitize(width), Sanitize(height)), new Rectangle(targetX, targetY, Sanitize(targetWidth), Sanitize(targetHeight)));
+        return (new(Sanitize(width), Sanitize(height)), new(targetX, targetY, Sanitize(targetWidth), Sanitize(targetHeight)));
     }
 
     private static (Size Size, Rectangle Rectangle) CalculateMaxRectangle(
@@ -282,7 +282,7 @@ private static (Size Size, Rectangle Rectangle) CalculateMaxRectangle(
         }
 
         // Replace the size to match the rectangle.
-        return (new Size(Sanitize(targetWidth), Sanitize(targetHeight)), new Rectangle(0, 0, Sanitize(targetWidth), Sanitize(targetHeight)));
+        return (new(Sanitize(targetWidth), Sanitize(targetHeight)), new(0, 0, Sanitize(targetWidth), Sanitize(targetHeight)));
     }
 
     private static (Size Size, Rectangle Rectangle) CalculateMinRectangle(
@@ -298,7 +298,7 @@ private static (Size Size, Rectangle Rectangle) CalculateMinRectangle(
         // Don't upscale
         if (width > sourceWidth || height > sourceHeight)
         {
-            return (new Size(sourceWidth, sourceHeight), new Rectangle(0, 0, sourceWidth, sourceHeight));
+            return (new(sourceWidth, sourceHeight), new(0, 0, sourceWidth, sourceHeight));
         }
 
         // Find the shortest distance to go.
@@ -330,7 +330,7 @@ private static (Size Size, Rectangle Rectangle) CalculateMinRectangle(
         }
 
         // Replace the size to match the rectangle.
-        return (new Size(Sanitize(targetWidth), Sanitize(targetHeight)), new Rectangle(0, 0, Sanitize(targetWidth), Sanitize(targetHeight)));
+        return (new(Sanitize(targetWidth), Sanitize(targetHeight)), new(0, 0, Sanitize(targetWidth), Sanitize(targetHeight)));
     }
 
     private static (Size Size, Rectangle Rectangle) CalculatePadRectangle(
@@ -398,7 +398,7 @@ private static (Size Size, Rectangle Rectangle) CalculatePadRectangle(
         }
 
         // Target image width and height can be different to the rectangle width and height.
-        return (new Size(Sanitize(width), Sanitize(height)), new Rectangle(targetX, targetY, Sanitize(targetWidth), Sanitize(targetHeight)));
+        return (new(Sanitize(width), Sanitize(height)), new(targetX, targetY, Sanitize(targetWidth), Sanitize(targetHeight)));
     }
 
     private static (Size Size, Rectangle Rectangle) CalculateManualRectangle(
@@ -419,7 +419,7 @@ private static (Size Size, Rectangle Rectangle) CalculateManualRectangle(
         int targetHeight = targetRectangle.Height > 0 ? targetRectangle.Height : height;
 
         // Target image width and height can be different to the rectangle width and height.
-        return (new Size(Sanitize(width), Sanitize(height)), new Rectangle(targetX, targetY, Sanitize(targetWidth), Sanitize(targetHeight)));
+        return (new(Sanitize(width), Sanitize(height)), new(targetX, targetY, Sanitize(targetWidth), Sanitize(targetHeight)));
     }
 
     [DoesNotReturn]
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeKernelMap.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeKernelMap.cs
index c1907bb520..fb4d319883 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeKernelMap.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeKernelMap.cs
@@ -255,7 +255,7 @@ private unsafe ResizeKernel CreateKernel(int dataRowIndex, int left, int right)
 
         ref float rowReference = ref MemoryMarshal.GetReference(rowSpan);
         float* rowPtr = (float*)Unsafe.AsPointer(ref rowReference);
-        return new ResizeKernel(left, rowPtr, length);
+        return new(left, rowPtr, length);
     }
 
     [Conditional("DEBUG")]
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
index 7f6c83ffe1..11b106d0ee 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
@@ -158,7 +158,7 @@ private static void ApplyNNResizeFrameTransform(
         float widthFactor = sourceRectangle.Width / (float)destinationRectangle.Width;
         float heightFactor = sourceRectangle.Height / (float)destinationRectangle.Height;
 
-        NNRowOperation operation = new NNRowOperation(
+        NNRowOperation operation = new(
             sourceRectangle,
             destinationRectangle,
             interest,
@@ -208,7 +208,7 @@ private static void ApplyResizeFrameTransform(
 
         // To reintroduce parallel processing, we would launch multiple workers
         // for different row intervals of the image.
-        using ResizeWorker<TPixel>? worker = new ResizeWorker<TPixel>(
+        using ResizeWorker<TPixel>? worker = new(
             configuration,
             sourceRegion,
             conversionModifiers,
@@ -218,7 +218,7 @@ private static void ApplyResizeFrameTransform(
             destinationRectangle.Location);
         worker.Initialize();
 
-        RowInterval workingInterval = new RowInterval(interest.Top, interest.Bottom);
+        RowInterval workingInterval = new(interest.Top, interest.Bottom);
         worker.FillDestinationPixels(workingInterval, destination.PixelBuffer);
     }
 
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs
index cce27a401c..3da3fcb6ac 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs
@@ -89,7 +89,7 @@ public ResizeWorker(
         this.tempRowBuffer = configuration.MemoryAllocator.Allocate<Vector4>(this.sourceRectangle.Width);
         this.tempColumnBuffer = configuration.MemoryAllocator.Allocate<Vector4>(targetWorkingRect.Width);
 
-        this.currentWindow = new RowInterval(0, this.workerHeight);
+        this.currentWindow = new(0, this.workerHeight);
     }
 
     public void Dispose()
@@ -158,7 +158,7 @@ private void Slide()
             0,
             this.windowBandHeight);
 
-        this.currentWindow = new RowInterval(minY, maxY);
+        this.currentWindow = new(minY, maxY);
 
         // Calculate the remainder:
         this.CalculateFirstPassValues(this.currentWindow.Slice(this.windowBandHeight));
diff --git a/src/ImageSharp/Processing/Processors/Transforms/TransformUtils.cs b/src/ImageSharp/Processing/Processors/Transforms/TransformUtils.cs
index 47b3250b87..1813be2fda 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/TransformUtils.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/TransformUtils.cs
@@ -407,10 +407,10 @@ public static Size GetTransformedSize(Matrix4x4 matrix, Size size, TransformSpac
         float scaleY = 1F / new Vector2(matrix.M12, matrix.M22).Length(); // sqrt(M12^2 + M22^2)
 
         // Apply the offset relative to the scale
-        SizeF offsetSize = usePixelSpace ? new SizeF(scaleX, scaleY) : SizeF.Empty;
+        SizeF offsetSize = usePixelSpace ? new(scaleX, scaleY) : SizeF.Empty;
 
         // Subtract the offset size to translate to the appropriate space (pixel or coordinate).
-        if (TryGetTransformedRectangle(new RectangleF(Point.Empty, size - offsetSize), matrix, out Rectangle bounds))
+        if (TryGetTransformedRectangle(new(Point.Empty, size - offsetSize), matrix, out Rectangle bounds))
         {
             // Add the offset size back to translate the transformed bounds to the correct space.
             return Size.Ceiling(ConstrainSize(bounds) + offsetSize);
@@ -459,7 +459,7 @@ private static Size GetTransformedSize(Matrix3x2 matrix, Size size, TransformSpa
         }
 
         // Subtract the offset size to translate to the pixel space.
-        if (TryGetTransformedRectangle(new RectangleF(Point.Empty, size - offsetSize), matrix, out Rectangle bounds))
+        if (TryGetTransformedRectangle(new(Point.Empty, size - offsetSize), matrix, out Rectangle bounds))
         {
             // Add the offset size back to translate the transformed bounds to the coordinate space.
             return Size.Ceiling((constrain ? ConstrainSize(bounds) : bounds.Size) + offsetSize);
@@ -485,10 +485,10 @@ private static bool TryGetTransformedRectangle(RectangleF rectangle, Matrix3x2 m
             return false;
         }
 
-        Vector2 tl = Vector2.Transform(new Vector2(rectangle.Left, rectangle.Top), matrix);
-        Vector2 tr = Vector2.Transform(new Vector2(rectangle.Right, rectangle.Top), matrix);
-        Vector2 bl = Vector2.Transform(new Vector2(rectangle.Left, rectangle.Bottom), matrix);
-        Vector2 br = Vector2.Transform(new Vector2(rectangle.Right, rectangle.Bottom), matrix);
+        Vector2 tl = Vector2.Transform(new(rectangle.Left, rectangle.Top), matrix);
+        Vector2 tr = Vector2.Transform(new(rectangle.Right, rectangle.Top), matrix);
+        Vector2 bl = Vector2.Transform(new(rectangle.Left, rectangle.Bottom), matrix);
+        Vector2 br = Vector2.Transform(new(rectangle.Right, rectangle.Bottom), matrix);
 
         bounds = GetBoundingRectangle(tl, tr, bl, br);
         return true;
@@ -540,7 +540,7 @@ private static Size ConstrainSize(Rectangle rectangle)
             width = rectangle.Width;
         }
 
-        return new Size(width, height);
+        return new(width, height);
     }
 
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/tests/ImageSharp.Benchmarks/Bulk/FromRgba32Bytes.cs b/tests/ImageSharp.Benchmarks/Bulk/FromRgba32Bytes.cs
index 6cae208538..b9f12aa238 100644
--- a/tests/ImageSharp.Benchmarks/Bulk/FromRgba32Bytes.cs
+++ b/tests/ImageSharp.Benchmarks/Bulk/FromRgba32Bytes.cs
@@ -49,7 +49,7 @@ public void Naive()
         for (int i = 0; i < this.Count; i++)
         {
             int i4 = i * 4;
-            d[i] = TPixel.FromRgba32(new Rgba32(s[i4], s[i4 + 1], s[i4 + 2], s[i4 + 3]));
+            d[i] = TPixel.FromRgba32(new(s[i4], s[i4 + 1], s[i4 + 2], s[i4 + 3]));
         }
     }
 
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Bmp/DecodeBmp.cs b/tests/ImageSharp.Benchmarks/Codecs/Bmp/DecodeBmp.cs
index 8a72b8d076..4d3b46cf68 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Bmp/DecodeBmp.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Bmp/DecodeBmp.cs
@@ -32,7 +32,7 @@ public void ReadImages()
     [Benchmark(Baseline = true, Description = "System.Drawing Bmp")]
     public SDSize BmpSystemDrawing()
     {
-        using MemoryStream memoryStream = new MemoryStream(this.bmpBytes);
+        using MemoryStream memoryStream = new(this.bmpBytes);
         using SDImage image = SDImage.FromStream(memoryStream);
         return image.Size;
     }
@@ -40,8 +40,8 @@ public SDSize BmpSystemDrawing()
     [Benchmark(Description = "ImageSharp Bmp")]
     public Size BmpImageSharp()
     {
-        using MemoryStream memoryStream = new MemoryStream(this.bmpBytes);
+        using MemoryStream memoryStream = new(this.bmpBytes);
         using Image<Rgba32> image = Image.Load<Rgba32>(memoryStream);
-        return new Size(image.Width, image.Height);
+        return new(image.Width, image.Height);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Bmp/EncodeBmp.cs b/tests/ImageSharp.Benchmarks/Codecs/Bmp/EncodeBmp.cs
index 97dd664b40..3017bbc1ed 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Bmp/EncodeBmp.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Bmp/EncodeBmp.cs
@@ -40,14 +40,14 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "System.Drawing Bmp")]
     public void BmpSystemDrawing()
     {
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         this.bmpDrawing.Save(memoryStream, ImageFormat.Bmp);
     }
 
     [Benchmark(Description = "ImageSharp Bmp")]
     public void BmpImageSharp()
     {
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         this.bmpCore.SaveAsBmp(memoryStream);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Gif/DecodeGif.cs b/tests/ImageSharp.Benchmarks/Codecs/Gif/DecodeGif.cs
index b63f1c1a18..d27f46f237 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Gif/DecodeGif.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Gif/DecodeGif.cs
@@ -32,7 +32,7 @@ public void ReadImages()
     [Benchmark(Baseline = true, Description = "System.Drawing Gif")]
     public SDSize GifSystemDrawing()
     {
-        using MemoryStream memoryStream = new MemoryStream(this.gifBytes);
+        using MemoryStream memoryStream = new(this.gifBytes);
         using SDImage image = SDImage.FromStream(memoryStream);
         return image.Size;
     }
@@ -40,8 +40,8 @@ public SDSize GifSystemDrawing()
     [Benchmark(Description = "ImageSharp Gif")]
     public Size GifImageSharp()
     {
-        using MemoryStream memoryStream = new MemoryStream(this.gifBytes);
+        using MemoryStream memoryStream = new(this.gifBytes);
         using Image<Rgba32> image = Image.Load<Rgba32>(memoryStream);
-        return new Size(image.Width, image.Height);
+        return new(image.Width, image.Height);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGif.cs b/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGif.cs
index 09693f7b93..19101eb3ae 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGif.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Gif/EncodeGif.cs
@@ -21,9 +21,9 @@ public class EncodeGif
     private Image<Rgba32> bmpCore;
 
     // Try to get as close to System.Drawing's output as possible
-    private readonly GifEncoder encoder = new GifEncoder
+    private readonly GifEncoder encoder = new()
     {
-        Quantizer = new WebSafePaletteQuantizer(new QuantizerOptions { Dither = KnownDitherings.Bayer4x4 })
+        Quantizer = new WebSafePaletteQuantizer(new() { Dither = KnownDitherings.Bayer4x4 })
     };
 
     [Params(TestImages.Bmp.Car, TestImages.Png.Rgb48Bpp)]
@@ -53,14 +53,14 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "System.Drawing Gif")]
     public void GifSystemDrawing()
     {
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         this.bmpDrawing.Save(memoryStream, ImageFormat.Gif);
     }
 
     [Benchmark(Description = "ImageSharp Gif")]
     public void GifImageSharp()
     {
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         this.bmpCore.SaveAsGif(memoryStream, this.encoder);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_CopyTo2x2.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_CopyTo2x2.cs
index 29a3ae5de0..4ea0a92f19 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_CopyTo2x2.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_CopyTo2x2.cs
@@ -185,15 +185,15 @@ private static void WidenCopyImpl2x2_Vector2(ref Block8x8F src, ref Vector2 dest
         ref Vector2 dBottomLeft = ref Unsafe.Add(ref dTopLeft, (uint)destStride);
         ref Vector2 dBottomRight = ref Unsafe.Add(ref dBottomLeft, 4);
 
-        Vector2 xLeft = new Vector2(sLeft.X);
-        Vector2 yLeft = new Vector2(sLeft.Y);
-        Vector2 zLeft = new Vector2(sLeft.Z);
-        Vector2 wLeft = new Vector2(sLeft.W);
+        Vector2 xLeft = new(sLeft.X);
+        Vector2 yLeft = new(sLeft.Y);
+        Vector2 zLeft = new(sLeft.Z);
+        Vector2 wLeft = new(sLeft.W);
 
-        Vector2 xRight = new Vector2(sRight.X);
-        Vector2 yRight = new Vector2(sRight.Y);
-        Vector2 zRight = new Vector2(sRight.Z);
-        Vector2 wRight = new Vector2(sRight.W);
+        Vector2 xRight = new(sRight.X);
+        Vector2 yRight = new(sRight.Y);
+        Vector2 zRight = new(sRight.Z);
+        Vector2 wRight = new(sRight.W);
 
         dTopLeft = xLeft;
         Unsafe.Add(ref dTopLeft, 1) = yLeft;
@@ -245,15 +245,15 @@ private static void WidenCopyImpl2x2_Vector4(ref Block8x8F src, ref Vector2 dest
         ref Vector2 dBottomLeft = ref Unsafe.Add(ref dTopLeft, (uint)destStride);
         ref Vector2 dBottomRight = ref Unsafe.Add(ref dBottomLeft, 4);
 
-        Vector4 xLeft = new Vector4(sLeft.X);
-        Vector4 yLeft = new Vector4(sLeft.Y);
-        Vector4 zLeft = new Vector4(sLeft.Z);
-        Vector4 wLeft = new Vector4(sLeft.W);
+        Vector4 xLeft = new(sLeft.X);
+        Vector4 yLeft = new(sLeft.Y);
+        Vector4 zLeft = new(sLeft.Z);
+        Vector4 wLeft = new(sLeft.W);
 
-        Vector4 xRight = new Vector4(sRight.X);
-        Vector4 yRight = new Vector4(sRight.Y);
-        Vector4 zRight = new Vector4(sRight.Z);
-        Vector4 wRight = new Vector4(sRight.W);
+        Vector4 xRight = new(sRight.X);
+        Vector4 yRight = new(sRight.Y);
+        Vector4 zRight = new(sRight.Z);
+        Vector4 wRight = new(sRight.W);
 
         Unsafe.As<Vector2, Vector4>(ref dTopLeft) = xLeft;
         Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref dTopLeft, 1)) = yLeft;
@@ -303,15 +303,15 @@ private static void WidenCopyImpl2x2_Vector4_SafeRightCorner(ref Block8x8F src,
         ref Vector2 dTopLeft = ref Unsafe.Add(ref destBase, (uint)(2 * row * destStride));
         ref Vector2 dBottomLeft = ref Unsafe.Add(ref dTopLeft, (uint)destStride);
 
-        Vector4 xLeft = new Vector4(sLeft.X);
-        Vector4 yLeft = new Vector4(sLeft.Y);
-        Vector4 zLeft = new Vector4(sLeft.Z);
-        Vector4 wLeft = new Vector4(sLeft.W);
+        Vector4 xLeft = new(sLeft.X);
+        Vector4 yLeft = new(sLeft.Y);
+        Vector4 zLeft = new(sLeft.Z);
+        Vector4 wLeft = new(sLeft.W);
 
-        Vector4 xRight = new Vector4(sRight.X);
-        Vector4 yRight = new Vector4(sRight.Y);
-        Vector4 zRight = new Vector4(sRight.Z);
-        Vector2 wRight = new Vector2(sRight.W);
+        Vector4 xRight = new(sRight.X);
+        Vector4 yRight = new(sRight.Y);
+        Vector4 zRight = new(sRight.Z);
+        Vector2 wRight = new(sRight.W);
 
         Unsafe.As<Vector2, Vector4>(ref dTopLeft) = xLeft;
         Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref dTopLeft, 1)) = yLeft;
@@ -362,25 +362,25 @@ private static void WidenCopyImpl2x2_Vector4_V2(ref Block8x8F src, ref Vector2 d
         ref Vector4 dTopLeft = ref Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref destBase, (uint)offset));
         ref Vector4 dBottomLeft = ref Unsafe.As<Vector2, Vector4>(ref Unsafe.Add(ref destBase, (uint)(offset + destStride)));
 
-        Vector4 xyLeft = new Vector4(sLeft.X)
+        Vector4 xyLeft = new(sLeft.X)
         {
             Z = sLeft.Y,
             W = sLeft.Y
         };
 
-        Vector4 zwLeft = new Vector4(sLeft.Z)
+        Vector4 zwLeft = new(sLeft.Z)
         {
             Z = sLeft.W,
             W = sLeft.W
         };
 
-        Vector4 xyRight = new Vector4(sRight.X)
+        Vector4 xyRight = new(sRight.X)
         {
             Z = sRight.Y,
             W = sRight.Y
         };
 
-        Vector4 zwRight = new Vector4(sRight.Z)
+        Vector4 zwRight = new(sRight.Z)
         {
             Z = sRight.W,
             W = sRight.W
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_DivideRound.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_DivideRound.cs
index ea8a1c47be..45c6f63b9c 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_DivideRound.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_DivideRound.cs
@@ -19,8 +19,8 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg.BlockOperations;
 public unsafe class Block8x8F_DivideRound
 {
     private const int ExecutionCount = 5; // Added this to reduce the effect of copying the blocks
-    private static readonly Vector4 MinusOne = new Vector4(-1);
-    private static readonly Vector4 Half = new Vector4(0.5f);
+    private static readonly Vector4 MinusOne = new(-1);
+    private static readonly Vector4 Half = new(0.5f);
 
     private Block8x8F inputDividend;
     private Block8x8F inputDivisor;
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_Round.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_Round.cs
index 8a520b22d3..51477e5a41 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_Round.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/BlockOperations/Block8x8F_Round.cs
@@ -36,7 +36,7 @@ public void Setup()
 
         if (ptr % 16 != 0)
         {
-            throw new Exception("ptr is unaligned");
+            throw new("ptr is unaligned");
         }
 
         this.alignedPtr = (float*)ptr;
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/CmykColorConversion.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/CmykColorConversion.cs
index c88d722826..d7a2a9aa61 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/CmykColorConversion.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/CmykColorConversion.cs
@@ -17,7 +17,7 @@ public CmykColorConversion()
     [Benchmark(Baseline = true)]
     public void Scalar()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.CmykScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVector8()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.CmykVector(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVector8()
     [Benchmark]
     public void SimdVectorAvx()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.CmykAvx(8).ConvertToRgbInplace(values);
     }
@@ -41,7 +41,7 @@ public void SimdVectorAvx()
     [Benchmark]
     public void SimdVectorArm64()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.CmykArm64(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/ColorConversionBenchmark.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/ColorConversionBenchmark.cs
index 959522d812..436aa9bcda 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/ColorConversionBenchmark.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/ColorConversionBenchmark.cs
@@ -38,7 +38,7 @@ private static Buffer2D<float>[] CreateRandomValues(
         float minVal = 0f,
         float maxVal = 255f)
     {
-        Random rnd = new Random(42);
+        Random rnd = new(42);
         Buffer2D<float>[] buffers = new Buffer2D<float>[componentCount];
         for (int i = 0; i < componentCount; i++)
         {
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/GrayscaleColorConversion.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/GrayscaleColorConversion.cs
index 99f6abbabf..b95537ad91 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/GrayscaleColorConversion.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/GrayscaleColorConversion.cs
@@ -17,7 +17,7 @@ public GrayscaleColorConversion()
     [Benchmark(Baseline = true)]
     public void Scalar()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.GrayscaleScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVectorAvx()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.GrayscaleAvx(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVectorAvx()
     [Benchmark]
     public void SimdVectorArm()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.GrayscaleArm(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/RgbColorConversion.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/RgbColorConversion.cs
index e5e5e95e7b..077b6c34ce 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/RgbColorConversion.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/RgbColorConversion.cs
@@ -17,7 +17,7 @@ public RgbColorConversion()
     [Benchmark(Baseline = true)]
     public void Scalar()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.RgbScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVector8()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.RgbVector(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVector8()
     [Benchmark]
     public void SimdVectorAvx()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.RgbAvx(8).ConvertToRgbInplace(values);
     }
@@ -41,7 +41,7 @@ public void SimdVectorAvx()
     [Benchmark]
     public void SimdVectorArm()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.RgbArm(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YCbCrColorConversion.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YCbCrColorConversion.cs
index c206a38150..fed06acc76 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YCbCrColorConversion.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YCbCrColorConversion.cs
@@ -17,7 +17,7 @@ public YCbCrColorConversion()
     [Benchmark]
     public void Scalar()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.YCbCrScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVector8()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.YCbCrVector(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVector8()
     [Benchmark]
     public void SimdVectorAvx()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.YCbCrAvx(8).ConvertToRgbInplace(values);
     }
@@ -41,7 +41,7 @@ public void SimdVectorAvx()
     [Benchmark]
     public void SimdVectorArm()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.YCbCrArm(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YccKColorConverter.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YccKColorConverter.cs
index 8408ac7a2f..6744aea29e 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YccKColorConverter.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/ColorConversion/YccKColorConverter.cs
@@ -17,7 +17,7 @@ public YccKColorConverter()
     [Benchmark(Baseline = true)]
     public void Scalar()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.YccKScalar(8).ConvertToRgbInplace(values);
     }
@@ -25,7 +25,7 @@ public void Scalar()
     [Benchmark]
     public void SimdVector8()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.YccKVector(8).ConvertToRgbInplace(values);
     }
@@ -33,7 +33,7 @@ public void SimdVector8()
     [Benchmark]
     public void SimdVectorAvx2()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.YccKAvx(8).ConvertToRgbInplace(values);
     }
@@ -41,7 +41,7 @@ public void SimdVectorAvx2()
     [Benchmark]
     public void SimdVectorArm64()
     {
-        JpegColorConverterBase.ComponentValues values = new JpegColorConverterBase.ComponentValues(this.Input, 0);
+        JpegColorConverterBase.ComponentValues values = new(this.Input, 0);
 
         new JpegColorConverterBase.YccKArm64(8).ConvertToRgbInplace(values);
     }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg.cs
index 0dc6d26bc7..95879083f9 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg.cs
@@ -18,7 +18,7 @@ private void GenericSetup(string imageSubpath)
     {
         this.decoder = JpegDecoder.Instance;
         byte[] bytes = File.ReadAllBytes(Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, imageSubpath));
-        this.preloadedImageStream = new MemoryStream(bytes);
+        this.preloadedImageStream = new(bytes);
     }
 
     private void GenericBechmark()
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs
index 02167c1f33..952f8d822d 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs
@@ -27,7 +27,7 @@ public void Setup()
     [Benchmark(Baseline = true, Description = "System.Drawing FULL")]
     public SDSize JpegSystemDrawing()
     {
-        using MemoryStream memoryStream = new MemoryStream(this.jpegBytes);
+        using MemoryStream memoryStream = new(this.jpegBytes);
         using System.Drawing.Image image = System.Drawing.Image.FromStream(memoryStream);
         return image.Size;
     }
@@ -35,12 +35,12 @@ public SDSize JpegSystemDrawing()
     [Benchmark(Description = "JpegDecoderCore.ParseStream")]
     public void ParseStream()
     {
-        using MemoryStream memoryStream = new MemoryStream(this.jpegBytes);
-        using BufferedReadStream bufferedStream = new BufferedReadStream(Configuration.Default, memoryStream);
-        JpegDecoderOptions options = new JpegDecoderOptions() { GeneralOptions = new() { SkipMetadata = true } };
+        using MemoryStream memoryStream = new(this.jpegBytes);
+        using BufferedReadStream bufferedStream = new(Configuration.Default, memoryStream);
+        JpegDecoderOptions options = new() { GeneralOptions = new() { SkipMetadata = true } };
 
-        using JpegDecoderCore decoder = new JpegDecoderCore(options);
-        NoopSpectralConverter spectralConverter = new NoopSpectralConverter();
+        using JpegDecoderCore decoder = new(options);
+        NoopSpectralConverter spectralConverter = new();
         decoder.ParseStream(bufferedStream, spectralConverter, cancellationToken: default);
     }
 
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs
index 870d17a007..355aa348e2 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg_ImageSpecific.cs
@@ -45,7 +45,7 @@ public void ReadImages()
     [Benchmark(Baseline = true)]
     public SDSize SystemDrawing()
     {
-        using MemoryStream memoryStream = new MemoryStream(this.jpegBytes);
+        using MemoryStream memoryStream = new(this.jpegBytes);
         using SDImage image = SDImage.FromStream(memoryStream);
         return image.Size;
     }
@@ -53,9 +53,9 @@ public SDSize SystemDrawing()
     [Benchmark]
     public Size ImageSharp()
     {
-        using MemoryStream memoryStream = new MemoryStream(this.jpegBytes);
-        using Image image = Image.Load(new DecoderOptions() { SkipMetadata = true }, memoryStream);
-        return new Size(image.Width, image.Height);
+        using MemoryStream memoryStream = new(this.jpegBytes);
+        using Image image = Image.Load(new() { SkipMetadata = true }, memoryStream);
+        return new(image.Width, image.Height);
     }
 
     /*
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegComparison.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegComparison.cs
index deb3125b30..d5e1534437 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegComparison.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegComparison.cs
@@ -39,9 +39,9 @@ public void SetupImageSharp()
         using FileStream imageBinaryStream = File.OpenRead(Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImage));
 
         this.imageImageSharp = Image.Load<Rgba32>(imageBinaryStream);
-        this.encoderImageSharp = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.YCbCrRatio420 };
+        this.encoderImageSharp = new() { Quality = this.Quality, ColorType = JpegColorType.YCbCrRatio420 };
 
-        this.destinationStream = new MemoryStream();
+        this.destinationStream = new();
     }
 
     [GlobalCleanup(Target = nameof(BenchmarkImageSharp))]
@@ -68,7 +68,7 @@ public void SetupSkiaSharp()
 
         this.imageSkiaSharp = SKBitmap.Decode(imageBinaryStream);
 
-        this.destinationStream = new MemoryStream();
+        this.destinationStream = new();
     }
 
     [GlobalCleanup(Target = nameof(BenchmarkSkiaSharp))]
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegFeatures.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegFeatures.cs
index 0692c5a3b5..f6fc83f7b7 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegFeatures.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegFeatures.cs
@@ -44,13 +44,13 @@ public void Setup()
     {
         using FileStream imageBinaryStream = File.OpenRead(Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImage));
         this.bmpCore = Image.Load<Rgb24>(imageBinaryStream);
-        this.encoder = new JpegEncoder
+        this.encoder = new()
         {
             Quality = this.Quality,
             ColorType = this.TargetColorSpace,
             Interleaved = true,
         };
-        this.destinationStream = new MemoryStream();
+        this.destinationStream = new();
     }
 
     [GlobalCleanup]
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Png/EncodeIndexedPng.cs b/tests/ImageSharp.Benchmarks/Codecs/Png/EncodeIndexedPng.cs
index 71bc866971..ff6c45f08a 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Png/EncodeIndexedPng.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Png/EncodeIndexedPng.cs
@@ -43,48 +43,48 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "ImageSharp Octree Png")]
     public void PngCoreOctree()
     {
-        using MemoryStream memoryStream = new MemoryStream();
-        PngEncoder options = new PngEncoder { Quantizer = KnownQuantizers.Octree };
+        using MemoryStream memoryStream = new();
+        PngEncoder options = new() { Quantizer = KnownQuantizers.Octree };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Octree NoDither Png")]
     public void PngCoreOctreeNoDither()
     {
-        using MemoryStream memoryStream = new MemoryStream();
-        PngEncoder options = new PngEncoder { Quantizer = new OctreeQuantizer(new QuantizerOptions { Dither = null }) };
+        using MemoryStream memoryStream = new();
+        PngEncoder options = new() { Quantizer = new OctreeQuantizer(new() { Dither = null }) };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Palette Png")]
     public void PngCorePalette()
     {
-        using MemoryStream memoryStream = new MemoryStream();
-        PngEncoder options = new PngEncoder { Quantizer = KnownQuantizers.WebSafe };
+        using MemoryStream memoryStream = new();
+        PngEncoder options = new() { Quantizer = KnownQuantizers.WebSafe };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Palette NoDither Png")]
     public void PngCorePaletteNoDither()
     {
-        using MemoryStream memoryStream = new MemoryStream();
-        PngEncoder options = new PngEncoder { Quantizer = new WebSafePaletteQuantizer(new QuantizerOptions { Dither = null }) };
+        using MemoryStream memoryStream = new();
+        PngEncoder options = new() { Quantizer = new WebSafePaletteQuantizer(new() { Dither = null }) };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Wu Png")]
     public void PngCoreWu()
     {
-        using MemoryStream memoryStream = new MemoryStream();
-        PngEncoder options = new PngEncoder { Quantizer = KnownQuantizers.Wu };
+        using MemoryStream memoryStream = new();
+        PngEncoder options = new() { Quantizer = KnownQuantizers.Wu };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 
     [Benchmark(Description = "ImageSharp Wu NoDither Png")]
     public void PngCoreWuNoDither()
     {
-        using MemoryStream memoryStream = new MemoryStream();
-        PngEncoder options = new PngEncoder { Quantizer = new WuQuantizer(new QuantizerOptions { Dither = null }), ColorType = PngColorType.Palette };
+        using MemoryStream memoryStream = new();
+        PngEncoder options = new() { Quantizer = new WuQuantizer(new() { Dither = null }), ColorType = PngColorType.Palette };
         this.bmpCore.SaveAsPng(memoryStream, options);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Png/EncodePng.cs b/tests/ImageSharp.Benchmarks/Codecs/Png/EncodePng.cs
index d0954415e3..f7332ff5ab 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Png/EncodePng.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Png/EncodePng.cs
@@ -46,7 +46,7 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "System.Drawing Png")]
     public void PngSystemDrawing()
     {
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         this.bmpDrawing.Save(memoryStream, ImageFormat.Png);
     }
 
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Tga/EncodeTga.cs b/tests/ImageSharp.Benchmarks/Codecs/Tga/EncodeTga.cs
index 6874278e7e..c9ab74eda6 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Tga/EncodeTga.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Tga/EncodeTga.cs
@@ -26,7 +26,7 @@ public void ReadImages()
         if (this.tga == null)
         {
             this.tga = Image.Load<Rgba32>(this.TestImageFullPath);
-            this.tgaMagick = new MagickImage(this.TestImageFullPath);
+            this.tgaMagick = new(this.TestImageFullPath);
         }
     }
 
@@ -41,14 +41,14 @@ public void Cleanup()
     [Benchmark(Baseline = true, Description = "Magick Tga")]
     public void MagickTga()
     {
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         this.tgaMagick.Write(memoryStream, MagickFormat.Tga);
     }
 
     [Benchmark(Description = "ImageSharp Tga")]
     public void ImageSharpTga()
     {
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         this.tga.SaveAsTga(memoryStream);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Tiff/EncodeTiff.cs b/tests/ImageSharp.Benchmarks/Codecs/Tiff/EncodeTiff.cs
index 57a50014f3..9a195a9b4b 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Tiff/EncodeTiff.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Tiff/EncodeTiff.cs
@@ -60,12 +60,12 @@ public void Cleanup()
     public void SystemDrawing()
     {
         ImageCodecInfo codec = FindCodecForType("image/tiff");
-        using EncoderParameters parameters = new EncoderParameters(1)
+        using EncoderParameters parameters = new(1)
         {
-            Param = { [0] = new EncoderParameter(Encoder.Compression, (long)Cast(this.Compression)) }
+            Param = { [0] = new(Encoder.Compression, (long)Cast(this.Compression)) }
         };
 
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         this.drawing.Save(memoryStream, codec, parameters);
     }
 
@@ -77,8 +77,8 @@ public void TiffCore()
                 TiffPhotometricInterpretation.WhiteIsZero :
                 TiffPhotometricInterpretation.Rgb;
 
-        TiffEncoder encoder = new TiffEncoder() { Compression = this.Compression, PhotometricInterpretation = photometricInterpretation };
-        using MemoryStream memoryStream = new MemoryStream();
+        TiffEncoder encoder = new() { Compression = this.Compression, PhotometricInterpretation = photometricInterpretation };
+        using MemoryStream memoryStream = new();
         this.core.SaveAsTiff(memoryStream, encoder);
     }
 
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Webp/EncodeWebp.cs b/tests/ImageSharp.Benchmarks/Codecs/Webp/EncodeWebp.cs
index 31b6cbdde2..cc653d7c07 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Webp/EncodeWebp.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Webp/EncodeWebp.cs
@@ -32,7 +32,7 @@ public void ReadImages()
         if (this.webp == null)
         {
             this.webp = Image.Load<Rgba32>(this.TestImageFullPath);
-            this.webpMagick = new MagickImage(this.TestImageFullPath);
+            this.webpMagick = new(this.TestImageFullPath);
         }
     }
 
diff --git a/tests/ImageSharp.Benchmarks/Color/ColorEquality.cs b/tests/ImageSharp.Benchmarks/Color/ColorEquality.cs
index 5166c89a93..38715e6ca0 100644
--- a/tests/ImageSharp.Benchmarks/Color/ColorEquality.cs
+++ b/tests/ImageSharp.Benchmarks/Color/ColorEquality.cs
@@ -15,5 +15,5 @@ public bool SystemDrawingColorEqual()
 
     [Benchmark(Description = "ImageSharp Color Equals")]
     public bool ColorEqual()
-        => new Rgba32(128, 128, 128, 128).Equals(new Rgba32(128, 128, 128, 128));
+        => new Rgba32(128, 128, 128, 128).Equals(new(128, 128, 128, 128));
 }
diff --git a/tests/ImageSharp.Benchmarks/Color/RgbWorkingSpaceAdapt.cs b/tests/ImageSharp.Benchmarks/Color/RgbWorkingSpaceAdapt.cs
index 6cd8df3fc7..270749a371 100644
--- a/tests/ImageSharp.Benchmarks/Color/RgbWorkingSpaceAdapt.cs
+++ b/tests/ImageSharp.Benchmarks/Color/RgbWorkingSpaceAdapt.cs
@@ -13,7 +13,7 @@ public class RgbWorkingSpaceAdapt
 
     private static readonly RGBColor RGBColor = new(0.206162, 0.260277, 0.746717);
 
-    private static readonly ColorProfileConverter ColorProfileConverter = new(new ColorConversionOptions { RgbWorkingSpace = KnownRgbWorkingSpaces.WideGamutRgb, TargetRgbWorkingSpace = KnownRgbWorkingSpaces.SRgb });
+    private static readonly ColorProfileConverter ColorProfileConverter = new(new() { RgbWorkingSpace = KnownRgbWorkingSpaces.WideGamutRgb, TargetRgbWorkingSpace = KnownRgbWorkingSpaces.SRgb });
 
     private static readonly IColorConverter<RGBColor, RGBColor> ColourfulConverter = new ConverterBuilder().FromRGB(RGBWorkingSpaces.WideGamutRGB).ToRGB(RGBWorkingSpaces.sRGB).Build();
 
diff --git a/tests/ImageSharp.Benchmarks/Color/YcbCrToRgb.cs b/tests/ImageSharp.Benchmarks/Color/YcbCrToRgb.cs
index 093397ad5f..37db166aee 100644
--- a/tests/ImageSharp.Benchmarks/Color/YcbCrToRgb.cs
+++ b/tests/ImageSharp.Benchmarks/Color/YcbCrToRgb.cs
@@ -22,7 +22,7 @@ public Vector3 YcbCrToRgba()
         byte g = (byte)Numerics.Clamp(y - (0.34414F * ccb) - (0.71414F * ccr), 0, 255);
         byte b = (byte)Numerics.Clamp(y + (1.772F * ccb), 0, 255);
 
-        return new Vector3(r, g, b);
+        return new(r, g, b);
     }
 
     [Benchmark(Description = "Scaled Integer Conversion")]
@@ -45,6 +45,6 @@ public Vector3 YcbCrToRgbaScaled()
         byte g = (byte)Numerics.Clamp(y - (g0 >> 10) - (g1 >> 10), 0, 255);
         byte b = (byte)Numerics.Clamp(y + (b0 >> 10), 0, 255);
 
-        return new Vector3(r, g, b);
+        return new(r, g, b);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/General/Adler32Benchmark.cs b/tests/ImageSharp.Benchmarks/General/Adler32Benchmark.cs
index 30023feca8..64a8092c63 100644
--- a/tests/ImageSharp.Benchmarks/General/Adler32Benchmark.cs
+++ b/tests/ImageSharp.Benchmarks/General/Adler32Benchmark.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.Benchmarks.General;
 public class Adler32Benchmark
 {
     private byte[] data;
-    private readonly SharpAdler32 adler = new SharpAdler32();
+    private readonly SharpAdler32 adler = new();
 
     [Params(1024, 2048, 4096)]
     public int Count { get; set; }
diff --git a/tests/ImageSharp.Benchmarks/General/Array2D.cs b/tests/ImageSharp.Benchmarks/General/Array2D.cs
index f0a36ee1d6..2d244607b1 100644
--- a/tests/ImageSharp.Benchmarks/General/Array2D.cs
+++ b/tests/ImageSharp.Benchmarks/General/Array2D.cs
@@ -44,7 +44,7 @@ public void SetUp()
             this.jaggedData[i] = new float[this.Count];
         }
 
-        this.matrix = new DenseMatrix<float>(this.array2D);
+        this.matrix = new(this.array2D);
 
         this.Min = (this.Count / 2) - 10;
         this.Min = Math.Max(0, this.Min);
diff --git a/tests/ImageSharp.Benchmarks/General/BasicMath/ClampSpan.cs b/tests/ImageSharp.Benchmarks/General/BasicMath/ClampSpan.cs
index 458927a352..b61ba27ffb 100644
--- a/tests/ImageSharp.Benchmarks/General/BasicMath/ClampSpan.cs
+++ b/tests/ImageSharp.Benchmarks/General/BasicMath/ClampSpan.cs
@@ -12,7 +12,7 @@ public class ClampSpan
 
     public void Setup()
     {
-        Random r = new Random();
+        Random r = new();
 
         for (int i = 0; i < A.Length; i++)
         {
diff --git a/tests/ImageSharp.Benchmarks/General/BasicMath/ClampVector4.cs b/tests/ImageSharp.Benchmarks/General/BasicMath/ClampVector4.cs
index 186f88bb71..5d93d20831 100644
--- a/tests/ImageSharp.Benchmarks/General/BasicMath/ClampVector4.cs
+++ b/tests/ImageSharp.Benchmarks/General/BasicMath/ClampVector4.cs
@@ -42,13 +42,13 @@ public Vector4 UsingVectorMinMax()
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     private static Vector4 ClampUsingVectorClamp(float x, float min, float max)
     {
-        return Vector4.Clamp(new Vector4(x), new Vector4(min), new Vector4(max));
+        return Vector4.Clamp(new(x), new(min), new(max));
     }
 
     [MethodImpl(MethodImplOptions.AggressiveInlining)]
     private static Vector4 ClampUsingVectorMinMax(float x, float min, float max)
     {
-        return Vector4.Min(new Vector4(max), Vector4.Max(new Vector4(min), new Vector4(x)));
+        return Vector4.Min(new(max), Vector4.Max(new(min), new(x)));
     }
 
     // RESULTS
diff --git a/tests/ImageSharp.Benchmarks/General/CopyBuffers.cs b/tests/ImageSharp.Benchmarks/General/CopyBuffers.cs
index 031f9ecf27..85daa5bd26 100644
--- a/tests/ImageSharp.Benchmarks/General/CopyBuffers.cs
+++ b/tests/ImageSharp.Benchmarks/General/CopyBuffers.cs
@@ -36,11 +36,11 @@ public class CopyBuffers
     public void Setup()
     {
         this.sourceArray = new byte[this.Count];
-        this.sourceMemory = new Memory<byte>(this.sourceArray);
+        this.sourceMemory = new(this.sourceArray);
         this.sourceHandle = this.sourceMemory.Pin();
 
         this.destArray = new byte[this.Count];
-        this.destMemory = new Memory<byte>(this.destArray);
+        this.destMemory = new(this.destArray);
         this.destHandle = this.destMemory.Pin();
     }
 
diff --git a/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs b/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs
index 3f9b36dcf1..a2dcdffd99 100644
--- a/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs
+++ b/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs
@@ -31,28 +31,28 @@ public class BufferedStreams
     [GlobalSetup]
     public void CreateStreams()
     {
-        this.stream1 = new MemoryStream(this.buffer);
-        this.stream2 = new MemoryStream(this.buffer);
-        this.stream3 = new MemoryStream(this.buffer);
-        this.stream4 = new MemoryStream(this.buffer);
-        this.stream5 = new MemoryStream(this.buffer);
-        this.stream6 = new MemoryStream(this.buffer);
-        this.stream6 = new MemoryStream(this.buffer);
-
-        this.chunkedMemoryStream1 = new ChunkedMemoryStream(Configuration.Default.MemoryAllocator);
+        this.stream1 = new(this.buffer);
+        this.stream2 = new(this.buffer);
+        this.stream3 = new(this.buffer);
+        this.stream4 = new(this.buffer);
+        this.stream5 = new(this.buffer);
+        this.stream6 = new(this.buffer);
+        this.stream6 = new(this.buffer);
+
+        this.chunkedMemoryStream1 = new(Configuration.Default.MemoryAllocator);
         this.chunkedMemoryStream1.Write(this.buffer);
         this.chunkedMemoryStream1.Position = 0;
 
-        this.chunkedMemoryStream2 = new ChunkedMemoryStream(Configuration.Default.MemoryAllocator);
+        this.chunkedMemoryStream2 = new(Configuration.Default.MemoryAllocator);
         this.chunkedMemoryStream2.Write(this.buffer);
         this.chunkedMemoryStream2.Position = 0;
 
-        this.bufferedStream1 = new BufferedReadStream(Configuration.Default, this.stream3);
-        this.bufferedStream2 = new BufferedReadStream(Configuration.Default, this.stream4);
-        this.bufferedStream3 = new BufferedReadStream(Configuration.Default, this.chunkedMemoryStream1);
-        this.bufferedStream4 = new BufferedReadStream(Configuration.Default, this.chunkedMemoryStream2);
-        this.bufferedStreamWrap1 = new BufferedReadStreamWrapper(this.stream5);
-        this.bufferedStreamWrap2 = new BufferedReadStreamWrapper(this.stream6);
+        this.bufferedStream1 = new(Configuration.Default, this.stream3);
+        this.bufferedStream2 = new(Configuration.Default, this.stream4);
+        this.bufferedStream3 = new(Configuration.Default, this.chunkedMemoryStream1);
+        this.bufferedStream4 = new(Configuration.Default, this.chunkedMemoryStream2);
+        this.bufferedStreamWrap1 = new(this.stream5);
+        this.bufferedStreamWrap2 = new(this.stream6);
     }
 
     [GlobalCleanup]
@@ -206,7 +206,7 @@ public int ArrayReadByte()
     private static byte[] CreateTestBytes()
     {
         byte[] buffer = new byte[Configuration.Default.StreamProcessingBufferSize * 3];
-        Random random = new Random();
+        Random random = new();
         random.NextBytes(buffer);
 
         return buffer;
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertFromRgba32.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertFromRgba32.cs
index 1d83b94dc8..bbe9e72d18 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertFromRgba32.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertFromRgba32.cs
@@ -96,9 +96,9 @@ public readonly void RunFromBytesConversion()
     [GlobalSetup]
     public void Setup()
     {
-        this.CompatibleMemLayoutRunner = new ConversionRunner<TestRgba>(this.Count);
-        this.PermutedRunnerRgbaToArgb = new ConversionRunner<TestArgb>(this.Count);
-        this.RunnerRgbaToRgbaVector = new ConversionRunner<TestRgbaVector>(this.Count);
+        this.CompatibleMemLayoutRunner = new(this.Count);
+        this.PermutedRunnerRgbaToArgb = new(this.Count);
+        this.RunnerRgbaToRgbaVector = new(this.Count);
     }
 }
 
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertFromVector4.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertFromVector4.cs
index 57f79ba1f3..c0dd6b93d5 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertFromVector4.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertFromVector4.cs
@@ -65,8 +65,8 @@ public void RunByValConversion()
     [GlobalSetup]
     public void Setup()
     {
-        this.nonVectorRunner = new ConversionRunner<TestArgb>(this.Count);
-        this.vectorRunner = new ConversionRunner<TestRgbaVector>(this.Count);
+        this.nonVectorRunner = new(this.Count);
+        this.vectorRunner = new(this.Count);
     }
 
     [Benchmark(Baseline = true)]
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToRgba32.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToRgba32.cs
index 1a03a0c04f..4a36e9cf1a 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToRgba32.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToRgba32.cs
@@ -69,8 +69,8 @@ public void RunCopyToConversion()
     [GlobalSetup]
     public void Setup()
     {
-        this.compatibleMemoryLayoutRunner = new ConversionRunner<TestRgba>(this.Count);
-        this.permutedRunner = new ConversionRunner<TestArgb>(this.Count);
+        this.compatibleMemoryLayoutRunner = new(this.Count);
+        this.permutedRunner = new(this.Count);
     }
 
     [Benchmark(Baseline = true)]
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToRgba32_AsPartOfCompositeOperation.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToRgba32_AsPartOfCompositeOperation.cs
index 69a71734a3..ad2e71626a 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToRgba32_AsPartOfCompositeOperation.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToRgba32_AsPartOfCompositeOperation.cs
@@ -76,8 +76,8 @@ public void RunCopyToConversion()
     [GlobalSetup]
     public void Setup()
     {
-        this.compatibleMemoryLayoutRunner = new ConversionRunner<TestRgba>(this.Count);
-        this.permutedRunner = new ConversionRunner<TestArgb>(this.Count);
+        this.compatibleMemoryLayoutRunner = new(this.Count);
+        this.permutedRunner = new(this.Count);
     }
 
     [Benchmark(Baseline = true)]
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToVector4.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToVector4.cs
index 9b498b0f2e..ee0fbb4996 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToVector4.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToVector4.cs
@@ -59,7 +59,7 @@ public void RunCopyToConversion()
     [GlobalSetup]
     public void Setup()
     {
-        this.runner = new ConversionRunner<TestRgba>(this.Count);
+        this.runner = new(this.Count);
     }
 
     [Benchmark(Baseline = true)]
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToVector4_AsPartOfCompositeOperation.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToVector4_AsPartOfCompositeOperation.cs
index 50c3d0d131..d9723b0e3a 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToVector4_AsPartOfCompositeOperation.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_ConvertToVector4_AsPartOfCompositeOperation.cs
@@ -73,7 +73,7 @@ public void RunCopyToConversion()
     [GlobalSetup]
     public void Setup()
     {
-        this.runner = new ConversionRunner<TestRgba>(this.Count);
+        this.runner = new(this.Count);
     }
 
     [Benchmark(Baseline = true)]
diff --git a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_Rgba32_To_Bgra32.cs b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_Rgba32_To_Bgra32.cs
index 21808b5ef7..232d8b3e27 100644
--- a/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_Rgba32_To_Bgra32.cs
+++ b/tests/ImageSharp.Benchmarks/General/PixelConversion/PixelConversion_Rgba32_To_Bgra32.cs
@@ -252,8 +252,8 @@ private struct C
     private static void BitopsSimdImpl(ref Octet<uint> s, ref Octet<uint> d)
     {
         Vector<uint> sVec = Unsafe.As<Octet<uint>, Vector<uint>>(ref s);
-        Vector<uint> aMask = new Vector<uint>(0xFF00FF00);
-        Vector<uint> bMask = new Vector<uint>(0x00FF00FF);
+        Vector<uint> aMask = new(0xFF00FF00);
+        Vector<uint> bMask = new(0x00FF00FF);
 
         Vector<uint> aa = sVec & aMask;
         Vector<uint> bb = sVec & bMask;
diff --git a/tests/ImageSharp.Benchmarks/General/Vector4Constants.cs b/tests/ImageSharp.Benchmarks/General/Vector4Constants.cs
index d956df80be..c7df2467bc 100644
--- a/tests/ImageSharp.Benchmarks/General/Vector4Constants.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vector4Constants.cs
@@ -12,10 +12,10 @@ namespace SixLabors.ImageSharp.Benchmarks.General;
 /// </summary>
 public class Vector4Constants
 {
-    private static readonly Vector4 A = new Vector4(1.2f);
-    private static readonly Vector4 B = new Vector4(3.4f);
-    private static readonly Vector4 C = new Vector4(5.6f);
-    private static readonly Vector4 D = new Vector4(7.8f);
+    private static readonly Vector4 A = new(1.2f);
+    private static readonly Vector4 B = new(3.4f);
+    private static readonly Vector4 C = new(5.6f);
+    private static readonly Vector4 D = new(7.8f);
 
     private Random random;
 
@@ -24,8 +24,8 @@ public class Vector4Constants
     [GlobalSetup]
     public void Setup()
     {
-        this.random = new Random(42);
-        this.parameter = new Vector4(
+        this.random = new(42);
+        this.parameter = new(
             this.GetRandomFloat(),
             this.GetRandomFloat(),
             this.GetRandomFloat(),
@@ -51,8 +51,8 @@ public Vector4 Inlined()
 
         Vector4 x = (p * new Vector4(1.2f) / new Vector4(2.3f)) + (p * new Vector4(4.5f) / new Vector4(6.7f));
         Vector4 y = (p / new Vector4(1.2f) * new Vector4(2.3f)) + (p / new Vector4(4.5f) * new Vector4(6.7f));
-        Vector4 z = Vector4.Min(p, new Vector4(1.2f));
-        Vector4 w = Vector4.Max(p, new Vector4(2.3f));
+        Vector4 z = Vector4.Min(p, new(1.2f));
+        Vector4 w = Vector4.Max(p, new(2.3f));
         return x + y + z + w;
     }
 
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/BitwiseOrUint32.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/BitwiseOrUint32.cs
index 69babfb92f..2f9b02b59f 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/BitwiseOrUint32.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/BitwiseOrUint32.cs
@@ -43,11 +43,11 @@ public void Standard()
     [Benchmark]
     public void Simd()
     {
-        Vector<uint> v = new Vector<uint>(this.testValue);
+        Vector<uint> v = new(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            Vector<uint> a = new Vector<uint>(this.input, i);
+            Vector<uint> a = new(this.input, i);
             a = Vector.BitwiseOr(a, v);
             a.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/DivFloat.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/DivFloat.cs
index 2c30cd103c..fd243638b2 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/DivFloat.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/DivFloat.cs
@@ -43,11 +43,11 @@ public void Standard()
     [Benchmark]
     public void Simd()
     {
-        Vector<float> v = new Vector<float>(this.testValue);
+        Vector<float> v = new(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            Vector<float> a = new Vector<float>(this.input, i);
+            Vector<float> a = new(this.input, i);
             a = a / v;
             a.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/DivUInt32.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/DivUInt32.cs
index 6bdbccace7..0d2923b619 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/DivUInt32.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/DivUInt32.cs
@@ -44,11 +44,11 @@ public void Standard()
     [Benchmark]
     public void Simd()
     {
-        Vector<uint> v = new Vector<uint>(this.testValue);
+        Vector<uint> v = new(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            Vector<uint> a = new Vector<uint>(this.input, i);
+            Vector<uint> a = new(this.input, i);
 
             a = a / v;
             a.CopyTo(this.result, i);
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/Divide.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/Divide.cs
index 9c95c22e0f..d7d734539c 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/Divide.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/Divide.cs
@@ -57,7 +57,7 @@ public class DivInt16 : SIMDBenchmarkBase<short>.Divide
 {
     protected override short GetTestValue() => 42;
 
-    protected override Vector<short> GetTestVector() => new Vector<short>(new short[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 });
+    protected override Vector<short> GetTestVector() => new(new short[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 });
 
     [Benchmark(Baseline = true)]
     public void Standard()
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/MulFloat.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/MulFloat.cs
index 8d5d66c4ba..801b0e1613 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/MulFloat.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/MulFloat.cs
@@ -43,11 +43,11 @@ public void Standard()
     [Benchmark]
     public void SimdMultiplyByVector()
     {
-        Vector<float> v = new Vector<float>(this.testValue);
+        Vector<float> v = new(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            Vector<float> a = new Vector<float>(this.input, i);
+            Vector<float> a = new(this.input, i);
             a = a * v;
             a.CopyTo(this.result, i);
         }
@@ -60,7 +60,7 @@ public void SimdMultiplyByScalar()
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            Vector<float> a = new Vector<float>(this.input, i);
+            Vector<float> a = new(this.input, i);
             a = a * v;
             a.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/MulUInt32.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/MulUInt32.cs
index d8079423fa..db64486ada 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/MulUInt32.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/MulUInt32.cs
@@ -43,11 +43,11 @@ public void Standard()
     [Benchmark]
     public void Simd()
     {
-        Vector<uint> v = new Vector<uint>(this.testValue);
+        Vector<uint> v = new(this.testValue);
 
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            Vector<uint> a = new Vector<uint>(this.input, i);
+            Vector<uint> a = new(this.input, i);
             a = a * v;
             a.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/Multiply.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/Multiply.cs
index fe48c3301b..d7562d47f8 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/Multiply.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/Multiply.cs
@@ -40,7 +40,7 @@ public class MulInt16 : SIMDBenchmarkBase<short>.Multiply
 {
     protected override short GetTestValue() => 42;
 
-    protected override Vector<short> GetTestVector() => new Vector<short>(new short[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 });
+    protected override Vector<short> GetTestVector() => new(new short[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 });
 
     [Benchmark(Baseline = true)]
     public void Standard()
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/Premultiply.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/Premultiply.cs
index 8129222c3c..f99b141b4e 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/Premultiply.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/Premultiply.cs
@@ -12,14 +12,14 @@ public class Premultiply
     [Benchmark(Baseline = true)]
     public Vector4 PremultiplyByVal()
     {
-        Vector4 input = new Vector4(.5F);
+        Vector4 input = new(.5F);
         return Vector4Utils.Premultiply(input);
     }
 
     [Benchmark]
     public Vector4 PremultiplyByRef()
     {
-        Vector4 input = new Vector4(.5F);
+        Vector4 input = new(.5F);
         Vector4Utils.PremultiplyRef(ref input);
         return input;
     }
@@ -27,7 +27,7 @@ public Vector4 PremultiplyByRef()
     [Benchmark]
     public Vector4 PremultiplyRefWithPropertyAssign()
     {
-        Vector4 input = new Vector4(.5F);
+        Vector4 input = new(.5F);
         Vector4Utils.PremultiplyRefWithPropertyAssign(ref input);
         return input;
     }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/ReinterpretUInt32AsFloat.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/ReinterpretUInt32AsFloat.cs
index d7204d96d8..557d8ff38b 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/ReinterpretUInt32AsFloat.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/ReinterpretUInt32AsFloat.cs
@@ -53,7 +53,7 @@ public void Simd()
     {
         for (int i = 0; i < this.input.Length; i += Vector<uint>.Count)
         {
-            Vector<uint> a = new Vector<uint>(this.input, i);
+            Vector<uint> a = new(this.input, i);
             Vector<float> b = Vector.AsVectorSingle(a);
             b.CopyTo(this.result, i);
         }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/SIMDBenchmarkBase.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/SIMDBenchmarkBase.cs
index 90d81a0583..4eef631c42 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/SIMDBenchmarkBase.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/SIMDBenchmarkBase.cs
@@ -20,7 +20,7 @@ public abstract class SIMDBenchmarkBase<T>
 
     protected virtual T GetTestValue() => default;
 
-    protected virtual Vector<T> GetTestVector() => new Vector<T>(this.GetTestValue());
+    protected virtual Vector<T> GetTestVector() => new(this.GetTestValue());
 
     [Params(32)]
     public int InputSize { get; set; }
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/UInt32ToSingle.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/UInt32ToSingle.cs
index 54e9622a38..4048bc210e 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/UInt32ToSingle.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/UInt32ToSingle.cs
@@ -27,10 +27,10 @@ public void MagicMethod()
 
         nuint n = Count / (uint)Vector<float>.Count;
 
-        Vector<float> bVec = new Vector<float>(256.0f / 255.0f);
-        Vector<float> magicFloat = new Vector<float>(32768.0f);
-        Vector<uint> magicInt = new Vector<uint>(1191182336); // reinterpreted value of 32768.0f
-        Vector<uint> mask = new Vector<uint>(255);
+        Vector<float> bVec = new(256.0f / 255.0f);
+        Vector<float> magicFloat = new(32768.0f);
+        Vector<uint> magicInt = new(1191182336); // reinterpreted value of 32768.0f
+        Vector<uint> mask = new(255);
 
         for (nuint i = 0; i < n; i++)
         {
@@ -55,7 +55,7 @@ public void StandardSimd()
         ref Vector<float> bf = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
         ref Vector<uint> bu = ref Unsafe.As<Vector<float>, Vector<uint>>(ref bf);
 
-        Vector<float> scale = new Vector<float>(1f / 255f);
+        Vector<float> scale = new(1f / 255f);
 
         for (nuint i = 0; i < n; i++)
         {
@@ -74,7 +74,7 @@ public void StandardSimdFromInt()
         ref Vector<float> bf = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
         ref Vector<int> bu = ref Unsafe.As<Vector<float>, Vector<int>>(ref bf);
 
-        Vector<float> scale = new Vector<float>(1f / 255f);
+        Vector<float> scale = new(1f / 255f);
 
         for (nuint i = 0; i < n; i++)
         {
@@ -91,7 +91,7 @@ public void StandardSimdFromInt_RefCast()
         nuint n = Count / (uint)Vector<float>.Count;
 
         ref Vector<float> bf = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
-        Vector<float> scale = new Vector<float>(1f / 255f);
+        Vector<float> scale = new(1f / 255f);
 
         for (nuint i = 0; i < n; i++)
         {
diff --git a/tests/ImageSharp.Benchmarks/General/Vectorization/VectorFetching.cs b/tests/ImageSharp.Benchmarks/General/Vectorization/VectorFetching.cs
index e8b6626cd4..9c7fd5b6cc 100644
--- a/tests/ImageSharp.Benchmarks/General/Vectorization/VectorFetching.cs
+++ b/tests/ImageSharp.Benchmarks/General/Vectorization/VectorFetching.cs
@@ -47,11 +47,11 @@ public void Baseline()
     [Benchmark]
     public void FetchWithVectorConstructor()
     {
-        Vector<float> v = new Vector<float>(this.testValue);
+        Vector<float> v = new(this.testValue);
 
         for (int i = 0; i < this.data.Length; i += Vector<uint>.Count)
         {
-            Vector<float> a = new Vector<float>(this.data, i);
+            Vector<float> a = new(this.data, i);
             a = a * v;
             a.CopyTo(this.data, i);
         }
@@ -60,7 +60,7 @@ public void FetchWithVectorConstructor()
     [Benchmark]
     public void FetchWithUnsafeCast()
     {
-        Vector<float> v = new Vector<float>(this.testValue);
+        Vector<float> v = new(this.testValue);
         ref Vector<float> start = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
 
         nuint n = (uint)this.InputSize / (uint)Vector<uint>.Count;
@@ -79,7 +79,7 @@ public void FetchWithUnsafeCast()
     [Benchmark]
     public void FetchWithUnsafeCastNoTempVector()
     {
-        Vector<float> v = new Vector<float>(this.testValue);
+        Vector<float> v = new(this.testValue);
         ref Vector<float> start = ref Unsafe.As<float, Vector<float>>(ref this.data[0]);
 
         nuint n = (uint)this.InputSize / (uint)Vector<uint>.Count;
@@ -94,9 +94,9 @@ public void FetchWithUnsafeCastNoTempVector()
     [Benchmark]
     public void FetchWithUnsafeCastFromReference()
     {
-        Vector<float> v = new Vector<float>(this.testValue);
+        Vector<float> v = new(this.testValue);
 
-        Span<float> span = new Span<float>(this.data);
+        Span<float> span = new(this.data);
 
         ref Vector<float> start = ref Unsafe.As<float, Vector<float>>(ref MemoryMarshal.GetReference(span));
 
diff --git a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressBenchmarks.cs b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressBenchmarks.cs
index 04621695c6..65ca779ca5 100644
--- a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressBenchmarks.cs
+++ b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressBenchmarks.cs
@@ -18,7 +18,7 @@ public class LoadResizeSaveStressBenchmarks
     [GlobalSetup]
     public void Setup()
     {
-        this.runner = new LoadResizeSaveStressRunner()
+        this.runner = new()
         {
             ImageCount = Environment.ProcessorCount,
             Filter = Filter
diff --git a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs
index e7d240acd3..a41790735d 100644
--- a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs
+++ b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs
@@ -117,7 +117,7 @@ static JpegKind GetJpegType(string f) =>
 
     public void ForEachImageParallel(Action<string> action) => Parallel.ForEach(
         this.Images,
-        new ParallelOptions { MaxDegreeOfParallelism = this.MaxDegreeOfParallelism },
+        new() { MaxDegreeOfParallelism = this.MaxDegreeOfParallelism },
         action);
 
     public Task ForEachImageParallelAsync(Func<string, Task> action)
@@ -148,7 +148,7 @@ Task RunPartition(int start, int end) => Task.Run(async () =>
 
     private void LogImageProcessed(int width, int height)
     {
-        this.LastProcessedImageSize = new Size(width, height);
+        this.LastProcessedImageSize = new(width, height);
         double pixels = width * (double)height;
         this.TotalProcessedMegapixels += pixels / 1_000_000.0;
     }
@@ -322,7 +322,7 @@ public void SkiaBitmapDecodeToTargetSize(string input)
         (int width, int height) = this.ScaledSize(info.Width, info.Height, this.ThumbnailSize);
         SKSizeI supportedScale = codec.GetScaledDimensions((float)width / info.Width);
 
-        using SKBitmap original = SKBitmap.Decode(codec, new SKImageInfo(supportedScale.Width, supportedScale.Height));
+        using SKBitmap original = SKBitmap.Decode(codec, new(supportedScale.Width, supportedScale.Height));
         using SKBitmap resized = original.Resize(new SKImageInfo(width, height), SKFilterQuality.High);
         if (resized == null)
         {
diff --git a/tests/ImageSharp.Benchmarks/PixelBlenders/PorterDuffBulkVsPixel.cs b/tests/ImageSharp.Benchmarks/PixelBlenders/PorterDuffBulkVsPixel.cs
index a308c0c468..9f75f9dc26 100644
--- a/tests/ImageSharp.Benchmarks/PixelBlenders/PorterDuffBulkVsPixel.cs
+++ b/tests/ImageSharp.Benchmarks/PixelBlenders/PorterDuffBulkVsPixel.cs
@@ -73,7 +73,7 @@ public Size BulkVectorConvert()
             BulkVectorConvert(span, span, span, amounts.GetSpan());
         }
 
-        return new Size(image.Width, image.Height);
+        return new(image.Width, image.Height);
     }
 
     [Benchmark(Description = "ImageSharp BulkPixelConvert")]
@@ -89,6 +89,6 @@ public Size BulkPixelConvert()
             BulkPixelConvert(span, span, span, amounts.GetSpan());
         }
 
-        return new Size(image.Width, image.Height);
+        return new(image.Width, image.Height);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Processing/Crop.cs b/tests/ImageSharp.Benchmarks/Processing/Crop.cs
index c889b33870..d526c6ba4a 100644
--- a/tests/ImageSharp.Benchmarks/Processing/Crop.cs
+++ b/tests/ImageSharp.Benchmarks/Processing/Crop.cs
@@ -17,14 +17,14 @@ public class Crop
     [Benchmark(Baseline = true, Description = "System.Drawing Crop")]
     public SDSize CropSystemDrawing()
     {
-        using Bitmap source = new Bitmap(800, 800);
-        using Bitmap destination = new Bitmap(100, 100);
+        using Bitmap source = new(800, 800);
+        using Bitmap destination = new(100, 100);
         using Graphics graphics = Graphics.FromImage(destination);
 
         graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
         graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
         graphics.CompositingQuality = CompositingQuality.HighQuality;
-        graphics.DrawImage(source, new SDRectangle(0, 0, 100, 100), 0, 0, 100, 100, GraphicsUnit.Pixel);
+        graphics.DrawImage(source, new(0, 0, 100, 100), 0, 0, 100, 100, GraphicsUnit.Pixel);
 
         return destination.Size;
     }
@@ -32,8 +32,8 @@ public SDSize CropSystemDrawing()
     [Benchmark(Description = "ImageSharp Crop")]
     public Size CropImageSharp()
     {
-        using Image<Rgba32> image = new Image<Rgba32>(800, 800);
+        using Image<Rgba32> image = new(800, 800);
         image.Mutate(x => x.Crop(100, 100));
-        return new Size(image.Width, image.Height);
+        return new(image.Width, image.Height);
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Processing/OilPaint.cs b/tests/ImageSharp.Benchmarks/Processing/OilPaint.cs
index e3e413fe49..42ee7a5faa 100644
--- a/tests/ImageSharp.Benchmarks/Processing/OilPaint.cs
+++ b/tests/ImageSharp.Benchmarks/Processing/OilPaint.cs
@@ -13,7 +13,7 @@ public class OilPaint
     [Benchmark]
     public void DoOilPaint()
     {
-        using Image<RgbaVector> image = new Image<RgbaVector>(1920, 1200, new(127, 191, 255));
+        using Image<RgbaVector> image = new(1920, 1200, new(127, 191, 255));
         image.Mutate(ctx => ctx.OilPaint());
     }
 }
diff --git a/tests/ImageSharp.Benchmarks/Processing/Resize.cs b/tests/ImageSharp.Benchmarks/Processing/Resize.cs
index 41dd0f26b6..4d7bbce275 100644
--- a/tests/ImageSharp.Benchmarks/Processing/Resize.cs
+++ b/tests/ImageSharp.Benchmarks/Processing/Resize.cs
@@ -22,7 +22,7 @@ public abstract class Resize<TPixel>
 
     private SDImage sourceBitmap;
 
-    protected Configuration Configuration { get; } = new Configuration(new JpegConfigurationModule());
+    protected Configuration Configuration { get; } = new(new JpegConfigurationModule());
 
     protected int DestSize { get; private set; }
 
@@ -35,7 +35,7 @@ public virtual void Setup()
 
             this.sourceImage = Image.Load<TPixel>(this.bytes);
 
-            MemoryStream ms1 = new MemoryStream(this.bytes);
+            MemoryStream ms1 = new(this.bytes);
             this.sourceBitmap = SDImage.FromStream(ms1);
             this.DestSize = this.sourceBitmap.Width / 2;
         }
@@ -52,7 +52,7 @@ public void Cleanup()
     [Benchmark(Baseline = true)]
     public int SystemDrawing()
     {
-        using (Bitmap destination = new Bitmap(this.DestSize, this.DestSize))
+        using (Bitmap destination = new(this.DestSize, this.DestSize))
         {
             using (Graphics g = Graphics.FromImage(destination))
             {
@@ -222,9 +222,9 @@ public class Resize_Bicubic_Compare_Rgba32_Rgb24
     [GlobalSetup]
     public void Setup()
     {
-        this.rgb24 = new Resize_Bicubic_Rgb24();
+        this.rgb24 = new();
         this.rgb24.Setup();
-        this.rgba32 = new Resize_Bicubic_Rgba32();
+        this.rgba32 = new();
         this.rgba32.Setup();
     }
 
diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs
index 87380ab727..79128cfee9 100644
--- a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs
+++ b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs
@@ -17,7 +17,7 @@ internal class LoadResizeSaveParallelMemoryStress
 {
     private LoadResizeSaveParallelMemoryStress()
     {
-        this.Benchmarks = new LoadResizeSaveStressRunner()
+        this.Benchmarks = new()
         {
             Filter = JpegKind.Baseline,
         };
@@ -38,7 +38,7 @@ public static void Run(string[] args)
         Console.WriteLine($"64 bit: {Environment.Is64BitProcess}");
         CommandLineOptions options = args.Length > 0 ? CommandLineOptions.Parse(args) : null;
 
-        LoadResizeSaveParallelMemoryStress lrs = new LoadResizeSaveParallelMemoryStress();
+        LoadResizeSaveParallelMemoryStress lrs = new();
         if (options != null)
         {
             lrs.Benchmarks.MaxDegreeOfParallelism = options.MaxDegreeOfParallelism;
@@ -108,7 +108,7 @@ public static void Run(string[] args)
             }
         }
 
-        Stats stats = new Stats(timer, lrs.Benchmarks.TotalProcessedMegapixels);
+        Stats stats = new(timer, lrs.Benchmarks.TotalProcessedMegapixels);
         Console.WriteLine($"Total Megapixels: {stats.TotalMegapixels}, TotalOomRetries: {UnmanagedMemoryHandle.TotalOomRetries}, TotalOutstandingHandles: {UnmanagedMemoryHandle.TotalOutstandingHandles}, Total Gen2 GC count: {GC.CollectionCount(2)}");
         Console.WriteLine(stats.GetMarkdown());
         if (options?.FileOutput != null)
@@ -203,7 +203,7 @@ public Stats(Stopwatch sw, double totalMegapixels)
 
         public string GetMarkdown()
         {
-            StringBuilder bld = new StringBuilder();
+            StringBuilder bld = new();
             bld.AppendLine($"| {nameof(this.TotalSeconds)} | {nameof(this.MegapixelsPerSec)} | {nameof(this.MegapixelsPerSecPerCpu)} |");
             bld.AppendLine(
                 $"| {L(nameof(this.TotalSeconds))} | {L(nameof(this.MegapixelsPerSec))} | {L(nameof(this.MegapixelsPerSecPerCpu))} |");
@@ -295,7 +295,7 @@ public MemoryAllocator CreateMemoryAllocator()
                     (int)B(this.MaxContiguousPoolBufferMegaBytes),
                     B(this.MaxPoolSizeMegaBytes),
                     (int)B(this.MaxCapacityOfNonPoolBuffersMegaBytes),
-                    new UniformUnmanagedMemoryPool.TrimSettings
+                    new()
                     {
                         TrimPeriodMilliseconds = this.TrimTimeSeconds.Value * 1000
                     });
diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs b/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
index 43e17f5c9e..3e4f77f9ef 100644
--- a/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
+++ b/tests/ImageSharp.Tests.ProfilingSandbox/Program.cs
@@ -64,13 +64,13 @@ private static Version GetNetCoreVersion()
 
     private static void RunResizeProfilingTest()
     {
-        ResizeProfilingBenchmarks test = new ResizeProfilingBenchmarks(new ConsoleOutput());
+        ResizeProfilingBenchmarks test = new(new ConsoleOutput());
         test.ResizeBicubic(4000, 4000);
     }
 
     private static void RunToVector4ProfilingTest()
     {
-        PixelOperationsTests.Rgba32_OperationsTests tests = new PixelOperationsTests.Rgba32_OperationsTests(new ConsoleOutput());
+        PixelOperationsTests.Rgba32_OperationsTests tests = new(new ConsoleOutput());
         tests.Benchmark_ToVector4();
     }
 }
diff --git a/tests/ImageSharp.Tests/Color/ColorTests.CastTo.cs b/tests/ImageSharp.Tests/Color/ColorTests.CastTo.cs
index d760dffd43..6c3377d10d 100644
--- a/tests/ImageSharp.Tests/Color/ColorTests.CastTo.cs
+++ b/tests/ImageSharp.Tests/Color/ColorTests.CastTo.cs
@@ -13,7 +13,7 @@ public class CastTo
         [Fact]
         public void Rgba64()
         {
-            Rgba64 source = new Rgba64(100, 2222, 3333, 4444);
+            Rgba64 source = new(100, 2222, 3333, 4444);
 
             // Act:
             Color color = Color.FromPixel(source);
@@ -26,7 +26,7 @@ public void Rgba64()
         [Fact]
         public void Rgba32()
         {
-            Rgba32 source = new Rgba32(1, 22, 33, 231);
+            Rgba32 source = new(1, 22, 33, 231);
 
             // Act:
             Color color = Color.FromPixel(source);
@@ -39,7 +39,7 @@ public void Rgba32()
         [Fact]
         public void Argb32()
         {
-            Argb32 source = new Argb32(1, 22, 33, 231);
+            Argb32 source = new(1, 22, 33, 231);
 
             // Act:
             Color color = Color.FromPixel(source);
@@ -52,7 +52,7 @@ public void Argb32()
         [Fact]
         public void Bgra32()
         {
-            Bgra32 source = new Bgra32(1, 22, 33, 231);
+            Bgra32 source = new(1, 22, 33, 231);
 
             // Act:
             Color color = Color.FromPixel(source);
@@ -65,7 +65,7 @@ public void Bgra32()
         [Fact]
         public void Abgr32()
         {
-            Abgr32 source = new Abgr32(1, 22, 33, 231);
+            Abgr32 source = new(1, 22, 33, 231);
 
             // Act:
             Color color = Color.FromPixel(source);
@@ -78,7 +78,7 @@ public void Abgr32()
         [Fact]
         public void Rgb24()
         {
-            Rgb24 source = new Rgb24(1, 22, 231);
+            Rgb24 source = new(1, 22, 231);
 
             // Act:
             Color color = Color.FromPixel(source);
@@ -91,7 +91,7 @@ public void Rgb24()
         [Fact]
         public void Bgr24()
         {
-            Bgr24 source = new Bgr24(1, 22, 231);
+            Bgr24 source = new(1, 22, 231);
 
             // Act:
             Color color = Color.FromPixel(source);
@@ -108,10 +108,10 @@ public void Vector4Constructor()
             Color color = Color.FromScaledVector(Vector4.One);
 
             // Assert:
-            Assert.Equal(new RgbaVector(1, 1, 1, 1), color.ToPixel<RgbaVector>());
-            Assert.Equal(new Rgba64(65535, 65535, 65535, 65535), color.ToPixel<Rgba64>());
-            Assert.Equal(new Rgba32(255, 255, 255, 255), color.ToPixel<Rgba32>());
-            Assert.Equal(new L8(255), color.ToPixel<L8>());
+            Assert.Equal(new(1, 1, 1, 1), color.ToPixel<RgbaVector>());
+            Assert.Equal(new(65535, 65535, 65535, 65535), color.ToPixel<Rgba64>());
+            Assert.Equal(new(255, 255, 255, 255), color.ToPixel<Rgba32>());
+            Assert.Equal(new(255), color.ToPixel<L8>());
         }
 
         [Fact]
diff --git a/tests/ImageSharp.Tests/Color/ColorTests.cs b/tests/ImageSharp.Tests/Color/ColorTests.cs
index d430df5b44..8b636ee39f 100644
--- a/tests/ImageSharp.Tests/Color/ColorTests.cs
+++ b/tests/ImageSharp.Tests/Color/ColorTests.cs
@@ -108,29 +108,29 @@ public class FromHex
         [Fact]
         public void ShortHex()
         {
-            Assert.Equal(new Rgb24(255, 255, 255), Color.ParseHex("#fff").ToPixel<Rgb24>());
-            Assert.Equal(new Rgb24(255, 255, 255), Color.ParseHex("fff").ToPixel<Rgb24>());
-            Assert.Equal(new Rgba32(0, 0, 0, 255), Color.ParseHex("000f").ToPixel<Rgba32>());
+            Assert.Equal(new(255, 255, 255), Color.ParseHex("#fff").ToPixel<Rgb24>());
+            Assert.Equal(new(255, 255, 255), Color.ParseHex("fff").ToPixel<Rgb24>());
+            Assert.Equal(new(0, 0, 0, 255), Color.ParseHex("000f").ToPixel<Rgba32>());
         }
 
         [Fact]
         public void TryShortHex()
         {
             Assert.True(Color.TryParseHex("#fff", out Color actual));
-            Assert.Equal(new Rgb24(255, 255, 255), actual.ToPixel<Rgb24>());
+            Assert.Equal(new(255, 255, 255), actual.ToPixel<Rgb24>());
 
             Assert.True(Color.TryParseHex("fff", out actual));
-            Assert.Equal(new Rgb24(255, 255, 255), actual.ToPixel<Rgb24>());
+            Assert.Equal(new(255, 255, 255), actual.ToPixel<Rgb24>());
 
             Assert.True(Color.TryParseHex("000f", out actual));
-            Assert.Equal(new Rgba32(0, 0, 0, 255), actual.ToPixel<Rgba32>());
+            Assert.Equal(new(0, 0, 0, 255), actual.ToPixel<Rgba32>());
         }
 
         [Fact]
         public void LeadingPoundIsOptional()
         {
-            Assert.Equal(new Rgb24(0, 128, 128), Color.ParseHex("#008080").ToPixel<Rgb24>());
-            Assert.Equal(new Rgb24(0, 128, 128), Color.ParseHex("008080").ToPixel<Rgb24>());
+            Assert.Equal(new(0, 128, 128), Color.ParseHex("#008080").ToPixel<Rgb24>());
+            Assert.Equal(new(0, 128, 128), Color.ParseHex("008080").ToPixel<Rgb24>());
         }
 
         [Fact]
diff --git a/tests/ImageSharp.Tests/Color/ReferencePalette.cs b/tests/ImageSharp.Tests/Color/ReferencePalette.cs
index 8e26961092..2db2aae195 100644
--- a/tests/ImageSharp.Tests/Color/ReferencePalette.cs
+++ b/tests/ImageSharp.Tests/Color/ReferencePalette.cs
@@ -273,7 +273,7 @@ internal static class ReferencePalette
     };
 
     public static readonly Dictionary<string, Color> ColorNames =
-        new Dictionary<string, Color>(StringComparer.OrdinalIgnoreCase)
+        new(StringComparer.OrdinalIgnoreCase)
         {
             { nameof(Color.AliceBlue), Color.AliceBlue },
             { nameof(Color.AntiqueWhite), Color.AntiqueWhite },
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CieLabTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CieLabTests.cs
index 3c015259b1..4c1ffcaae3 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CieLabTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CieLabTests.cs
@@ -34,8 +34,8 @@ public void CieLabEquality()
         Assert.True(new CieLab(1, 0, 1) != default);
         Assert.False(new CieLab(1, 0, 1) == default);
         Assert.Equal(default, default(CieLab));
-        Assert.Equal(new CieLab(1, 0, 1), new CieLab(1, 0, 1));
-        Assert.Equal(new CieLab(Vector3.One), new CieLab(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new CieLab(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new CieLab(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(new CieLab(1, 0, 1) == default);
         Assert.False(x.Equals((object)y));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CieLchTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CieLchTests.cs
index 484db3e8cf..e2bf8655e5 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CieLchTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CieLchTests.cs
@@ -33,8 +33,8 @@ public void CieLchEquality()
         Assert.True(default == default(CieLch));
         Assert.False(default != default(CieLch));
         Assert.Equal(default, default(CieLch));
-        Assert.Equal(new CieLch(1, 0, 1), new CieLch(1, 0, 1));
-        Assert.Equal(new CieLch(Vector3.One), new CieLch(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new CieLch(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new CieLch(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CieLchuvTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CieLchuvTests.cs
index 0b737cdfca..167fe51239 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CieLchuvTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CieLchuvTests.cs
@@ -33,8 +33,8 @@ public void CieLchuvEquality()
         Assert.True(default == default(CieLchuv));
         Assert.False(default != default(CieLchuv));
         Assert.Equal(default, default(CieLchuv));
-        Assert.Equal(new CieLchuv(1, 0, 1), new CieLchuv(1, 0, 1));
-        Assert.Equal(new CieLchuv(Vector3.One), new CieLchuv(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new CieLchuv(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new CieLchuv(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CieLuvTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CieLuvTests.cs
index db903a0bf5..c1f137c2ce 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CieLuvTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CieLuvTests.cs
@@ -33,8 +33,8 @@ public void CieLuvEquality()
         Assert.True(default == default(CieLuv));
         Assert.False(default != default(CieLuv));
         Assert.Equal(default, default(CieLuv));
-        Assert.Equal(new CieLuv(1, 0, 1), new CieLuv(1, 0, 1));
-        Assert.Equal(new CieLuv(Vector3.One), new CieLuv(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new CieLuv(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new CieLuv(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CieXyChromaticityCoordinatesTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CieXyChromaticityCoordinatesTests.cs
index a85a08a21e..deca959bae 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CieXyChromaticityCoordinatesTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CieXyChromaticityCoordinatesTests.cs
@@ -31,8 +31,8 @@ public void CieXyChromaticityCoordinatesEquality()
         Assert.True(new CieXyChromaticityCoordinates(1, 0) != default);
         Assert.False(new CieXyChromaticityCoordinates(1, 0) == default);
         Assert.Equal(default, default(CieXyChromaticityCoordinates));
-        Assert.Equal(new CieXyChromaticityCoordinates(1, 0), new CieXyChromaticityCoordinates(1, 0));
-        Assert.Equal(new CieXyChromaticityCoordinates(1, 1), new CieXyChromaticityCoordinates(1, 1));
+        Assert.Equal(new(1, 0), new CieXyChromaticityCoordinates(1, 0));
+        Assert.Equal(new(1, 1), new CieXyChromaticityCoordinates(1, 1));
         Assert.False(x.Equals(y));
         Assert.False(new CieXyChromaticityCoordinates(1, 0) == default);
         Assert.False(x.Equals((object)y));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CieXyyTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CieXyyTests.cs
index 245512f8a8..e15736d17e 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CieXyyTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CieXyyTests.cs
@@ -33,8 +33,8 @@ public void CieXyyEquality()
         Assert.True(default == default(CieXyy));
         Assert.False(default != default(CieXyy));
         Assert.Equal(default, default(CieXyy));
-        Assert.Equal(new CieXyy(1, 0, 1), new CieXyy(1, 0, 1));
-        Assert.Equal(new CieXyy(Vector3.One), new CieXyy(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new CieXyy(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new CieXyy(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CieXyzTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CieXyzTests.cs
index 88138304a8..7634d97106 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CieXyzTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CieXyzTests.cs
@@ -33,8 +33,8 @@ public void CieXyzEquality()
         Assert.True(default == default(CieXyz));
         Assert.False(default != default(CieXyz));
         Assert.Equal(default, default(CieXyz));
-        Assert.Equal(new CieXyz(1, 0, 1), new CieXyz(1, 0, 1));
-        Assert.Equal(new CieXyz(Vector3.One), new CieXyz(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new CieXyz(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new CieXyz(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CmykTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CmykTests.cs
index e2044a75d0..7de9cbacc8 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CmykTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CmykTests.cs
@@ -35,8 +35,8 @@ public void CmykEquality()
         Assert.True(default == default(Cmyk));
         Assert.False(default != default(Cmyk));
         Assert.Equal(default, default(Cmyk));
-        Assert.Equal(new Cmyk(1, 0, 1, 0), new Cmyk(1, 0, 1, 0));
-        Assert.Equal(new Cmyk(Vector4.One), new Cmyk(Vector4.One));
+        Assert.Equal(new(1, 0, 1, 0), new Cmyk(1, 0, 1, 0));
+        Assert.Equal(new(Vector4.One), new Cmyk(Vector4.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/CompandingTests.cs b/tests/ImageSharp.Tests/ColorProfiles/CompandingTests.cs
index 1bdefa1095..24b221155e 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/CompandingTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/CompandingTests.cs
@@ -102,7 +102,7 @@ public void LCompanding_IsCorrect()
     private static void CompandingIsCorrectImpl(Vector4 e, Vector4 c, float expanded, Vector4 compressed)
     {
         // W (alpha) is already the linear representation of the color.
-        Assert.Equal(new Vector4(expanded, expanded, expanded, e.W), e, Comparer);
+        Assert.Equal(new(expanded, expanded, expanded, e.W), e, Comparer);
         Assert.Equal(compressed, c, Comparer);
     }
 }
diff --git a/tests/ImageSharp.Tests/ColorProfiles/HslTests.cs b/tests/ImageSharp.Tests/ColorProfiles/HslTests.cs
index d18e65117e..cdf4ac0d4f 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/HslTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/HslTests.cs
@@ -33,8 +33,8 @@ public void HslEquality()
         Assert.True(default == default(Hsl));
         Assert.False(default != default(Hsl));
         Assert.Equal(default, default(Hsl));
-        Assert.Equal(new Hsl(1, 0, 1), new Hsl(1, 0, 1));
-        Assert.Equal(new Hsl(Vector3.One), new Hsl(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new Hsl(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new Hsl(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/HsvTests.cs b/tests/ImageSharp.Tests/ColorProfiles/HsvTests.cs
index 46f58b18e2..2cf17c724a 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/HsvTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/HsvTests.cs
@@ -33,8 +33,8 @@ public void HsvEquality()
         Assert.True(default == default(Hsv));
         Assert.False(default != default(Hsv));
         Assert.Equal(default, default(Hsv));
-        Assert.Equal(new Hsv(1, 0, 1), new Hsv(1, 0, 1));
-        Assert.Equal(new Hsv(Vector3.One), new Hsv(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new Hsv(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new Hsv(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/HunterLabTests.cs b/tests/ImageSharp.Tests/ColorProfiles/HunterLabTests.cs
index 5fbdd0788f..92b06d2936 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/HunterLabTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/HunterLabTests.cs
@@ -34,8 +34,8 @@ public void HunterLabEquality()
         Assert.True(new HunterLab(1, 0, 1) != default);
         Assert.False(new HunterLab(1, 0, 1) == default);
         Assert.Equal(default, default(HunterLab));
-        Assert.Equal(new HunterLab(1, 0, 1), new HunterLab(1, 0, 1));
-        Assert.Equal(new HunterLab(Vector3.One), new HunterLab(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new HunterLab(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new HunterLab(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/LmsTests.cs b/tests/ImageSharp.Tests/ColorProfiles/LmsTests.cs
index 138fd544da..79f10e5a43 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/LmsTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/LmsTests.cs
@@ -34,8 +34,8 @@ public void LmsEquality()
         Assert.True(new Lms(1, 0, 1) != default);
         Assert.False(new Lms(1, 0, 1) == default);
         Assert.Equal(default, default(Lms));
-        Assert.Equal(new Lms(1, 0, 1), new Lms(1, 0, 1));
-        Assert.Equal(new Lms(Vector3.One), new Lms(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new Lms(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new Lms(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/RgbTests.cs b/tests/ImageSharp.Tests/ColorProfiles/RgbTests.cs
index 7e4d4ee0e7..094fcd3027 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/RgbTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/RgbTests.cs
@@ -34,8 +34,8 @@ public void RgbEquality()
         Assert.True(default == default(Rgb));
         Assert.False(default != default(Rgb));
         Assert.Equal(default, default(Rgb));
-        Assert.Equal(new Rgb(1, 0, 1), new Rgb(1, 0, 1));
-        Assert.Equal(new Rgb(Vector3.One), new Rgb(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new Rgb(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new Rgb(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/ColorProfiles/StringRepresentationTests.cs b/tests/ImageSharp.Tests/ColorProfiles/StringRepresentationTests.cs
index 770c987dba..2cc6227025 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/StringRepresentationTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/StringRepresentationTests.cs
@@ -48,7 +48,7 @@ public class StringRepresentationTests
         { new HunterLab(Random), "HunterLab(42.4, 94.5, 83.4)" },
         { new Lms(Random), "Lms(42.4, 94.5, 83.4)" },
         { new Rgb(Random), "Rgb(42.4, 94.5, 83.4)" },
-        { Rgb.Clamp(new Rgb(Random)), "Rgb(1, 1, 1)" },
+        { Rgb.Clamp(new(Random)), "Rgb(1, 1, 1)" },
         { new Hsl(Random), "Hsl(42.4, 1, 1)" },           // clamping to 1 is expected
         { new Hsv(Random), "Hsv(42.4, 1, 1)" },           // clamping to 1 is expected
         { new YCbCr(Random), "YCbCr(42.4, 94.5, 83.4)" },
diff --git a/tests/ImageSharp.Tests/ColorProfiles/YCbCrTests.cs b/tests/ImageSharp.Tests/ColorProfiles/YCbCrTests.cs
index f8404ad948..b95d23d4b3 100644
--- a/tests/ImageSharp.Tests/ColorProfiles/YCbCrTests.cs
+++ b/tests/ImageSharp.Tests/ColorProfiles/YCbCrTests.cs
@@ -33,8 +33,8 @@ public void YCbCrEquality()
         Assert.True(default == default(YCbCr));
         Assert.False(default != default(YCbCr));
         Assert.Equal(default, default(YCbCr));
-        Assert.Equal(new YCbCr(1, 0, 1), new YCbCr(1, 0, 1));
-        Assert.Equal(new YCbCr(Vector3.One), new YCbCr(Vector3.One));
+        Assert.Equal(new(1, 0, 1), new YCbCr(1, 0, 1));
+        Assert.Equal(new(Vector3.One), new YCbCr(Vector3.One));
         Assert.False(x.Equals(y));
         Assert.False(x.Equals((object)y));
         Assert.False(x.GetHashCode().Equals(y.GetHashCode()));
diff --git a/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs b/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
index db2da6a697..8421c1fd74 100644
--- a/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
@@ -20,7 +20,7 @@ public void GetString_EmptyBuffer_ReturnsEmptyString()
     [Fact]
     public void GetString_Buffer_ReturnsString()
     {
-        ReadOnlySpan<byte> buffer = new ReadOnlySpan<byte>(new byte[] { 73, 109, 97, 103, 101, 83, 104, 97, 114, 112 });
+        ReadOnlySpan<byte> buffer = new(new byte[] { 73, 109, 97, 103, 101, 83, 104, 97, 114, 112 });
 
         string result = Encoding.UTF8.GetString(buffer);
 
diff --git a/tests/ImageSharp.Tests/Common/NumericsTests.cs b/tests/ImageSharp.Tests/Common/NumericsTests.cs
index 69f8f9c2cd..ebee570600 100644
--- a/tests/ImageSharp.Tests/Common/NumericsTests.cs
+++ b/tests/ImageSharp.Tests/Common/NumericsTests.cs
@@ -28,7 +28,7 @@ public void DivideCeil_DivideZero()
     [InlineData(1, 100)]
     public void DivideCeil_RandomValues(int seed, int count)
     {
-        Random rng = new Random(seed);
+        Random rng = new(seed);
         for (int i = 0; i < count; i++)
         {
             uint value = (uint)rng.Next();
diff --git a/tests/ImageSharp.Tests/Common/SimdUtilsTests.cs b/tests/ImageSharp.Tests/Common/SimdUtilsTests.cs
index 36b3012640..e4d9a04b45 100644
--- a/tests/ImageSharp.Tests/Common/SimdUtilsTests.cs
+++ b/tests/ImageSharp.Tests/Common/SimdUtilsTests.cs
@@ -51,7 +51,7 @@ private static Vector<float> CreateExactTestVector1()
             data[i] = data[i - 4] + 100f;
         }
 
-        return new Vector<float>(data);
+        return new(data);
     }
 
     private static Vector<float> CreateRandomTestVector(int seed, float min, float max)
@@ -66,7 +66,7 @@ private static Vector<float> CreateRandomTestVector(int seed, float min, float m
             data[i] = v;
         }
 
-        return new Vector<float>(data);
+        return new(data);
     }
 
     [Fact]
@@ -287,7 +287,7 @@ internal static void TestPackFromRgbPlanes<TPixel>(int count, Action<byte[], byt
         TPixel[] expected = new TPixel[count];
         for (int i = 0; i < count; i++)
         {
-            expected[i] = TPixel.FromRgb24(new Rgb24(r[i], g[i], b[i]));
+            expected[i] = TPixel.FromRgb24(new(r[i], g[i], b[i]));
         }
 
         TPixel[] actual = new TPixel[count + 3]; // padding for Rgb24 AVX2
diff --git a/tests/ImageSharp.Tests/Common/StreamExtensionsTests.cs b/tests/ImageSharp.Tests/Common/StreamExtensionsTests.cs
index 3df5e8f30d..5ea7afaf80 100644
--- a/tests/ImageSharp.Tests/Common/StreamExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/Common/StreamExtensionsTests.cs
@@ -10,7 +10,7 @@ public class StreamExtensionsTests
     [InlineData(-1)]
     public void Skip_CountZeroOrLower_PositionNotChanged(int count)
     {
-        using (MemoryStream memStream = new MemoryStream(5))
+        using (MemoryStream memStream = new(5))
         {
             memStream.Position = 4;
             memStream.Skip(count);
@@ -22,7 +22,7 @@ public void Skip_CountZeroOrLower_PositionNotChanged(int count)
     [Fact]
     public void Skip_SeekableStream_SeekIsCalled()
     {
-        using (SeekableStream seekableStream = new SeekableStream(4))
+        using (SeekableStream seekableStream = new(4))
         {
             seekableStream.Skip(4);
 
@@ -34,7 +34,7 @@ public void Skip_SeekableStream_SeekIsCalled()
     [Fact]
     public void Skip_NonSeekableStream_BytesAreRead()
     {
-        using (NonSeekableStream nonSeekableStream = new NonSeekableStream())
+        using (NonSeekableStream nonSeekableStream = new())
         {
             nonSeekableStream.Skip(5);
 
@@ -49,7 +49,7 @@ public void Skip_NonSeekableStream_BytesAreRead()
     [Fact]
     public void Skip_EofStream_NoExceptionIsThrown()
     {
-        using (EofStream eofStream = new EofStream(7))
+        using (EofStream eofStream = new(7))
         {
             eofStream.Skip(7);
 
@@ -79,7 +79,7 @@ private class NonSeekableStream : MemoryStream
     {
         public override bool CanSeek => false;
 
-        public List<int> Counts = new List<int>();
+        public List<int> Counts = new();
 
         public NonSeekableStream()
             : base(4)
diff --git a/tests/ImageSharp.Tests/ConfigurationTests.cs b/tests/ImageSharp.Tests/ConfigurationTests.cs
index 5c249b8505..b90579a024 100644
--- a/tests/ImageSharp.Tests/ConfigurationTests.cs
+++ b/tests/ImageSharp.Tests/ConfigurationTests.cs
@@ -27,7 +27,7 @@ public ConfigurationTests()
         // The shallow copy of configuration should behave exactly like the default configuration,
         // so by using the copy, we test both the default and the copy.
         this.DefaultConfiguration = Configuration.CreateDefaultInstance().Clone();
-        this.ConfigurationEmpty = new Configuration();
+        this.ConfigurationEmpty = new();
     }
 
     [Fact]
@@ -58,7 +58,7 @@ public void TestDefaultConfigurationMaxDegreeOfParallelism()
     {
         Assert.True(this.DefaultConfiguration.MaxDegreeOfParallelism == Environment.ProcessorCount);
 
-        Configuration cfg = new Configuration();
+        Configuration cfg = new();
         Assert.True(cfg.MaxDegreeOfParallelism == Environment.ProcessorCount);
     }
 
@@ -71,7 +71,7 @@ public void TestDefaultConfigurationMaxDegreeOfParallelism()
     [InlineData(5, false)]
     public void MaxDegreeOfParallelism_CompatibleWith_ParallelOptions(int maxDegreeOfParallelism, bool throws)
     {
-        Configuration cfg = new Configuration();
+        Configuration cfg = new();
         if (throws)
         {
             Assert.Throws<ArgumentOutOfRangeException>(
@@ -87,8 +87,8 @@ public void MaxDegreeOfParallelism_CompatibleWith_ParallelOptions(int maxDegreeO
     [Fact]
     public void ConstructorCallConfigureOnFormatProvider()
     {
-        Mock<IImageFormatConfigurationModule> provider = new Mock<IImageFormatConfigurationModule>();
-        Configuration config = new Configuration(provider.Object);
+        Mock<IImageFormatConfigurationModule> provider = new();
+        Configuration config = new(provider.Object);
 
         provider.Verify(x => x.Configure(config));
     }
@@ -96,8 +96,8 @@ public void ConstructorCallConfigureOnFormatProvider()
     [Fact]
     public void AddFormatCallsConfig()
     {
-        Mock<IImageFormatConfigurationModule> provider = new Mock<IImageFormatConfigurationModule>();
-        Configuration config = new Configuration();
+        Mock<IImageFormatConfigurationModule> provider = new();
+        Configuration config = new();
         config.Configure(provider.Object);
 
         provider.Verify(x => x.Configure(config));
@@ -140,7 +140,7 @@ public void StreamBufferSize_DefaultIsCorrect()
     [Fact]
     public void StreamBufferSize_CannotGoBelowMinimum()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
 
         Assert.Throws<ArgumentOutOfRangeException>(
                 () => config.StreamProcessingBufferSize = 0);
@@ -150,14 +150,14 @@ public void StreamBufferSize_CannotGoBelowMinimum()
     public void MemoryAllocator_Setter_Roundtrips()
     {
         MemoryAllocator customAllocator = new SimpleGcMemoryAllocator();
-        Configuration config = new Configuration() { MemoryAllocator = customAllocator };
+        Configuration config = new() { MemoryAllocator = customAllocator };
         Assert.Same(customAllocator, config.MemoryAllocator);
     }
 
     [Fact]
     public void MemoryAllocator_SetNull_ThrowsArgumentNullException()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
         Assert.Throws<ArgumentNullException>(() => config.MemoryAllocator = null);
     }
 
@@ -168,8 +168,8 @@ public void InheritsDefaultMemoryAllocatorInstance()
 
         static void RunTest()
         {
-            Configuration c1 = new Configuration();
-            Configuration c2 = new Configuration(new MockConfigurationModule());
+            Configuration c1 = new();
+            Configuration c2 = new(new MockConfigurationModule());
             Configuration c3 = Configuration.CreateDefaultInstance();
 
             Assert.Same(MemoryAllocator.Default, Configuration.Default.MemoryAllocator);
diff --git a/tests/ImageSharp.Tests/Drawing/DrawImageTests.cs b/tests/ImageSharp.Tests/Drawing/DrawImageTests.cs
index 88f4cde7ac..2e2c30784c 100644
--- a/tests/ImageSharp.Tests/Drawing/DrawImageTests.cs
+++ b/tests/ImageSharp.Tests/Drawing/DrawImageTests.cs
@@ -195,9 +195,9 @@ public void Issue2447_A<TPixel>(TestImageProvider<TPixel> provider)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> foreground = provider.GetImage();
-        using Image<Rgba32> background = new(100, 100, new Rgba32(0, 255, 255));
+        using Image<Rgba32> background = new(100, 100, new(0, 255, 255));
 
-        background.Mutate(c => c.DrawImage(foreground, new Point(64, 10), new Rectangle(32, 32, 32, 32), 1F));
+        background.Mutate(c => c.DrawImage(foreground, new(64, 10), new Rectangle(32, 32, 32, 32), 1F));
 
         background.DebugSave(
             provider,
@@ -216,9 +216,9 @@ public void Issue2447_B<TPixel>(TestImageProvider<TPixel> provider)
     where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> foreground = provider.GetImage();
-        using Image<Rgba32> background = new(100, 100, new Rgba32(0, 255, 255));
+        using Image<Rgba32> background = new(100, 100, new(0, 255, 255));
 
-        background.Mutate(c => c.DrawImage(foreground, new Point(10, 10), new Rectangle(320, 128, 32, 32), 1F));
+        background.Mutate(c => c.DrawImage(foreground, new(10, 10), new Rectangle(320, 128, 32, 32), 1F));
 
         background.DebugSave(
             provider,
@@ -237,9 +237,9 @@ public void Issue2447_C<TPixel>(TestImageProvider<TPixel> provider)
     where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> foreground = provider.GetImage();
-        using Image<Rgba32> background = new(100, 100, new Rgba32(0, 255, 255));
+        using Image<Rgba32> background = new(100, 100, new(0, 255, 255));
 
-        background.Mutate(c => c.DrawImage(foreground, new Point(10, 10), new Rectangle(32, 32, 32, 32), 1F));
+        background.Mutate(c => c.DrawImage(foreground, new(10, 10), new Rectangle(32, 32, 32, 32), 1F));
 
         background.DebugSave(
             provider,
@@ -258,9 +258,9 @@ public void Issue2608_NegOffset<TPixel>(TestImageProvider<TPixel> provider)
     where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> foreground = provider.GetImage();
-        using Image<Rgba32> background = new(100, 100, new Rgba32(0, 255, 255));
+        using Image<Rgba32> background = new(100, 100, new(0, 255, 255));
 
-        background.Mutate(c => c.DrawImage(foreground, new Point(-10, -10), new Rectangle(32, 32, 32, 32), 1F));
+        background.Mutate(c => c.DrawImage(foreground, new(-10, -10), new Rectangle(32, 32, 32, 32), 1F));
 
         background.DebugSave(
             provider,
@@ -279,9 +279,9 @@ public void Issue2603<TPixel>(TestImageProvider<TPixel> provider)
     where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> foreground = provider.GetImage();
-        using Image<Rgba32> background = new(100, 100, new Rgba32(0, 255, 255));
+        using Image<Rgba32> background = new(100, 100, new(0, 255, 255));
 
-        background.Mutate(c => c.DrawImage(foreground, new Point(80, 80), new Rectangle(32, 32, 32, 32), 1F));
+        background.Mutate(c => c.DrawImage(foreground, new(80, 80), new Rectangle(32, 32, 32, 32), 1F));
 
         background.DebugSave(
             provider,
diff --git a/tests/ImageSharp.Tests/Formats/Bmp/BmpFileHeaderTests.cs b/tests/ImageSharp.Tests/Formats/Bmp/BmpFileHeaderTests.cs
index 8b48576456..00a19466a3 100644
--- a/tests/ImageSharp.Tests/Formats/Bmp/BmpFileHeaderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Bmp/BmpFileHeaderTests.cs
@@ -11,7 +11,7 @@ public class BmpFileHeaderTests
     [Fact]
     public void TestWrite()
     {
-        BmpFileHeader header = new BmpFileHeader(1, 2, 3, 4);
+        BmpFileHeader header = new(1, 2, 3, 4);
 
         byte[] buffer = new byte[14];
 
diff --git a/tests/ImageSharp.Tests/Formats/Bmp/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Bmp/ImageExtensionsTest.cs
index 14b017bee1..988e8935a0 100644
--- a/tests/ImageSharp.Tests/Formats/Bmp/ImageExtensionsTest.cs
+++ b/tests/ImageSharp.Tests/Formats/Bmp/ImageExtensionsTest.cs
@@ -47,7 +47,7 @@ public void SaveAsBmp_Path_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsBmp(file, new BmpEncoder());
+            image.SaveAsBmp(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -108,7 +108,7 @@ public void SaveAsBmp_Stream_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsBmp(memoryStream, new BmpEncoder());
+            image.SaveAsBmp(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifEncoderTests.cs
index f12f66186e..38aaa7a827 100644
--- a/tests/ImageSharp.Tests/Formats/Gif/GifEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Gif/GifEncoderTests.cs
@@ -56,7 +56,7 @@ public void EncodeGeneratedPatterns<TPixel>(TestImageProvider<TPixel> provider,
             {
                 // Use the palette quantizer without dithering to ensure results
                 // are consistent
-                Quantizer = new WebSafePaletteQuantizer(new QuantizerOptions { Dither = null })
+                Quantizer = new WebSafePaletteQuantizer(new() { Dither = null })
             };
 
             // Always save as we need to compare the encoded output.
@@ -115,7 +115,7 @@ public void EncodeGlobalPaletteReturnsSmallerFile<TPixel>(TestImageProvider<TPix
         GifEncoder encoder = new()
         {
             ColorTableMode = FrameColorTableMode.Global,
-            Quantizer = new OctreeQuantizer(new QuantizerOptions { Dither = null })
+            Quantizer = new OctreeQuantizer(new() { Dither = null })
         };
 
         // Always save as we need to compare the encoded output.
@@ -124,7 +124,7 @@ public void EncodeGlobalPaletteReturnsSmallerFile<TPixel>(TestImageProvider<TPix
         encoder = new()
         {
             ColorTableMode = FrameColorTableMode.Local,
-            Quantizer = new OctreeQuantizer(new QuantizerOptions { Dither = null }),
+            Quantizer = new OctreeQuantizer(new() { Dither = null }),
         };
 
         provider.Utility.SaveTestOutputFile(image, "gif", encoder, "local");
@@ -191,7 +191,7 @@ public void NonMutatingEncodePreservesPaletteCount()
         GifEncoder encoder = new()
         {
             ColorTableMode = colorMode,
-            Quantizer = new OctreeQuantizer(new QuantizerOptions { MaxColors = maxColors })
+            Quantizer = new OctreeQuantizer(new() { MaxColors = maxColors })
         };
 
         image.Save(outStream, encoder);
diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs
index dd3879703b..625b043d40 100644
--- a/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs
@@ -86,7 +86,7 @@ public void Decode_CanDecodeLargeTextComment()
         using Image<Rgba32> image = testFile.CreateRgba32Image(GifDecoder.Instance);
         GifMetadata metadata = image.Metadata.GetGifMetadata();
         Assert.Equal(2, metadata.Comments.Count);
-        Assert.Equal(new string('c', 349), metadata.Comments[0]);
+        Assert.Equal(new('c', 349), metadata.Comments[0]);
         Assert.Equal("ImageSharp", metadata.Comments[1]);
     }
 
@@ -104,7 +104,7 @@ public void Encode_PreservesTextData()
         using Image<Rgba32> image = decoder.Decode<Rgba32>(DecoderOptions.Default, memoryStream);
         GifMetadata metadata = image.Metadata.GetGifMetadata();
         Assert.Equal(2, metadata.Comments.Count);
-        Assert.Equal(new string('c', 349), metadata.Comments[0]);
+        Assert.Equal(new('c', 349), metadata.Comments[0]);
         Assert.Equal("ImageSharp", metadata.Comments[1]);
     }
 
diff --git a/tests/ImageSharp.Tests/Formats/Gif/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Gif/ImageExtensionsTest.cs
index 97fdb38e76..d23efdd79d 100644
--- a/tests/ImageSharp.Tests/Formats/Gif/ImageExtensionsTest.cs
+++ b/tests/ImageSharp.Tests/Formats/Gif/ImageExtensionsTest.cs
@@ -47,7 +47,7 @@ public void SaveAsGif_Path_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsGif(file, new GifEncoder());
+            image.SaveAsGif(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -108,7 +108,7 @@ public void SaveAsGif_Stream_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsGif(memoryStream, new GifEncoder());
+            image.SaveAsGif(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/ImageFormatManagerTests.cs b/tests/ImageSharp.Tests/Formats/ImageFormatManagerTests.cs
index 324bd4783a..f7743e1494 100644
--- a/tests/ImageSharp.Tests/Formats/ImageFormatManagerTests.cs
+++ b/tests/ImageSharp.Tests/Formats/ImageFormatManagerTests.cs
@@ -24,7 +24,7 @@ public class ImageFormatManagerTests
     public ImageFormatManagerTests()
     {
         this.DefaultFormatsManager = Configuration.CreateDefaultInstance().ImageFormatsManager;
-        this.FormatsManagerEmpty = new ImageFormatManager();
+        this.FormatsManagerEmpty = new();
     }
 
     [Fact]
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
index ce2c40dd3a..9481b75f3f 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Block8x8Tests.cs
@@ -157,7 +157,7 @@ public void GetLastNonZeroIndex_RandomFilledSingle(int seed)
         static void RunTest(string seedSerialized)
         {
             int seed = FeatureTestRunner.Deserialize<int>(seedSerialized);
-            Random rng = new Random(seed);
+            Random rng = new(seed);
 
             for (int i = 0; i < 1000; i++)
             {
@@ -188,7 +188,7 @@ public void GetLastNonZeroIndex_RandomFilledPartially(int seed)
         static void RunTest(string seedSerialized)
         {
             int seed = FeatureTestRunner.Deserialize<int>(seedSerialized);
-            Random rng = new Random(seed);
+            Random rng = new(seed);
 
             for (int i = 0; i < 1000; i++)
             {
@@ -223,7 +223,7 @@ public void GetLastNonZeroIndex_RandomFilledFragmented(int seed)
         static void RunTest(string seedSerialized)
         {
             int seed = FeatureTestRunner.Deserialize<int>(seedSerialized);
-            Random rng = new Random(seed);
+            Random rng = new(seed);
 
             for (int i = 0; i < 1000; i++)
             {
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
index 625932e2ab..36b792fa1c 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/HuffmanScanEncoderTests.cs
@@ -69,7 +69,7 @@ public void GetHuffmanEncodingLength_Random(int seed)
     {
         int maxNumber = 1 << 16;
 
-        Random rng = new Random(seed);
+        Random rng = new(seed);
         for (int i = 0; i < 1000; i++)
         {
             uint number = (uint)rng.Next(0, maxNumber);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Jpg/ImageExtensionsTest.cs
index b1f7997323..0d8bf3a743 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ImageExtensionsTest.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ImageExtensionsTest.cs
@@ -48,7 +48,7 @@ public void SaveAsJpeg_Path_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsJpeg(file, new JpegEncoder());
+            image.SaveAsJpeg(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -109,7 +109,7 @@ public void SaveAsJpeg_Stream_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsJpeg(memoryStream, new JpegEncoder());
+            image.SaveAsJpeg(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs
index 7aabdaa588..11f8733425 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs
@@ -637,10 +637,10 @@ private static JpegColorConverterBase.ComponentValues CreateRandomValues(
             // no need to dispose when buffer is not array owner
             Memory<float> memory = new(values);
             MemoryGroup<float> source = MemoryGroup<float>.Wrap(memory);
-            buffers[i] = new Buffer2D<float>(source, values.Length, 1);
+            buffers[i] = new(source, values.Length, 1);
         }
 
-        return new JpegColorConverterBase.ComponentValues(buffers, 0);
+        return new(buffers, 0);
     }
 
     private static float[] CreateRandomValues(int length, Random rnd)
@@ -791,7 +791,7 @@ private static void ValidateYCbCr(in JpegColorConverterBase.ComponentValues valu
         float y = values.Component0[i];
         float cb = values.Component1[i];
         float cr = values.Component2[i];
-        Rgb expected = ColorSpaceConverter.Convert<YCbCr, Rgb>(new YCbCr(y, cb, cr));
+        Rgb expected = ColorSpaceConverter.Convert<YCbCr, Rgb>(new(y, cb, cr));
 
         Rgb actual = Rgb.Clamp(new(result.Component0[i], result.Component1[i], result.Component2[i]));
 
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs
index a803372537..9a09ada4ab 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs
@@ -400,10 +400,10 @@ public void EncodedStringTags_WriteAndRead()
             exif.SetValue(ExifTag.XPSubject, "This is a subject");
 
             // exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "ビッ"));
-            exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "eng comment text (JIS)"));
+            exif.SetValue(ExifTag.UserComment, new(EncodedString.CharacterCode.JIS, "eng comment text (JIS)"));
 
-            exif.SetValue(ExifTag.GPSProcessingMethod, new EncodedString(EncodedString.CharacterCode.ASCII, "GPS processing method (ASCII)"));
-            exif.SetValue(ExifTag.GPSAreaInformation, new EncodedString(EncodedString.CharacterCode.Unicode, "GPS area info (Unicode)"));
+            exif.SetValue(ExifTag.GPSProcessingMethod, new(EncodedString.CharacterCode.ASCII, "GPS processing method (ASCII)"));
+            exif.SetValue(ExifTag.GPSAreaInformation, new(EncodedString.CharacterCode.Unicode, "GPS area info (Unicode)"));
 
             image.Metadata.ExifProfile = exif;
 
@@ -441,7 +441,7 @@ public void JpegDecoder_DecodeMetadataComment<TPixel>(TestImageProvider<TPixel>
         image.CompareToOriginal(provider);
 
     }
-    
+
     // https://github.com/SixLabors/ImageSharp/issues/2758
     [Theory]
     [WithFile(TestImages.Jpeg.Issues.Issue2758, PixelTypes.L8)]
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs
index 039215bbc5..79926aa741 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs
@@ -56,7 +56,7 @@ public void Encode_PreservesExifProfile()
     {
         // arrange
         using Image<Rgba32> input = new(1, 1);
-        input.Metadata.ExifProfile = new ExifProfile();
+        input.Metadata.ExifProfile = new();
         input.Metadata.ExifProfile.SetValue(ExifTag.Software, "unit_test");
 
         // act
@@ -77,7 +77,7 @@ public void Encode_PreservesIccProfile()
     {
         // arrange
         using Image<Rgba32> input = new(1, 1);
-        input.Metadata.IccProfile = new IccProfile(IccTestDataProfiles.Profile_Random_Array);
+        input.Metadata.IccProfile = new(IccTestDataProfiles.Profile_Random_Array);
 
         // act
         using MemoryStream memStream = new();
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegFileMarkerTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegFileMarkerTests.cs
index 1f8bdd67a6..62362ec801 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegFileMarkerTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegFileMarkerTests.cs
@@ -14,7 +14,7 @@ public void MarkerConstructorAssignsProperties()
     {
         const byte app1 = JpegConstants.Markers.APP1;
         const int position = 5;
-        JpegFileMarker marker = new JpegFileMarker(app1, position);
+        JpegFileMarker marker = new(app1, position);
 
         Assert.Equal(app1, marker.Marker);
         Assert.Equal(position, marker.Position);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
index df0595d7bf..37be0f8f56 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
@@ -12,7 +12,7 @@ public class JpegMetadataTests
     [Fact]
     public void CloneIsDeep()
     {
-        JpegMetadata meta = new JpegMetadata { ColorType = JpegColorType.Luminance };
+        JpegMetadata meta = new() { ColorType = JpegColorType.Luminance };
         JpegMetadata clone = (JpegMetadata)meta.DeepClone();
 
         clone.ColorType = JpegColorType.YCbCrRatio420;
@@ -23,7 +23,7 @@ public void CloneIsDeep()
     [Fact]
     public void Quality_DefaultQuality()
     {
-        JpegMetadata meta = new JpegMetadata();
+        JpegMetadata meta = new();
 
         Assert.Equal(meta.Quality, ImageSharp.Formats.Jpeg.Components.Quantization.DefaultQualityFactor);
     }
@@ -33,7 +33,7 @@ public void Quality_LuminanceOnlyQuality()
     {
         int quality = 50;
 
-        JpegMetadata meta = new JpegMetadata { LuminanceQuality = quality };
+        JpegMetadata meta = new() { LuminanceQuality = quality };
 
         Assert.Equal(meta.Quality, quality);
     }
@@ -43,7 +43,7 @@ public void Quality_BothComponentsQuality()
     {
         int quality = 50;
 
-        JpegMetadata meta = new JpegMetadata { LuminanceQuality = quality, ChrominanceQuality = quality };
+        JpegMetadata meta = new() { LuminanceQuality = quality, ChrominanceQuality = quality };
 
         Assert.Equal(meta.Quality, quality);
     }
@@ -54,7 +54,7 @@ public void Quality_ReturnsMaxQuality()
         int qualityLuma = 50;
         int qualityChroma = 30;
 
-        JpegMetadata meta = new JpegMetadata { LuminanceQuality = qualityLuma, ChrominanceQuality = qualityChroma };
+        JpegMetadata meta = new() { LuminanceQuality = qualityLuma, ChrominanceQuality = qualityChroma };
 
         Assert.Equal(meta.Quality, qualityLuma);
     }
@@ -62,7 +62,7 @@ public void Quality_ReturnsMaxQuality()
     [Fact]
     public void Comment_EmptyComment()
     {
-        JpegMetadata meta = new JpegMetadata();
+        JpegMetadata meta = new();
 
         Assert.True(Array.Empty<JpegComData>().SequenceEqual(meta.Comments));
     }
@@ -71,9 +71,9 @@ public void Comment_EmptyComment()
     public void Comment_OnlyComment()
     {
         string comment = "test comment";
-        Collection<string> expectedCollection = new Collection<string> { comment };
+        Collection<string> expectedCollection = new() { comment };
 
-        JpegMetadata meta = new JpegMetadata();
+        JpegMetadata meta = new();
         meta.Comments.Add(JpegComData.FromString(comment));
 
         Assert.Equal(1, meta.Comments.Count);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
index e9821db4cf..b6a59fa93e 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
@@ -47,7 +47,7 @@ public void ComponentScalingIsCorrect_1ChannelJpeg()
 
             Assert.Equal(expectedSizeInBlocks, decoder.Frame.McuSize);
 
-            Size uniform1 = new Size(1, 1);
+            Size uniform1 = new(1, 1);
             IJpegComponent c0 = decoder.Components[0];
             VerifyJpeg.VerifyComponent(c0, expectedSizeInBlocks, uniform1, uniform1);
         }
@@ -62,7 +62,7 @@ public void ComponentScalingIsCorrect_1ChannelJpeg()
     [InlineData(TestImages.Jpeg.Baseline.Cmyk)]
     public void PrintComponentData(string imageFile)
     {
-        StringBuilder sb = new StringBuilder();
+        StringBuilder sb = new();
 
         using (JpegDecoderCore decoder = JpegFixture.ParseJpegStream(imageFile))
         {
@@ -110,7 +110,7 @@ public void ComponentScalingIsCorrect_MultiChannelJpeg(
             IJpegComponent c1 = decoder.Components[1];
             IJpegComponent c2 = decoder.Components[2];
 
-            Size uniform1 = new Size(1, 1);
+            Size uniform1 = new(1, 1);
 
             Size expectedLumaSizeInBlocks = decoder.Frame.McuSize.MultiplyBy(fLuma);
 
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
index 248547717f..ce1f6cc1a9 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs
@@ -46,13 +46,13 @@ public void Decoder_ParseStream_SaveSpectralResult<TPixel>(TestImageProvider<TPi
         byte[] sourceBytes = TestFile.Create(provider.SourceFileOrDescription).Bytes;
         JpegDecoderOptions option = new();
 
-        using JpegDecoderCore decoder = new JpegDecoderCore(option);
-        using MemoryStream ms = new MemoryStream(sourceBytes);
-        using BufferedReadStream bufferedStream = new BufferedReadStream(Configuration.Default, ms);
+        using JpegDecoderCore decoder = new(option);
+        using MemoryStream ms = new(sourceBytes);
+        using BufferedReadStream bufferedStream = new(Configuration.Default, ms);
 
         // internal scan decoder which we substitute to assert spectral correctness
-        DebugSpectralConverter<TPixel> debugConverter = new DebugSpectralConverter<TPixel>();
-        HuffmanScanDecoder scanDecoder = new HuffmanScanDecoder(bufferedStream, debugConverter, cancellationToken: default);
+        DebugSpectralConverter<TPixel> debugConverter = new();
+        HuffmanScanDecoder scanDecoder = new(bufferedStream, debugConverter, cancellationToken: default);
 
         // This would parse entire image
         decoder.ParseStream(bufferedStream, debugConverter, cancellationToken: default);
@@ -76,12 +76,12 @@ public void VerifySpectralCorrectness<TPixel>(TestImageProvider<TPixel> provider
         byte[] sourceBytes = TestFile.Create(provider.SourceFileOrDescription).Bytes;
         JpegDecoderOptions options = new();
 
-        using JpegDecoderCore decoder = new JpegDecoderCore(options);
-        using MemoryStream ms = new MemoryStream(sourceBytes);
-        using BufferedReadStream bufferedStream = new BufferedReadStream(Configuration.Default, ms);
+        using JpegDecoderCore decoder = new(options);
+        using MemoryStream ms = new(sourceBytes);
+        using BufferedReadStream bufferedStream = new(Configuration.Default, ms);
 
         // internal scan decoder which we substitute to assert spectral correctness
-        DebugSpectralConverter<TPixel> debugConverter = new DebugSpectralConverter<TPixel>();
+        DebugSpectralConverter<TPixel> debugConverter = new();
 
         // This would parse entire image
         decoder.ParseStream(bufferedStream, debugConverter, cancellationToken: default);
@@ -100,7 +100,7 @@ private void VerifySpectralCorrectnessImpl(
         int componentCount = imageSharpData.ComponentCount;
         if (libJpegData.ComponentCount != componentCount)
         {
-            throw new Exception("libJpegData.ComponentCount != componentCount");
+            throw new("libJpegData.ComponentCount != componentCount");
         }
 
         double averageDifference = 0;
@@ -201,10 +201,10 @@ public override void PrepareForDecoding()
             for (int i = 0; i < spectralComponents.Length; i++)
             {
                 JpegComponent component = this.frame.Components[i];
-                spectralComponents[i] = new LibJpegTools.ComponentData(component.WidthInBlocks, component.HeightInBlocks, component.Index);
+                spectralComponents[i] = new(component.WidthInBlocks, component.HeightInBlocks, component.Index);
             }
 
-            this.spectralData = new LibJpegTools.SpectralData(spectralComponents);
+            this.spectralData = new(spectralComponents);
         }
     }
 }
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
index d16f4cdc87..2a1a322d00 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs
@@ -33,14 +33,14 @@ public void Decoder_PixelBufferComparison<TPixel>(TestImageProvider<TPixel> prov
     {
         // Stream
         byte[] sourceBytes = TestFile.Create(provider.SourceFileOrDescription).Bytes;
-        using MemoryStream ms = new MemoryStream(sourceBytes);
-        using BufferedReadStream bufferedStream = new BufferedReadStream(Configuration.Default, ms);
+        using MemoryStream ms = new(sourceBytes);
+        using BufferedReadStream bufferedStream = new(Configuration.Default, ms);
 
         // Decoding
         JpegDecoderOptions options = new();
-        using SpectralConverter<TPixel> converter = new SpectralConverter<TPixel>(Configuration.Default);
-        using JpegDecoderCore decoder = new JpegDecoderCore(options);
-        HuffmanScanDecoder scanDecoder = new HuffmanScanDecoder(bufferedStream, converter, cancellationToken: default);
+        using SpectralConverter<TPixel> converter = new(Configuration.Default);
+        using JpegDecoderCore decoder = new(options);
+        HuffmanScanDecoder scanDecoder = new(bufferedStream, converter, cancellationToken: default);
         decoder.ParseStream(bufferedStream, converter, cancellationToken: default);
 
         // Test metadata
@@ -48,7 +48,7 @@ public void Decoder_PixelBufferComparison<TPixel>(TestImageProvider<TPixel> prov
         provider.Utility.TestName = JpegDecoderTests.DecodeBaselineJpegOutputName;
 
         // Comparison
-        using Image<TPixel> image = new Image<TPixel>(Configuration.Default, converter.GetPixelBuffer(CancellationToken.None), new ImageMetadata());
+        using Image<TPixel> image = new(Configuration.Default, converter.GetPixelBuffer(CancellationToken.None), new());
         using Image<TPixel> referenceImage = provider.GetReferenceOutputImage<TPixel>(appendPixelTypeToFileName: false);
         ImageSimilarityReport report = ImageComparer.Exact.CompareImagesOrFrames(referenceImage, image);
 
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
index 511150c523..33e95c5aa0 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/JpegFixture.cs
@@ -72,7 +72,7 @@ public static short[] Create8x8ShortData()
     // ReSharper disable once InconsistentNaming
     public static int[] Create8x8RandomIntData(int minValue, int maxValue, int seed = 42)
     {
-        Random rnd = new Random(seed);
+        Random rnd = new(seed);
         int[] result = new int[64];
         for (int i = 0; i < 8; i++)
         {
@@ -87,7 +87,7 @@ public static int[] Create8x8RandomIntData(int minValue, int maxValue, int seed
 
     public static float[] Create8x8RandomFloatData(float minValue, float maxValue, int seed = 42, int xBorder = 8, int yBorder = 8)
     {
-        Random rnd = new Random(seed);
+        Random rnd = new(seed);
         float[] result = new float[64];
         for (int y = 0; y < yBorder; y++)
         {
@@ -112,7 +112,7 @@ internal static Block8x8F CreateRandomFloatBlock(float minValue, float maxValue,
 
     internal void Print8x8Data<T>(Span<T> data)
     {
-        StringBuilder bld = new StringBuilder();
+        StringBuilder bld = new();
         for (int i = 0; i < 8; i++)
         {
             for (int j = 0; j < 8; j++)
@@ -135,7 +135,7 @@ internal void PrintLinearData<T>(Span<T> data, int count = -1)
             count = data.Length;
         }
 
-        StringBuilder sb = new StringBuilder();
+        StringBuilder sb = new();
         for (int i = 0; i < count; i++)
         {
             sb.Append($"{data[i],3} ");
@@ -158,7 +158,7 @@ internal void CompareBlocks(Block8x8F a, Block8x8F b, float tolerance)
 
     internal void CompareBlocks(Span<float> a, Span<float> b, float tolerance)
     {
-        ApproximateFloatComparer comparer = new ApproximateFloatComparer(tolerance);
+        ApproximateFloatComparer comparer = new(tolerance);
         double totalDifference = 0.0;
 
         bool failed = false;
@@ -192,7 +192,7 @@ internal static bool CompareBlocks(Block8x8F a, Block8x8F b, float tolerance, ou
 
     internal static bool CompareBlocks(Span<float> a, Span<float> b, float tolerance, out float diff)
     {
-        ApproximateFloatComparer comparer = new ApproximateFloatComparer(tolerance);
+        ApproximateFloatComparer comparer = new(tolerance);
         bool failed = false;
 
         diff = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs
index a8f91aa4cd..b08202df50 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs
@@ -18,12 +18,12 @@ public static (double Total, double Average) CalculateDifference(ComponentData e
         BigInteger totalDiff = 0;
         if (actual.WidthInBlocks < expected.WidthInBlocks)
         {
-            throw new Exception("actual.WidthInBlocks < expected.WidthInBlocks");
+            throw new("actual.WidthInBlocks < expected.WidthInBlocks");
         }
 
         if (actual.HeightInBlocks < expected.HeightInBlocks)
         {
-            throw new Exception("actual.HeightInBlocks < expected.HeightInBlocks");
+            throw new("actual.HeightInBlocks < expected.HeightInBlocks");
         }
 
         int w = expected.WidthInBlocks;
@@ -65,7 +65,7 @@ public static void RunDumpJpegCoeffsTool(string sourceFile, string destFile)
         }
 
         string args = $@"""{sourceFile}"" ""{destFile}""";
-        Process process = new Process
+        Process process = new()
         {
             StartInfo =
                                   {
@@ -95,8 +95,8 @@ public static SpectralData ExtractSpectralData(string inputFile)
         {
             RunDumpJpegCoeffsTool(testFile.FullPath, coeffFileFullPath);
 
-            using (FileStream dumpStream = new FileStream(coeffFileFullPath, FileMode.Open))
-            using (BinaryReader rdr = new BinaryReader(dumpStream))
+            using (FileStream dumpStream = new(coeffFileFullPath, FileMode.Open))
+            using (BinaryReader rdr = new(dumpStream))
             {
                 int componentCount = rdr.ReadInt16();
                 ComponentData[] result = new ComponentData[componentCount];
@@ -105,7 +105,7 @@ public static SpectralData ExtractSpectralData(string inputFile)
                 {
                     int widthInBlocks = rdr.ReadInt16();
                     int heightInBlocks = rdr.ReadInt16();
-                    ComponentData resultComponent = new ComponentData(widthInBlocks, heightInBlocks, i);
+                    ComponentData resultComponent = new(widthInBlocks, heightInBlocks, i);
                     result[i] = resultComponent;
                 }
 
@@ -127,7 +127,7 @@ public static SpectralData ExtractSpectralData(string inputFile)
                     }
                 }
 
-                return new SpectralData(result);
+                return new(result);
             }
         }
         finally
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
index 74b89f3976..acb3d27e37 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/ReferenceImplementations.LLM_FloatingPoint_DCT.cs
@@ -208,8 +208,8 @@ public static void FDCT2D8x4_32f(Span<float> s, Span<float> d)
             /*y[0] = c0 + c1;
             y[4] = c0 - c1;*/
 
-            Vector4 w0 = new Vector4(0.541196f);
-            Vector4 w1 = new Vector4(1.306563f);
+            Vector4 w0 = new(0.541196f);
+            Vector4 w1 = new(1.306563f);
 
             _mm_store_ps(d, 16, (w0 * c2) + (w1 * c3));
 
@@ -219,8 +219,8 @@ public static void FDCT2D8x4_32f(Span<float> s, Span<float> d)
             y[6] = c3 * r[6] - c2 * r[2];
             */
 
-            w0 = new Vector4(1.175876f);
-            w1 = new Vector4(0.785695f);
+            w0 = new(1.175876f);
+            w1 = new(0.785695f);
             c3 = (w0 * t4) + (w1 * t7);
             c0 = (w0 * t7) - (w1 * t4);
             /*
@@ -228,8 +228,8 @@ public static void FDCT2D8x4_32f(Span<float> s, Span<float> d)
             c0 = t7 * r[3] - t4 * r[5];
             */
 
-            w0 = new Vector4(1.387040f);
-            w1 = new Vector4(0.275899f);
+            w0 = new(1.387040f);
+            w1 = new(0.275899f);
             c2 = (w0 * t5) + (w1 * t6);
             c1 = (w0 * t6) - (w1 * t5);
             /*
@@ -242,7 +242,7 @@ public static void FDCT2D8x4_32f(Span<float> s, Span<float> d)
             _mm_store_ps(d, 40, c3 - c1);
 
             // y[5] = c3 - c1; y[3] = c0 - c2;
-            Vector4 invsqrt2 = new Vector4(0.707107f);
+            Vector4 invsqrt2 = new(0.707107f);
             c0 = (c0 + c2) * invsqrt2;
             c3 = (c3 + c1) * invsqrt2;
 
@@ -272,7 +272,7 @@ public static void FDCT8x8_llm_sse(Span<float> s, Span<float> d, Span<float> tem
 
             FDCT2D8x4_32f(temp.Slice(4), d.Slice(4));
 
-            Vector4 c = new Vector4(0.1250f);
+            Vector4 c = new(0.1250f);
 
 #pragma warning disable SA1107 // Code should not contain multiple statements on one line
             _mm_store_ps(d, 0, _mm_load_ps(d, 0) * c); d = d.Slice(4); // 0
@@ -300,7 +300,7 @@ private static Vector4 _mm_load_ps(Span<float> src, int offset)
 #pragma warning restore SA1300 // Element should begin with upper-case letter
         {
             src = src.Slice(offset);
-            return new Vector4(src[0], src[1], src[2], src[3]);
+            return new(src[0], src[1], src[2], src[3]);
         }
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -318,29 +318,29 @@ private static void _mm_store_ps(Span<float> dest, int offset, Vector4 src)
         // Accurate variants of constants from:
         // https://github.com/mozilla/mozjpeg/blob/master/simd/jfdctint-altivec.c
 #pragma warning disable SA1309 // Field names should not begin with underscore
-        private static readonly Vector4 _1_175876 = new Vector4(1.175875602f);
+        private static readonly Vector4 _1_175876 = new(1.175875602f);
 
-        private static readonly Vector4 _1_961571 = new Vector4(-1.961570560f);
+        private static readonly Vector4 _1_961571 = new(-1.961570560f);
 
-        private static readonly Vector4 _0_390181 = new Vector4(-0.390180644f);
+        private static readonly Vector4 _0_390181 = new(-0.390180644f);
 
-        private static readonly Vector4 _0_899976 = new Vector4(-0.899976223f);
+        private static readonly Vector4 _0_899976 = new(-0.899976223f);
 
-        private static readonly Vector4 _2_562915 = new Vector4(-2.562915447f);
+        private static readonly Vector4 _2_562915 = new(-2.562915447f);
 
-        private static readonly Vector4 _0_298631 = new Vector4(0.298631336f);
+        private static readonly Vector4 _0_298631 = new(0.298631336f);
 
-        private static readonly Vector4 _2_053120 = new Vector4(2.053119869f);
+        private static readonly Vector4 _2_053120 = new(2.053119869f);
 
-        private static readonly Vector4 _3_072711 = new Vector4(3.072711026f);
+        private static readonly Vector4 _3_072711 = new(3.072711026f);
 
-        private static readonly Vector4 _1_501321 = new Vector4(1.501321110f);
+        private static readonly Vector4 _1_501321 = new(1.501321110f);
 
-        private static readonly Vector4 _0_541196 = new Vector4(0.541196100f);
+        private static readonly Vector4 _0_541196 = new(0.541196100f);
 
-        private static readonly Vector4 _1_847759 = new Vector4(-1.847759065f);
+        private static readonly Vector4 _1_847759 = new(-1.847759065f);
 
-        private static readonly Vector4 _0_765367 = new Vector4(0.765366865f);
+        private static readonly Vector4 _0_765367 = new(0.765366865f);
 #pragma warning restore SA1309 // Field names should not begin with underscore
 
         /// <summary>
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/VerifyJpeg.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/VerifyJpeg.cs
index 7a31e35d0c..d7b0b64b2d 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/VerifyJpeg.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/VerifyJpeg.cs
@@ -11,7 +11,7 @@ internal static class VerifyJpeg
 {
     internal static void VerifySize(IJpegComponent component, int expectedBlocksX, int expectedBlocksY)
     {
-        Assert.Equal(new Size(expectedBlocksX, expectedBlocksY), component.SizeInBlocks);
+        Assert.Equal(new(expectedBlocksX, expectedBlocksY), component.SizeInBlocks);
     }
 
     internal static void VerifyComponent(
diff --git a/tests/ImageSharp.Tests/Formats/Pbm/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Pbm/ImageExtensionsTest.cs
index 5cbdd3dab0..1b71f49d5b 100644
--- a/tests/ImageSharp.Tests/Formats/Pbm/ImageExtensionsTest.cs
+++ b/tests/ImageSharp.Tests/Formats/Pbm/ImageExtensionsTest.cs
@@ -47,7 +47,7 @@ public void SaveAsPbm_Path_Encoder()
 
         using (Image<L8> image = new(10, 10))
         {
-            image.SaveAsPbm(file, new PbmEncoder());
+            image.SaveAsPbm(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -108,7 +108,7 @@ public void SaveAsPbm_Stream_Encoder()
 
         using (Image<L8> image = new(10, 10))
         {
-            image.SaveAsPbm(memoryStream, new PbmEncoder());
+            image.SaveAsPbm(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs
index dc69c09a00..2da8015324 100644
--- a/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs
@@ -30,7 +30,7 @@ public void ImageLoadCanDecode(string imagePath, PbmColorType expectedColorType,
     {
         // Arrange
         TestFile testFile = TestFile.Create(imagePath);
-        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
+        using MemoryStream stream = new(testFile.Bytes, false);
 
         // Act
         using Image image = Image.Load(stream);
@@ -54,7 +54,7 @@ public void ImageLoadL8CanDecode(string imagePath)
     {
         // Arrange
         TestFile testFile = TestFile.Create(imagePath);
-        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
+        using MemoryStream stream = new(testFile.Bytes, false);
 
         // Act
         using Image<L8> image = Image.Load<L8>(stream);
@@ -71,7 +71,7 @@ public void ImageLoadRgb24CanDecode(string imagePath)
     {
         // Arrange
         TestFile testFile = TestFile.Create(imagePath);
-        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
+        using MemoryStream stream = new(testFile.Bytes, false);
 
         // Act
         using Image<Rgb24> image = Image.Load<Rgb24>(stream);
@@ -130,7 +130,7 @@ public void PlainText_PrematureEof()
         using EofHitCounter eofHitCounter = EofHitCounter.RunDecoder(bytes);
 
         Assert.True(eofHitCounter.EofHitCount <= 2);
-        Assert.Equal(new Size(100, 100), eofHitCounter.Image.Size);
+        Assert.Equal(new(100, 100), eofHitCounter.Image.Size);
     }
 
     [Fact]
@@ -139,6 +139,6 @@ public void Binary_PrematureEof()
         using EofHitCounter eofHitCounter = EofHitCounter.RunDecoder(RgbBinaryPrematureEof);
 
         Assert.True(eofHitCounter.EofHitCount <= 2);
-        Assert.Equal(new Size(29, 30), eofHitCounter.Image.Size);
+        Assert.Equal(new(29, 30), eofHitCounter.Image.Size);
     }
 }
diff --git a/tests/ImageSharp.Tests/Formats/Pbm/PbmEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Pbm/PbmEncoderTests.cs
index 0501ed2b25..0fea65f6ea 100644
--- a/tests/ImageSharp.Tests/Formats/Pbm/PbmEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Pbm/PbmEncoderTests.cs
@@ -38,12 +38,12 @@ public class PbmEncoderTests
     [MemberData(nameof(PbmColorTypeFiles))]
     public void PbmEncoder_PreserveColorType(string imagePath, PbmColorType pbmColorType)
     {
-        PbmEncoder options = new PbmEncoder();
+        PbmEncoder options = new();
 
         TestFile testFile = TestFile.Create(imagePath);
         using (Image<Rgba32> input = testFile.CreateRgba32Image())
         {
-            using (MemoryStream memStream = new MemoryStream())
+            using (MemoryStream memStream = new())
             {
                 input.Save(memStream, options);
                 memStream.Position = 0;
@@ -60,7 +60,7 @@ public void PbmEncoder_PreserveColorType(string imagePath, PbmColorType pbmColor
     [MemberData(nameof(PbmColorTypeFiles))]
     public void PbmEncoder_WithPlainEncoding_PreserveBitsPerPixel(string imagePath, PbmColorType pbmColorType)
     {
-        PbmEncoder options = new PbmEncoder()
+        PbmEncoder options = new()
         {
             Encoding = PbmEncoding.Plain
         };
@@ -68,7 +68,7 @@ public void PbmEncoder_WithPlainEncoding_PreserveBitsPerPixel(string imagePath,
         TestFile testFile = TestFile.Create(imagePath);
         using (Image<Rgba32> input = testFile.CreateRgba32Image())
         {
-            using (MemoryStream memStream = new MemoryStream())
+            using (MemoryStream memStream = new())
             {
                 input.Save(memStream, options);
 
@@ -132,9 +132,9 @@ private static void TestPbmEncoderCore<TPixel>(
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            PbmEncoder encoder = new PbmEncoder { ColorType = colorType, Encoding = encoding };
+            PbmEncoder encoder = new() { ColorType = colorType, Encoding = encoding };
 
-            using (MemoryStream memStream = new MemoryStream())
+            using (MemoryStream memStream = new())
             {
                 image.Save(memStream, encoder);
                 memStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Pbm/PbmRoundTripTests.cs b/tests/ImageSharp.Tests/Formats/Pbm/PbmRoundTripTests.cs
index f7c6dc1714..6524b35065 100644
--- a/tests/ImageSharp.Tests/Formats/Pbm/PbmRoundTripTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Pbm/PbmRoundTripTests.cs
@@ -22,7 +22,7 @@ public void PbmGrayscaleImageCanRoundTrip(string imagePath)
     {
         // Arrange
         TestFile testFile = TestFile.Create(imagePath);
-        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
+        using MemoryStream stream = new(testFile.Bytes, false);
 
         // Act
         using Image originalImage = Image.Load(stream);
@@ -43,7 +43,7 @@ public void PbmColorImageCanRoundTrip(string imagePath)
     {
         // Arrange
         TestFile testFile = TestFile.Create(imagePath);
-        using MemoryStream stream = new MemoryStream(testFile.Bytes, false);
+        using MemoryStream stream = new(testFile.Bytes, false);
 
         // Act
         using Image<Rgb24> originalImage = Image.Load<Rgb24>(stream);
@@ -57,7 +57,7 @@ public void PbmColorImageCanRoundTrip(string imagePath)
     private Image<TPixel> RoundTrip<TPixel>(Image<TPixel> originalImage)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        using MemoryStream decodedStream = new MemoryStream();
+        using MemoryStream decodedStream = new();
         originalImage.SaveAsPbm(decodedStream);
         decodedStream.Seek(0, SeekOrigin.Begin);
         Image<TPixel> encodedImage = Image.Load<TPixel>(decodedStream);
diff --git a/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs b/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs
index 6e03042fad..53f9a02781 100644
--- a/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs
@@ -30,7 +30,7 @@ private static void CalculateAdlerAndCompareToReference(int length)
     {
         // arrange
         byte[] data = GetBuffer(length);
-        SharpAdler32 adler = new SharpAdler32();
+        SharpAdler32 adler = new();
         adler.Update(data);
         long expected = adler.Value;
 
diff --git a/tests/ImageSharp.Tests/Formats/Png/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Png/ImageExtensionsTest.cs
index a03e1a7aa4..145cc1d68f 100644
--- a/tests/ImageSharp.Tests/Formats/Png/ImageExtensionsTest.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/ImageExtensionsTest.cs
@@ -48,7 +48,7 @@ public void SaveAsPng_Path_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsPng(file, new PngEncoder());
+            image.SaveAsPng(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -109,7 +109,7 @@ public void SaveAsPng_Stream_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsPng(memoryStream, new PngEncoder());
+            image.SaveAsPng(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs
index 71523d5b6f..829cc64ff6 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs
@@ -64,7 +64,7 @@ public void Decode_IncorrectCRCForCriticalChunk_ExceptionIsThrown(uint chunkType
     {
         string chunkName = GetChunkTypeName(chunkType);
 
-        using (MemoryStream memStream = new MemoryStream())
+        using (MemoryStream memStream = new())
         {
             WriteHeaderChunk(memStream);
             WriteChunk(memStream, chunkName);
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs
index 9f3c5f6828..d6a4d95ebf 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs
@@ -389,7 +389,7 @@ public void Identify_IgnoreCrcErrors(string imagePath, int expectedPixelSize)
         TestFile testFile = TestFile.Create(imagePath);
         using MemoryStream stream = new(testFile.Bytes, false);
 
-        ImageInfo imageInfo = Image.Identify(new DecoderOptions() { SegmentIntegrityHandling = SegmentIntegrityHandling.IgnoreData }, stream);
+        ImageInfo imageInfo = Image.Identify(new() { SegmentIntegrityHandling = SegmentIntegrityHandling.IgnoreData }, stream);
 
         Assert.NotNull(imageInfo);
         Assert.Equal(expectedPixelSize, imageInfo.PixelType.BitsPerPixel);
@@ -679,7 +679,7 @@ public void Binary_PrematureEof()
 
         // TODO: Try to reduce this to 1.
         Assert.True(eofHitCounter.EofHitCount <= 3);
-        Assert.Equal(new Size(200, 120), eofHitCounter.Image.Size);
+        Assert.Equal(new(200, 120), eofHitCounter.Image.Size);
     }
 
     [Fact]
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
index 9ce1a9386e..a930426b6d 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs
@@ -31,7 +31,7 @@ public void Average()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Average, Size);
+            TestData data = new(PngFilterMethod.Average, Size);
             data.TestFilter();
         }
 
@@ -45,7 +45,7 @@ public void AverageSse2()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Average, Size);
+            TestData data = new(PngFilterMethod.Average, Size);
             data.TestFilter();
         }
 
@@ -59,7 +59,7 @@ public void AverageSsse3()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Average, Size);
+            TestData data = new(PngFilterMethod.Average, Size);
             data.TestFilter();
         }
 
@@ -73,7 +73,7 @@ public void AverageAvx2()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Average, Size);
+            TestData data = new(PngFilterMethod.Average, Size);
             data.TestFilter();
         }
 
@@ -87,7 +87,7 @@ public void Paeth()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Paeth, Size);
+            TestData data = new(PngFilterMethod.Paeth, Size);
             data.TestFilter();
         }
 
@@ -101,7 +101,7 @@ public void PaethAvx2()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Paeth, Size);
+            TestData data = new(PngFilterMethod.Paeth, Size);
             data.TestFilter();
         }
 
@@ -115,7 +115,7 @@ public void PaethVector()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Paeth, Size);
+            TestData data = new(PngFilterMethod.Paeth, Size);
             data.TestFilter();
         }
 
@@ -129,7 +129,7 @@ public void Up()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Up, Size);
+            TestData data = new(PngFilterMethod.Up, Size);
             data.TestFilter();
         }
 
@@ -143,7 +143,7 @@ public void UpAvx2()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Up, Size);
+            TestData data = new(PngFilterMethod.Up, Size);
             data.TestFilter();
         }
 
@@ -157,7 +157,7 @@ public void UpVector()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Up, Size);
+            TestData data = new(PngFilterMethod.Up, Size);
             data.TestFilter();
         }
 
@@ -171,7 +171,7 @@ public void Sub()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Sub, Size);
+            TestData data = new(PngFilterMethod.Sub, Size);
             data.TestFilter();
         }
 
@@ -185,7 +185,7 @@ public void SubAvx2()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Sub, Size);
+            TestData data = new(PngFilterMethod.Sub, Size);
             data.TestFilter();
         }
 
@@ -199,7 +199,7 @@ public void SubVector()
     {
         static void RunTest()
         {
-            TestData data = new TestData(PngFilterMethod.Sub, Size);
+            TestData data = new(PngFilterMethod.Sub, Size);
             data.TestFilter();
         }
 
@@ -227,7 +227,7 @@ public TestData(PngFilterMethod filter, int size, int bpp = 4)
             this.expectedResult = new byte[1 + (size * size * bpp)];
             this.resultBuffer = new byte[1 + (size * size * bpp)];
 
-            Random rng = new Random(12345678);
+            Random rng = new(12345678);
             byte[] tmp = new byte[6];
             for (int i = 0; i < this.previousScanline.Length; i += bpp)
             {
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs
index b4995d77b6..7de46b257b 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs
@@ -380,7 +380,7 @@ public void Encode_WithTransparentColorBehaviorClear_Works(PngColorType colorTyp
         if (colorType is PngColorType.Grayscale or PngColorType.GrayscaleWithAlpha)
         {
             byte luminance = ColorNumerics.Get8BitBT709Luminance(expectedColor.R, expectedColor.G, expectedColor.B);
-            expectedColor = new Rgba32(luminance, luminance, luminance);
+            expectedColor = new(luminance, luminance, luminance);
         }
 
         actual.ProcessPixelRows(accessor =>
@@ -681,7 +681,7 @@ private static void TestPngEncoderCore<TPixel>(
             FilterMethod = pngFilterMethod,
             CompressionLevel = compressionLevel,
             BitDepth = bitDepth,
-            Quantizer = new WuQuantizer(new QuantizerOptions { MaxColors = paletteSize }),
+            Quantizer = new WuQuantizer(new() { MaxColors = paletteSize }),
             InterlaceMethod = interlaceMode,
             ChunkFilter = optimizeMethod,
         };
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs
index 225e4deef2..6902990240 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs
@@ -31,7 +31,7 @@ public void CloneIsDeep()
             ColorType = PngColorType.GrayscaleWithAlpha,
             InterlaceMethod = PngInterlaceMode.Adam7,
             Gamma = 2,
-            TextData = new List<PngTextData> { new PngTextData("name", "value", "foo", "bar") },
+            TextData = new List<PngTextData> { new("name", "value", "foo", "bar") },
             RepeatCount = 123,
             AnimateRootFrame = false
         };
@@ -111,10 +111,10 @@ public void Encode_UseCompression_WhenTextIsGreaterThenThreshold_Works<TPixel>(T
         using MemoryStream memoryStream = new();
 
         // This will be a zTXt chunk.
-        PngTextData expectedText = new("large-text", new string('c', 100), string.Empty, string.Empty);
+        PngTextData expectedText = new("large-text", new('c', 100), string.Empty, string.Empty);
 
         // This will be a iTXt chunk.
-        PngTextData expectedTextNoneLatin = new("large-text-non-latin", new string('Ф', 100), "language-tag", "translated-keyword");
+        PngTextData expectedTextNoneLatin = new("large-text-non-latin", new('Ф', 100), "language-tag", "translated-keyword");
         PngMetadata inputMetadata = input.Metadata.GetFormatMetadata(PngFormat.Instance);
         inputMetadata.TextData.Add(expectedText);
         inputMetadata.TextData.Add(expectedTextNoneLatin);
diff --git a/tests/ImageSharp.Tests/Formats/Png/PngTextDataTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngTextDataTests.cs
index d101b24822..f4c2f58978 100644
--- a/tests/ImageSharp.Tests/Formats/Png/PngTextDataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Png/PngTextDataTests.cs
@@ -17,8 +17,8 @@ public class PngTextDataTests
     [Fact]
     public void AreEqual()
     {
-        PngTextData property1 = new PngTextData("Foo", "Bar", "foo", "bar");
-        PngTextData property2 = new PngTextData("Foo", "Bar", "foo", "bar");
+        PngTextData property1 = new("Foo", "Bar", "foo", "bar");
+        PngTextData property2 = new("Foo", "Bar", "foo", "bar");
 
         Assert.Equal(property1, property2);
         Assert.True(property1 == property2);
@@ -30,10 +30,10 @@ public void AreEqual()
     [Fact]
     public void AreNotEqual()
     {
-        PngTextData property1 = new PngTextData("Foo", "Bar", "foo", "bar");
-        PngTextData property2 = new PngTextData("Foo", "Foo", string.Empty, string.Empty);
-        PngTextData property3 = new PngTextData("Bar", "Bar", "unit", "test");
-        PngTextData property4 = new PngTextData("Foo", null, "test", "case");
+        PngTextData property1 = new("Foo", "Bar", "foo", "bar");
+        PngTextData property2 = new("Foo", "Foo", string.Empty, string.Empty);
+        PngTextData property3 = new("Bar", "Bar", "unit", "test");
+        PngTextData property4 = new("Foo", null, "test", "case");
 
         Assert.NotEqual(property1, property2);
         Assert.True(property1 != property2);
@@ -59,13 +59,13 @@ public void ConstructorThrowsWhenKeywordIsNullOrEmpty()
     [Fact]
     public void ConstructorAssignsProperties()
     {
-        PngTextData property = new PngTextData("Foo", null, "unit", "test");
+        PngTextData property = new("Foo", null, "unit", "test");
         Assert.Equal("Foo", property.Keyword);
         Assert.Null(property.Value);
         Assert.Equal("unit", property.LanguageTag);
         Assert.Equal("test", property.TranslatedKeyword);
 
-        property = new PngTextData("Foo", string.Empty, string.Empty, null);
+        property = new("Foo", string.Empty, string.Empty, null);
         Assert.Equal("Foo", property.Keyword);
         Assert.Equal(string.Empty, property.Value);
         Assert.Equal(string.Empty, property.LanguageTag);
diff --git a/tests/ImageSharp.Tests/Formats/Qoi/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Qoi/ImageExtensionsTest.cs
index 31ec27da0c..11e79512ef 100644
--- a/tests/ImageSharp.Tests/Formats/Qoi/ImageExtensionsTest.cs
+++ b/tests/ImageSharp.Tests/Formats/Qoi/ImageExtensionsTest.cs
@@ -47,7 +47,7 @@ public void SaveAsQoi_Path_Encoder()
 
         using (Image<L8> image = new(10, 10))
         {
-            image.SaveAsQoi(file, new QoiEncoder());
+            image.SaveAsQoi(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -108,7 +108,7 @@ public void SaveAsQoi_Stream_Encoder()
 
         using (Image<L8> image = new(10, 10))
         {
-            image.SaveAsQoi(memoryStream, new QoiEncoder());
+            image.SaveAsQoi(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Tga/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Tga/ImageExtensionsTest.cs
index 9b6daee4c9..9648f93e52 100644
--- a/tests/ImageSharp.Tests/Formats/Tga/ImageExtensionsTest.cs
+++ b/tests/ImageSharp.Tests/Formats/Tga/ImageExtensionsTest.cs
@@ -47,7 +47,7 @@ public void SaveAsTga_Path_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsTga(file, new TgaEncoder());
+            image.SaveAsTga(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -108,7 +108,7 @@ public void SaveAsTga_Stream_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsTga(memoryStream, new TgaEncoder());
+            image.SaveAsTga(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/BigTiffMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/BigTiffMetadataTests.cs
index 7667e2a95f..04e8f29408 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/BigTiffMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/BigTiffMetadataTests.cs
@@ -16,7 +16,7 @@ public class BigTiffMetadataTests
     [Fact]
     public void ExifLong8()
     {
-        ExifLong8 long8 = new ExifLong8(ExifTagValue.StripByteCounts);
+        ExifLong8 long8 = new(ExifTagValue.StripByteCounts);
 
         Assert.True(long8.TrySetValue(0));
         Assert.Equal(0UL, long8.GetValue());
@@ -34,7 +34,7 @@ public void ExifLong8()
     [Fact]
     public void ExifSignedLong8()
     {
-        ExifSignedLong8 long8 = new ExifSignedLong8(ExifTagValue.ImageID);
+        ExifSignedLong8 long8 = new(ExifTagValue.ImageID);
 
         Assert.False(long8.TrySetValue(0));
 
@@ -53,7 +53,7 @@ public void ExifSignedLong8()
     [Fact]
     public void ExifLong8Array()
     {
-        ExifLong8Array long8 = new ExifLong8Array(ExifTagValue.StripOffsets);
+        ExifLong8Array long8 = new(ExifTagValue.StripOffsets);
 
         Assert.True(long8.TrySetValue((short)-123));
         Assert.Equal(new[] { 0UL }, long8.GetValue());
@@ -91,7 +91,7 @@ public void ExifLong8Array()
     [Fact]
     public void ExifSignedLong8Array()
     {
-        ExifSignedLong8Array long8 = new ExifSignedLong8Array(ExifTagValue.StripOffsets);
+        ExifSignedLong8Array long8 = new(ExifTagValue.StripOffsets);
 
         Assert.True(long8.TrySetValue(new[] { 0L }));
         Assert.Equal(new[] { 0L }, long8.GetValue());
@@ -105,9 +105,9 @@ public void ExifSignedLong8Array()
     [Fact]
     public void NotCoveredTags()
     {
-        using Image<Rgba32> input = new Image<Rgba32>(10, 10);
+        using Image<Rgba32> input = new(10, 10);
 
-        Dictionary<ExifTag, (ExifDataType DataType, object Value)> testTags = new Dictionary<ExifTag, (ExifDataType DataType, object Value)>
+        Dictionary<ExifTag, (ExifDataType DataType, object Value)> testTags = new()
         {
             { new ExifTag<float[]>((ExifTagValue)0xdd01), (ExifDataType.SingleFloat, new float[] { 1.2f, 2.3f, 4.5f }) },
             { new ExifTag<float>((ExifTagValue)0xdd02), (ExifDataType.SingleFloat, 2.345f) },
@@ -122,7 +122,7 @@ public void NotCoveredTags()
         };
 
         // arrange
-        List<IExifValue> values = new List<IExifValue>();
+        List<IExifValue> values = new();
         foreach (KeyValuePair<ExifTag, (ExifDataType DataType, object Value)> tag in testTags)
         {
             ExifValue newExifValue = ExifValues.Create((ExifTagValue)(ushort)tag.Key, tag.Value.DataType, tag.Value.Value is Array);
@@ -131,11 +131,11 @@ public void NotCoveredTags()
             values.Add(newExifValue);
         }
 
-        input.Frames.RootFrame.Metadata.ExifProfile = new ExifProfile(values, Array.Empty<ExifTag>());
+        input.Frames.RootFrame.Metadata.ExifProfile = new(values, Array.Empty<ExifTag>());
 
         // act
-        TiffEncoder encoder = new TiffEncoder();
-        using MemoryStream memStream = new MemoryStream();
+        TiffEncoder encoder = new();
+        using MemoryStream memStream = new();
         input.Save(memStream, encoder);
 
         // assert
@@ -158,7 +158,7 @@ public void NotCoveredTags()
     [Fact]
     public void NotCoveredTags64bit()
     {
-        Dictionary<ExifTag, (ExifDataType DataType, object Value)> testTags = new Dictionary<ExifTag, (ExifDataType DataType, object Value)>
+        Dictionary<ExifTag, (ExifDataType DataType, object Value)> testTags = new()
         {
             { new ExifTag<ulong>((ExifTagValue)0xdd11), (ExifDataType.Long8, ulong.MaxValue) },
             { new ExifTag<long>((ExifTagValue)0xdd12), (ExifDataType.SignedLong8, long.MaxValue) },
@@ -167,7 +167,7 @@ public void NotCoveredTags64bit()
             ////{ new ExifTag<long[]>((ExifTagValue)0xdd14), (ExifDataType.SignedLong8, new long[] { -1234, 56789L, long.MaxValue }) },
         };
 
-        List<IExifValue> values = new List<IExifValue>();
+        List<IExifValue> values = new();
         foreach (KeyValuePair<ExifTag, (ExifDataType DataType, object Value)> tag in testTags)
         {
             ExifValue newExifValue = ExifValues.Create((ExifTagValue)(ushort)tag.Key, tag.Value.DataType, tag.Value.Value is Array);
@@ -179,7 +179,7 @@ public void NotCoveredTags64bit()
         // act
         byte[] inputBytes = WriteIfdTags64Bit(values);
         Configuration config = Configuration.Default;
-        EntryReader reader = new EntryReader(
+        EntryReader reader = new(
             new MemoryStream(inputBytes),
             BitConverter.IsLittleEndian ? ByteOrder.LittleEndian : ByteOrder.BigEndian,
             config.MemoryAllocator);
@@ -205,8 +205,8 @@ public void NotCoveredTags64bit()
     private static byte[] WriteIfdTags64Bit(List<IExifValue> values)
     {
         byte[] buffer = new byte[8];
-        MemoryStream ms = new MemoryStream();
-        TiffStreamWriter writer = new TiffStreamWriter(ms);
+        MemoryStream ms = new();
+        TiffStreamWriter writer = new(ms);
         WriteLong8(writer, buffer, (ulong)values.Count);
 
         foreach (IExifValue entry in values)
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Compression/DeflateTiffCompressionTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Compression/DeflateTiffCompressionTests.cs
index 9be81489b0..0f6c05556b 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Compression/DeflateTiffCompressionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Compression/DeflateTiffCompressionTests.cs
@@ -23,7 +23,7 @@ public void Compress_Decompress_Roundtrip_Works(byte[] data)
         using BufferedReadStream stream = CreateCompressedStream(data);
         byte[] buffer = new byte[data.Length];
 
-        using DeflateTiffCompression decompressor = new DeflateTiffCompression(Configuration.Default.MemoryAllocator, 10, 8, TiffColorType.BlackIsZero8, TiffPredictor.None, false);
+        using DeflateTiffCompression decompressor = new(Configuration.Default.MemoryAllocator, 10, 8, TiffColorType.BlackIsZero8, TiffPredictor.None, false);
 
         decompressor.Decompress(stream, 0, (uint)stream.Length, 1, buffer, default);
 
@@ -41,6 +41,6 @@ private static BufferedReadStream CreateCompressedStream(byte[] data)
         }
 
         compressedStream.Seek(0, SeekOrigin.Begin);
-        return new BufferedReadStream(Configuration.Default, compressedStream);
+        return new(Configuration.Default, compressedStream);
     }
 }
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Compression/LzwTiffCompressionTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Compression/LzwTiffCompressionTests.cs
index 31a1cba597..41c3c38d7a 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Compression/LzwTiffCompressionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Compression/LzwTiffCompressionTests.cs
@@ -37,7 +37,7 @@ public void Compress_Decompress_Roundtrip_Works(byte[] data)
         using BufferedReadStream stream = CreateCompressedStream(data);
         byte[] buffer = new byte[data.Length];
 
-        using LzwTiffCompression decompressor = new LzwTiffCompression(Configuration.Default.MemoryAllocator, 10, 8, TiffColorType.BlackIsZero8, TiffPredictor.None, false);
+        using LzwTiffCompression decompressor = new(Configuration.Default.MemoryAllocator, 10, 8, TiffColorType.BlackIsZero8, TiffPredictor.None, false);
         decompressor.Decompress(stream, 0, (uint)stream.Length, 1, buffer, default);
 
         Assert.Equal(data, buffer);
@@ -47,13 +47,13 @@ private static BufferedReadStream CreateCompressedStream(byte[] inputData)
     {
         Stream compressedStream = new MemoryStream();
 
-        using (TiffLzwEncoder encoder = new TiffLzwEncoder(Configuration.Default.MemoryAllocator))
+        using (TiffLzwEncoder encoder = new(Configuration.Default.MemoryAllocator))
         {
             encoder.Encode(inputData, compressedStream);
         }
 
         compressedStream.Seek(0, SeekOrigin.Begin);
 
-        return new BufferedReadStream(Configuration.Default, compressedStream);
+        return new(Configuration.Default, compressedStream);
     }
 }
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Compression/NoneTiffCompressionTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Compression/NoneTiffCompressionTests.cs
index 0a2726c21e..b911d1b177 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Compression/NoneTiffCompressionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Compression/NoneTiffCompressionTests.cs
@@ -14,11 +14,11 @@ public class NoneTiffCompressionTests
     [InlineData(new byte[] { 10, 15, 20, 25, 30, 35, 40, 45 }, 5, new byte[] { 10, 15, 20, 25, 30 })]
     public void Decompress_ReadsData(byte[] inputData, uint byteCount, byte[] expectedResult)
     {
-        using MemoryStream memoryStream = new MemoryStream(inputData);
-        using BufferedReadStream stream = new BufferedReadStream(Configuration.Default, memoryStream);
+        using MemoryStream memoryStream = new(inputData);
+        using BufferedReadStream stream = new(Configuration.Default, memoryStream);
         byte[] buffer = new byte[expectedResult.Length];
 
-        using NoneTiffCompression decompressor = new NoneTiffCompression(default, default, default);
+        using NoneTiffCompression decompressor = new(default, default, default);
         decompressor.Decompress(stream, 0, byteCount, 1, buffer, default);
 
         Assert.Equal(expectedResult, buffer);
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Compression/PackBitsTiffCompressionTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Compression/PackBitsTiffCompressionTests.cs
index f5fbcb2e1f..8f71cdda74 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Compression/PackBitsTiffCompressionTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Compression/PackBitsTiffCompressionTests.cs
@@ -22,11 +22,11 @@ public class PackBitsTiffCompressionTests
     [InlineData(new byte[] { 0xFE, 0xAA, 0x02, 0x80, 0x00, 0x2A, 0xFD, 0xAA, 0x03, 0x80, 0x00, 0x2A, 0x22, 0xF7, 0xAA }, new byte[] { 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0xAA, 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0x22, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA })] // Apple PackBits sample
     public void Decompress_ReadsData(byte[] inputData, byte[] expectedResult)
     {
-        using MemoryStream memoryStream = new MemoryStream(inputData);
-        using BufferedReadStream stream = new BufferedReadStream(Configuration.Default, memoryStream);
+        using MemoryStream memoryStream = new(inputData);
+        using BufferedReadStream stream = new(Configuration.Default, memoryStream);
         byte[] buffer = new byte[expectedResult.Length];
 
-        using PackBitsTiffCompression decompressor = new PackBitsTiffCompression(MemoryAllocator.Create(), default, default);
+        using PackBitsTiffCompression decompressor = new(MemoryAllocator.Create(), default, default);
         decompressor.Decompress(stream, 0, (uint)inputData.Length, 1, buffer, default);
 
         Assert.Equal(expectedResult, buffer);
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Tiff/ImageExtensionsTest.cs
index bf9e73ea6e..69d70e5e7e 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/ImageExtensionsTest.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/ImageExtensionsTest.cs
@@ -48,7 +48,7 @@ public void SaveAsTiff_Path_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsTiff(file, new TiffEncoder());
+            image.SaveAsTiff(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -109,7 +109,7 @@ public void SaveAsTiff_Stream_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsTiff(memoryStream, new TiffEncoder());
+            image.SaveAsTiff(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/BlackIsZeroTiffColorTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/BlackIsZeroTiffColorTests.cs
index 0fa7e01e8e..d2176f7e63 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/BlackIsZeroTiffColorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/BlackIsZeroTiffColorTests.cs
@@ -154,7 +154,7 @@ public static IEnumerable<object[]> Grayscale8_Data
     public void Decode_WritesPixelData(byte[] inputData, ushort bitsPerSample, int left, int top, int width, int height, Rgba32[][] expectedResult)
         => AssertDecode(
             expectedResult,
-            pixels => new BlackIsZeroTiffColor<Rgba32>(new TiffBitsPerSample(bitsPerSample, 0, 0)).Decode(inputData, pixels, left, top, width, height));
+            pixels => new BlackIsZeroTiffColor<Rgba32>(new(bitsPerSample, 0, 0)).Decode(inputData, pixels, left, top, width, height));
 
     [Theory]
     [MemberData(nameof(BilevelData))]
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PaletteTiffColorTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PaletteTiffColorTests.cs
index 13be77a29b..fce40c4c4c 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PaletteTiffColorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PaletteTiffColorTests.cs
@@ -83,7 +83,7 @@ public static IEnumerable<object[]> Palette8Data
     public void Decode_WritesPixelData(byte[] inputData, ushort bitsPerSample, ushort[] colorMap, int left, int top, int width, int height, Rgba32[][] expectedResult)
         => AssertDecode(expectedResult, pixels =>
             {
-                new PaletteTiffColor<Rgba32>(new TiffBitsPerSample(bitsPerSample, 0, 0), colorMap).Decode(inputData, pixels, left, top, width, height);
+                new PaletteTiffColor<Rgba32>(new(bitsPerSample, 0, 0), colorMap).Decode(inputData, pixels, left, top, width, height);
             });
 
     private static uint[][] GeneratePalette(int count)
@@ -124,7 +124,7 @@ private static Rgba32[][] GenerateResult(uint[][] colorPalette, int[][] pixelLoo
             for (int x = 0; x < pixelLookup[y].Length; x++)
             {
                 uint[] sourceColor = colorPalette[pixelLookup[y][x]];
-                result[y][x] = new Rgba32(sourceColor[0] / 65535F, sourceColor[1] / 65535F, sourceColor[2] / 65535F);
+                result[y][x] = new(sourceColor[0] / 65535F, sourceColor[1] / 65535F, sourceColor[2] / 65535F);
             }
         }
 
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PhotometricInterpretationTestBase.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PhotometricInterpretationTestBase.cs
index ef57b288ce..7040e167df 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PhotometricInterpretationTestBase.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/PhotometricInterpretationTestBase.cs
@@ -10,7 +10,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff.PhotometricInterpretation;
 [Trait("Format", "Tiff")]
 public abstract class PhotometricInterpretationTestBase
 {
-    public static Rgba32 DefaultColor = new Rgba32(42, 96, 18, 128);
+    public static Rgba32 DefaultColor = new(42, 96, 18, 128);
 
     public static Rgba32[][] Offset(Rgba32[][] input, int xOffset, int yOffset, int width, int height)
     {
@@ -45,7 +45,7 @@ internal static void AssertDecode(Rgba32[][] expectedResult, Action<Buffer2D<Rgb
         int resultWidth = expectedResult[0].Length;
         int resultHeight = expectedResult.Length;
 
-        using (Image<Rgba32> image = new Image<Rgba32>(resultWidth, resultHeight))
+        using (Image<Rgba32> image = new(resultWidth, resultHeight))
         {
             image.Mutate(x => x.BackgroundColor(Color.FromPixel(DefaultColor)));
             Buffer2D<Rgba32> pixels = image.GetRootFramePixelBuffer();
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColorTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColorTests.cs
index 6e0d5b2be0..2ca9df3d03 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColorTests.cs
@@ -12,19 +12,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff.PhotometricInterpretation;
 [Trait("Format", "Tiff")]
 public class RgbPlanarTiffColorTests : PhotometricInterpretationTestBase
 {
-    private static readonly Rgba32 Rgb4_000 = new Rgba32(0, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_444 = new Rgba32(68, 68, 68, 255);
-    private static readonly Rgba32 Rgb4_888 = new Rgba32(136, 136, 136, 255);
-    private static readonly Rgba32 Rgb4_CCC = new Rgba32(204, 204, 204, 255);
-    private static readonly Rgba32 Rgb4_FFF = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Rgb4_F00 = new Rgba32(255, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_0F0 = new Rgba32(0, 255, 0, 255);
-    private static readonly Rgba32 Rgb4_00F = new Rgba32(0, 0, 255, 255);
-    private static readonly Rgba32 Rgb4_F0F = new Rgba32(255, 0, 255, 255);
-    private static readonly Rgba32 Rgb4_400 = new Rgba32(68, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_800 = new Rgba32(136, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_C00 = new Rgba32(204, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_48C = new Rgba32(68, 136, 204, 255);
+    private static readonly Rgba32 Rgb4_000 = new(0, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_444 = new(68, 68, 68, 255);
+    private static readonly Rgba32 Rgb4_888 = new(136, 136, 136, 255);
+    private static readonly Rgba32 Rgb4_CCC = new(204, 204, 204, 255);
+    private static readonly Rgba32 Rgb4_FFF = new(255, 255, 255, 255);
+    private static readonly Rgba32 Rgb4_F00 = new(255, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_0F0 = new(0, 255, 0, 255);
+    private static readonly Rgba32 Rgb4_00F = new(0, 0, 255, 255);
+    private static readonly Rgba32 Rgb4_F0F = new(255, 0, 255, 255);
+    private static readonly Rgba32 Rgb4_400 = new(68, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_800 = new(136, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_C00 = new(204, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_48C = new(68, 136, 204, 255);
 
     private static readonly byte[] Rgb4Bytes4X4R =
     {
@@ -112,19 +112,19 @@ public static IEnumerable<object[]> Rgb4Data
         }
     }
 
-    private static readonly Rgba32 Rgb8_000 = new Rgba32(0, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_444 = new Rgba32(64, 64, 64, 255);
-    private static readonly Rgba32 Rgb8_888 = new Rgba32(128, 128, 128, 255);
-    private static readonly Rgba32 Rgb8_CCC = new Rgba32(192, 192, 192, 255);
-    private static readonly Rgba32 Rgb8_FFF = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Rgb8_F00 = new Rgba32(255, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_0F0 = new Rgba32(0, 255, 0, 255);
-    private static readonly Rgba32 Rgb8_00F = new Rgba32(0, 0, 255, 255);
-    private static readonly Rgba32 Rgb8_F0F = new Rgba32(255, 0, 255, 255);
-    private static readonly Rgba32 Rgb8_400 = new Rgba32(64, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_800 = new Rgba32(128, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_C00 = new Rgba32(192, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_48C = new Rgba32(64, 128, 192, 255);
+    private static readonly Rgba32 Rgb8_000 = new(0, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_444 = new(64, 64, 64, 255);
+    private static readonly Rgba32 Rgb8_888 = new(128, 128, 128, 255);
+    private static readonly Rgba32 Rgb8_CCC = new(192, 192, 192, 255);
+    private static readonly Rgba32 Rgb8_FFF = new(255, 255, 255, 255);
+    private static readonly Rgba32 Rgb8_F00 = new(255, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_0F0 = new(0, 255, 0, 255);
+    private static readonly Rgba32 Rgb8_00F = new(0, 0, 255, 255);
+    private static readonly Rgba32 Rgb8_F0F = new(255, 0, 255, 255);
+    private static readonly Rgba32 Rgb8_400 = new(64, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_800 = new(128, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_C00 = new(192, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_48C = new(64, 128, 192, 255);
 
     private static readonly byte[] Rgb8Bytes4X4R =
     {
@@ -175,19 +175,19 @@ public static IEnumerable<object[]> Rgb8Data
         }
     }
 
-    private static readonly Rgba32 Rgb484_000 = new Rgba32(0, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_444 = new Rgba32(68, 64, 68, 255);
-    private static readonly Rgba32 Rgb484_888 = new Rgba32(136, 128, 136, 255);
-    private static readonly Rgba32 Rgb484_CCC = new Rgba32(204, 192, 204, 255);
-    private static readonly Rgba32 Rgb484_FFF = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Rgb484_F00 = new Rgba32(255, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_0F0 = new Rgba32(0, 255, 0, 255);
-    private static readonly Rgba32 Rgb484_00F = new Rgba32(0, 0, 255, 255);
-    private static readonly Rgba32 Rgb484_F0F = new Rgba32(255, 0, 255, 255);
-    private static readonly Rgba32 Rgb484_400 = new Rgba32(68, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_800 = new Rgba32(136, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_C00 = new Rgba32(204, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_48C = new Rgba32(68, 128, 204, 255);
+    private static readonly Rgba32 Rgb484_000 = new(0, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_444 = new(68, 64, 68, 255);
+    private static readonly Rgba32 Rgb484_888 = new(136, 128, 136, 255);
+    private static readonly Rgba32 Rgb484_CCC = new(204, 192, 204, 255);
+    private static readonly Rgba32 Rgb484_FFF = new(255, 255, 255, 255);
+    private static readonly Rgba32 Rgb484_F00 = new(255, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_0F0 = new(0, 255, 0, 255);
+    private static readonly Rgba32 Rgb484_00F = new(0, 0, 255, 255);
+    private static readonly Rgba32 Rgb484_F0F = new(255, 0, 255, 255);
+    private static readonly Rgba32 Rgb484_400 = new(68, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_800 = new(136, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_C00 = new(204, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_48C = new(68, 128, 204, 255);
 
     private static readonly byte[] Rgb484Bytes4X4R =
     {
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbTiffColorTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbTiffColorTests.cs
index aeb135773c..80a04a7d1e 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbTiffColorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/RgbTiffColorTests.cs
@@ -10,19 +10,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff.PhotometricInterpretation;
 [Trait("Format", "Tiff")]
 public class RgbTiffColorTests : PhotometricInterpretationTestBase
 {
-    private static readonly Rgba32 Rgb4_000 = new Rgba32(0, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_444 = new Rgba32(68, 68, 68, 255);
-    private static readonly Rgba32 Rgb4_888 = new Rgba32(136, 136, 136, 255);
-    private static readonly Rgba32 Rgb4_CCC = new Rgba32(204, 204, 204, 255);
-    private static readonly Rgba32 Rgb4_FFF = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Rgb4_F00 = new Rgba32(255, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_0F0 = new Rgba32(0, 255, 0, 255);
-    private static readonly Rgba32 Rgb4_00F = new Rgba32(0, 0, 255, 255);
-    private static readonly Rgba32 Rgb4_F0F = new Rgba32(255, 0, 255, 255);
-    private static readonly Rgba32 Rgb4_400 = new Rgba32(68, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_800 = new Rgba32(136, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_C00 = new Rgba32(204, 0, 0, 255);
-    private static readonly Rgba32 Rgb4_48C = new Rgba32(68, 136, 204, 255);
+    private static readonly Rgba32 Rgb4_000 = new(0, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_444 = new(68, 68, 68, 255);
+    private static readonly Rgba32 Rgb4_888 = new(136, 136, 136, 255);
+    private static readonly Rgba32 Rgb4_CCC = new(204, 204, 204, 255);
+    private static readonly Rgba32 Rgb4_FFF = new(255, 255, 255, 255);
+    private static readonly Rgba32 Rgb4_F00 = new(255, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_0F0 = new(0, 255, 0, 255);
+    private static readonly Rgba32 Rgb4_00F = new(0, 0, 255, 255);
+    private static readonly Rgba32 Rgb4_F0F = new(255, 0, 255, 255);
+    private static readonly Rgba32 Rgb4_400 = new(68, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_800 = new(136, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_C00 = new(204, 0, 0, 255);
+    private static readonly Rgba32 Rgb4_48C = new(68, 136, 204, 255);
 
     private static readonly byte[] Rgb4Bytes4X4 =
     {
@@ -74,19 +74,19 @@ public static IEnumerable<object[]> Rgb4Data
         }
     }
 
-    private static readonly Rgba32 Rgb8_000 = new Rgba32(0, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_444 = new Rgba32(64, 64, 64, 255);
-    private static readonly Rgba32 Rgb8_888 = new Rgba32(128, 128, 128, 255);
-    private static readonly Rgba32 Rgb8_CCC = new Rgba32(192, 192, 192, 255);
-    private static readonly Rgba32 Rgb8_FFF = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Rgb8_F00 = new Rgba32(255, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_0F0 = new Rgba32(0, 255, 0, 255);
-    private static readonly Rgba32 Rgb8_00F = new Rgba32(0, 0, 255, 255);
-    private static readonly Rgba32 Rgb8_F0F = new Rgba32(255, 0, 255, 255);
-    private static readonly Rgba32 Rgb8_400 = new Rgba32(64, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_800 = new Rgba32(128, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_C00 = new Rgba32(192, 0, 0, 255);
-    private static readonly Rgba32 Rgb8_48C = new Rgba32(64, 128, 192, 255);
+    private static readonly Rgba32 Rgb8_000 = new(0, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_444 = new(64, 64, 64, 255);
+    private static readonly Rgba32 Rgb8_888 = new(128, 128, 128, 255);
+    private static readonly Rgba32 Rgb8_CCC = new(192, 192, 192, 255);
+    private static readonly Rgba32 Rgb8_FFF = new(255, 255, 255, 255);
+    private static readonly Rgba32 Rgb8_F00 = new(255, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_0F0 = new(0, 255, 0, 255);
+    private static readonly Rgba32 Rgb8_00F = new(0, 0, 255, 255);
+    private static readonly Rgba32 Rgb8_F0F = new(255, 0, 255, 255);
+    private static readonly Rgba32 Rgb8_400 = new(64, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_800 = new(128, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_C00 = new(192, 0, 0, 255);
+    private static readonly Rgba32 Rgb8_48C = new(64, 128, 192, 255);
 
     private static readonly byte[] Rgb8Bytes4X4 =
     {
@@ -116,19 +116,19 @@ public static IEnumerable<object[]> Rgb8Data
         }
     }
 
-    private static readonly Rgba32 Rgb484_000 = new Rgba32(0, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_444 = new Rgba32(68, 64, 68, 255);
-    private static readonly Rgba32 Rgb484_888 = new Rgba32(136, 128, 136, 255);
-    private static readonly Rgba32 Rgb484_CCC = new Rgba32(204, 192, 204, 255);
-    private static readonly Rgba32 Rgb484_FFF = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Rgb484_F00 = new Rgba32(255, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_0F0 = new Rgba32(0, 255, 0, 255);
-    private static readonly Rgba32 Rgb484_00F = new Rgba32(0, 0, 255, 255);
-    private static readonly Rgba32 Rgb484_F0F = new Rgba32(255, 0, 255, 255);
-    private static readonly Rgba32 Rgb484_400 = new Rgba32(68, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_800 = new Rgba32(136, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_C00 = new Rgba32(204, 0, 0, 255);
-    private static readonly Rgba32 Rgb484_48C = new Rgba32(68, 128, 204, 255);
+    private static readonly Rgba32 Rgb484_000 = new(0, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_444 = new(68, 64, 68, 255);
+    private static readonly Rgba32 Rgb484_888 = new(136, 128, 136, 255);
+    private static readonly Rgba32 Rgb484_CCC = new(204, 192, 204, 255);
+    private static readonly Rgba32 Rgb484_FFF = new(255, 255, 255, 255);
+    private static readonly Rgba32 Rgb484_F00 = new(255, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_0F0 = new(0, 255, 0, 255);
+    private static readonly Rgba32 Rgb484_00F = new(0, 0, 255, 255);
+    private static readonly Rgba32 Rgb484_F0F = new(255, 0, 255, 255);
+    private static readonly Rgba32 Rgb484_400 = new(68, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_800 = new(136, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_C00 = new(204, 0, 0, 255);
+    private static readonly Rgba32 Rgb484_48C = new(68, 128, 204, 255);
 
     private static readonly byte[] Rgb484Bytes4X4 =
     {
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColorTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColorTests.cs
index 0b58e3891e..a79cc00585 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColorTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColorTests.cs
@@ -10,14 +10,14 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff.PhotometricInterpretation;
 [Trait("Format", "Tiff")]
 public class WhiteIsZeroTiffColorTests : PhotometricInterpretationTestBase
 {
-    private static readonly Rgba32 Gray000 = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Gray128 = new Rgba32(127, 127, 127, 255);
-    private static readonly Rgba32 Gray255 = new Rgba32(0, 0, 0, 255);
-    private static readonly Rgba32 Gray0 = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Gray8 = new Rgba32(119, 119, 119, 255);
-    private static readonly Rgba32 GrayF = new Rgba32(0, 0, 0, 255);
-    private static readonly Rgba32 Bit0 = new Rgba32(255, 255, 255, 255);
-    private static readonly Rgba32 Bit1 = new Rgba32(0, 0, 0, 255);
+    private static readonly Rgba32 Gray000 = new(255, 255, 255, 255);
+    private static readonly Rgba32 Gray128 = new(127, 127, 127, 255);
+    private static readonly Rgba32 Gray255 = new(0, 0, 0, 255);
+    private static readonly Rgba32 Gray0 = new(255, 255, 255, 255);
+    private static readonly Rgba32 Gray8 = new(119, 119, 119, 255);
+    private static readonly Rgba32 GrayF = new(0, 0, 0, 255);
+    private static readonly Rgba32 Bit0 = new(255, 255, 255, 255);
+    private static readonly Rgba32 Bit1 = new(0, 0, 0, 255);
 
     private static readonly byte[] BilevelBytes4X4 =
     {
@@ -155,7 +155,7 @@ public void Decode_WritesPixelData(byte[] inputData, ushort bitsPerSample, int l
     {
         AssertDecode(expectedResult, pixels =>
             {
-                new WhiteIsZeroTiffColor<Rgba32>(new TiffBitsPerSample(bitsPerSample, 0, 0)).Decode(inputData, pixels, left, top, width, height);
+                new WhiteIsZeroTiffColor<Rgba32>(new(bitsPerSample, 0, 0)).Decode(inputData, pixels, left, top, width, height);
             });
     }
 
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderBaseTester.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderBaseTester.cs
index 70ba2e5dff..158a0d4730 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderBaseTester.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderBaseTester.cs
@@ -26,9 +26,9 @@ protected static void TestStripLength<TPixel>(
         where TPixel : unmanaged, IPixel<TPixel>
     {
         // arrange
-        TiffEncoder tiffEncoder = new TiffEncoder() { PhotometricInterpretation = photometricInterpretation, Compression = compression };
+        TiffEncoder tiffEncoder = new() { PhotometricInterpretation = photometricInterpretation, Compression = compression };
         using Image<TPixel> input = provider.GetImage();
-        using MemoryStream memStream = new MemoryStream();
+        using MemoryStream memStream = new();
         TiffFrameMetadata inputMeta = input.Frames.RootFrame.Metadata.GetTiffMetadata();
         TiffCompression inputCompression = inputMeta.Compression;
 
@@ -89,7 +89,7 @@ protected static void TestTiffEncoderCore<TPixel>(
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        TiffEncoder encoder = new TiffEncoder
+        TiffEncoder encoder = new()
         {
             PhotometricInterpretation = photometricInterpretation,
             BitsPerPixel = bitsPerPixel,
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderMultiframeTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderMultiframeTests.cs
index a138d9ef87..9f6e74183f 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderMultiframeTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderMultiframeTests.cs
@@ -46,7 +46,7 @@ public void TiffEncoder_EncodeMultiframe_RemoveFrames<TPixel>(TestImageProvider<
         image.Frames.RemoveFrame(0);
 
         TiffBitsPerPixel bitsPerPixel = TiffBitsPerPixel.Bit24;
-        TiffEncoder encoder = new TiffEncoder
+        TiffEncoder encoder = new()
         {
             PhotometricInterpretation = TiffPhotometricInterpretation.Rgb,
             BitsPerPixel = bitsPerPixel,
@@ -69,22 +69,22 @@ public void TiffEncoder_EncodeMultiframe_AddFrames<TPixel>(TestImageProvider<TPi
         using Image<TPixel> image = provider.GetImage();
         Assert.Equal(1, image.Frames.Count);
 
-        using Image<Rgba32> image1 = new Image<Rgba32>(image.Width, image.Height, Color.Green.ToPixel<Rgba32>());
+        using Image<Rgba32> image1 = new(image.Width, image.Height, Color.Green.ToPixel<Rgba32>());
 
-        using Image<Rgba32> image2 = new Image<Rgba32>(image.Width, image.Height, Color.Yellow.ToPixel<Rgba32>());
+        using Image<Rgba32> image2 = new(image.Width, image.Height, Color.Yellow.ToPixel<Rgba32>());
 
         image.Frames.AddFrame(image1.Frames.RootFrame);
         image.Frames.AddFrame(image2.Frames.RootFrame);
 
         TiffBitsPerPixel bitsPerPixel = TiffBitsPerPixel.Bit24;
-        TiffEncoder encoder = new TiffEncoder
+        TiffEncoder encoder = new()
         {
             PhotometricInterpretation = TiffPhotometricInterpretation.Rgb,
             BitsPerPixel = bitsPerPixel,
             Compression = TiffCompression.Deflate
         };
 
-        using (MemoryStream ms = new System.IO.MemoryStream())
+        using (MemoryStream ms = new())
         {
             image.Save(ms, encoder);
 
@@ -121,11 +121,11 @@ public void TiffEncoder_EncodeMultiframe_Create<TPixel>(TestImageProvider<TPixel
     {
         using Image<TPixel> image = provider.GetImage();
 
-        using Image<Rgba32> image0 = new Image<Rgba32>(image.Width, image.Height, Color.Red.ToPixel<Rgba32>());
+        using Image<Rgba32> image0 = new(image.Width, image.Height, Color.Red.ToPixel<Rgba32>());
 
-        using Image<Rgba32> image1 = new Image<Rgba32>(image.Width, image.Height, Color.Green.ToPixel<Rgba32>());
+        using Image<Rgba32> image1 = new(image.Width, image.Height, Color.Green.ToPixel<Rgba32>());
 
-        using Image<Rgba32> image2 = new Image<Rgba32>(image.Width, image.Height, Color.Yellow.ToPixel<Rgba32>());
+        using Image<Rgba32> image2 = new(image.Width, image.Height, Color.Yellow.ToPixel<Rgba32>());
 
         image.Frames.AddFrame(image0.Frames.RootFrame);
         image.Frames.AddFrame(image1.Frames.RootFrame);
@@ -133,14 +133,14 @@ public void TiffEncoder_EncodeMultiframe_Create<TPixel>(TestImageProvider<TPixel
         image.Frames.RemoveFrame(0);
 
         TiffBitsPerPixel bitsPerPixel = TiffBitsPerPixel.Bit8;
-        TiffEncoder encoder = new TiffEncoder
+        TiffEncoder encoder = new()
         {
             PhotometricInterpretation = TiffPhotometricInterpretation.PaletteColor,
             BitsPerPixel = bitsPerPixel,
             Compression = TiffCompression.Lzw
         };
 
-        using (MemoryStream ms = new System.IO.MemoryStream())
+        using (MemoryStream ms = new())
         {
             image.Save(ms, encoder);
 
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs
index 674ca5c5bb..01a4f532d7 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs
@@ -334,7 +334,7 @@ public void TiffEncoder_EncodesMultiFrameMipMap_WithScaling<TPixel>(TestImagePro
         foreach (ImageFrame<TPixel> frame in image.Frames)
         {
             TiffFrameMetadata metadata = frame.Metadata.GetTiffMetadata();
-            encodedDimensions.Add(new Size(metadata.EncodingWidth, metadata.EncodingHeight));
+            encodedDimensions.Add(new(metadata.EncodingWidth, metadata.EncodingHeight));
         }
 
         const int scale = 2;
diff --git a/tests/ImageSharp.Tests/Formats/Tiff/Utils/TiffWriterTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/Utils/TiffWriterTests.cs
index 3bcbd26e5c..939baeeb68 100644
--- a/tests/ImageSharp.Tests/Formats/Tiff/Utils/TiffWriterTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Tiff/Utils/TiffWriterTests.cs
@@ -11,8 +11,8 @@ public class TiffWriterTests
     [Fact]
     public void IsLittleEndian_IsTrueOnWindows()
     {
-        using MemoryStream stream = new MemoryStream();
-        using TiffStreamWriter writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new();
+        using TiffStreamWriter writer = new(stream);
         Assert.True(TiffStreamWriter.IsLittleEndian);
     }
 
@@ -22,8 +22,8 @@ public void IsLittleEndian_IsTrueOnWindows()
     [InlineData(new byte[] { 1, 2, 3, 4, 5 }, 5)]
     public void Position_EqualsTheStreamPosition(byte[] data, long expectedResult)
     {
-        using MemoryStream stream = new MemoryStream();
-        using TiffStreamWriter writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new();
+        using TiffStreamWriter writer = new(stream);
         writer.Write(data);
         Assert.Equal(writer.Position, expectedResult);
     }
@@ -31,8 +31,8 @@ public void Position_EqualsTheStreamPosition(byte[] data, long expectedResult)
     [Fact]
     public void Write_WritesByte()
     {
-        using MemoryStream stream = new MemoryStream();
-        using TiffStreamWriter writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new();
+        using TiffStreamWriter writer = new(stream);
         writer.Write(42);
 
         Assert.Equal(new byte[] { 42 }, stream.ToArray());
@@ -41,8 +41,8 @@ public void Write_WritesByte()
     [Fact]
     public void Write_WritesByteArray()
     {
-        using MemoryStream stream = new MemoryStream();
-        using TiffStreamWriter writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new();
+        using TiffStreamWriter writer = new(stream);
         writer.Write(new byte[] { 2, 4, 6, 8 });
 
         Assert.Equal(new byte[] { 2, 4, 6, 8 }, stream.ToArray());
@@ -51,8 +51,8 @@ public void Write_WritesByteArray()
     [Fact]
     public void Write_WritesUInt16()
     {
-        using MemoryStream stream = new MemoryStream();
-        using TiffStreamWriter writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new();
+        using TiffStreamWriter writer = new(stream);
         writer.Write(1234, stackalloc byte[2]);
 
         Assert.Equal(new byte[] { 0xD2, 0x04 }, stream.ToArray());
@@ -61,8 +61,8 @@ public void Write_WritesUInt16()
     [Fact]
     public void Write_WritesUInt32()
     {
-        using MemoryStream stream = new MemoryStream();
-        using TiffStreamWriter writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new();
+        using TiffStreamWriter writer = new(stream);
         writer.Write(12345678U, stackalloc byte[4]);
 
         Assert.Equal(new byte[] { 0x4E, 0x61, 0xBC, 0x00 }, stream.ToArray());
@@ -78,8 +78,8 @@ public void Write_WritesUInt32()
 
     public void WritePadded_WritesByteArray(byte[] bytes, byte[] expectedResult)
     {
-        using MemoryStream stream = new MemoryStream();
-        using TiffStreamWriter writer = new TiffStreamWriter(stream);
+        using MemoryStream stream = new();
+        using TiffStreamWriter writer = new(stream);
         writer.WritePadded(bytes);
 
         Assert.Equal(expectedResult, stream.ToArray());
@@ -88,10 +88,10 @@ public void WritePadded_WritesByteArray(byte[] bytes, byte[] expectedResult)
     [Fact]
     public void WriteMarker_WritesToPlacedPosition()
     {
-        using MemoryStream stream = new MemoryStream();
+        using MemoryStream stream = new();
         Span<byte> buffer = stackalloc byte[4];
 
-        using (TiffStreamWriter writer = new TiffStreamWriter(stream))
+        using (TiffStreamWriter writer = new(stream))
         {
             writer.Write(0x11111111, buffer);
             long marker = writer.PlaceMarker(buffer);
diff --git a/tests/ImageSharp.Tests/Formats/WebP/ImageExtensionsTests.cs b/tests/ImageSharp.Tests/Formats/WebP/ImageExtensionsTests.cs
index ea13fd7125..510d67103b 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/ImageExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/ImageExtensionsTests.cs
@@ -48,7 +48,7 @@ public void SaveAsWebp_Path_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsWebp(file, new WebpEncoder());
+            image.SaveAsWebp(file, new());
         }
 
         IImageFormat format = Image.DetectFormat(file);
@@ -109,7 +109,7 @@ public void SaveAsWebp_Stream_Encoder()
 
         using (Image<Rgba32> image = new(10, 10))
         {
-            image.SaveAsWebp(memoryStream, new WebpEncoder());
+            image.SaveAsWebp(memoryStream, new());
         }
 
         memoryStream.Position = 0;
diff --git a/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs b/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs
index 321aff2bd3..09aa94c755 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs
@@ -89,7 +89,7 @@ private static void RunTransformColorTest()
             392450, 196861, 16712192, 16711680, 130564, 16451071
         };
 
-        Vp8LMultipliers m = new Vp8LMultipliers()
+        Vp8LMultipliers m = new()
         {
             GreenToBlue = 240,
             GreenToRed = 232,
@@ -121,7 +121,7 @@ private static void RunTransformColorInverseTest()
             16711680, 65027, 16712962
         };
 
-        Vp8LMultipliers m = new Vp8LMultipliers()
+        Vp8LMultipliers m = new()
         {
             GreenToBlue = 240,
             GreenToRed = 232,
diff --git a/tests/ImageSharp.Tests/Formats/WebP/PredictorEncoderTests.cs b/tests/ImageSharp.Tests/Formats/WebP/PredictorEncoderTests.cs
index b4279b0454..a154417569 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/PredictorEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/PredictorEncoderTests.cs
@@ -150,7 +150,7 @@ private static Bgra32 ToBgra32<TPixel>(TPixel color)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         Rgba32 rgba = color.ToRgba32();
-        return new Bgra32(rgba.R, rgba.G, rgba.B, rgba.A);
+        return new(rgba.R, rgba.G, rgba.B, rgba.A);
     }
 
     private static string TestImageFullPath(string path)
diff --git a/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs b/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
index 79c7ff26bf..990c583856 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
@@ -13,7 +13,7 @@ public static IEnumerable<object[]> Data
     {
         get
         {
-            List<object[]> result = new List<object[]>();
+            List<object[]> result = new();
             result.Add(new object[]
             {
                 new byte[]
@@ -69,7 +69,7 @@ public static IEnumerable<object[]> Data
     private static void RunCollectHistogramTest()
     {
         // arrange
-        Vp8Histogram histogram = new Vp8Histogram();
+        Vp8Histogram histogram = new();
 
         byte[] reference =
         {
@@ -172,7 +172,7 @@ private static void RunCollectHistogramTest()
     public void GetAlpha_WithEmptyHistogram_Works()
     {
         // arrange
-        Vp8Histogram histogram = new Vp8Histogram();
+        Vp8Histogram histogram = new();
 
         // act
         int alpha = histogram.GetAlpha();
@@ -186,7 +186,7 @@ public void GetAlpha_WithEmptyHistogram_Works()
     public void GetAlpha_Works(byte[] reference, byte[] pred)
     {
         // arrange
-        Vp8Histogram histogram = new Vp8Histogram();
+        Vp8Histogram histogram = new();
         histogram.CollectHistogram(reference, pred, 0, 1);
 
         // act
@@ -201,9 +201,9 @@ public void GetAlpha_Works(byte[] reference, byte[] pred)
     public void Merge_Works(byte[] reference, byte[] pred)
     {
         // arrange
-        Vp8Histogram histogram1 = new Vp8Histogram();
+        Vp8Histogram histogram1 = new();
         histogram1.CollectHistogram(reference, pred, 0, 1);
-        Vp8Histogram histogram2 = new Vp8Histogram();
+        Vp8Histogram histogram2 = new();
         histogram1.Merge(histogram2);
 
         // act
diff --git a/tests/ImageSharp.Tests/Formats/WebP/Vp8LHistogramTests.cs b/tests/ImageSharp.Tests/Formats/WebP/Vp8LHistogramTests.cs
index cfe79e49e6..21c1d8600d 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/Vp8LHistogramTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/Vp8LHistogramTests.cs
@@ -69,7 +69,7 @@ private static void RunAddVectorTest()
         Vp8LBackwardRefs backwardRefs = new(pixelData.Length);
         for (int i = 0; i < pixelData.Length; i++)
         {
-            backwardRefs.Add(new PixOrCopy()
+            backwardRefs.Add(new()
             {
                 BgraOrDistance = pixelData[i],
                 Len = 1,
diff --git a/tests/ImageSharp.Tests/Formats/WebP/Vp8ModeScoreTests.cs b/tests/ImageSharp.Tests/Formats/WebP/Vp8ModeScoreTests.cs
index a014e8991f..ded637967a 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/Vp8ModeScoreTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/Vp8ModeScoreTests.cs
@@ -11,7 +11,7 @@ public class Vp8ModeScoreTests
     [Fact]
     public void InitScore_Works()
     {
-        Vp8ModeScore score = new Vp8ModeScore();
+        Vp8ModeScore score = new();
         score.InitScore();
         Assert.Equal(0, score.D);
         Assert.Equal(0, score.SD);
@@ -25,7 +25,7 @@ public void InitScore_Works()
     public void CopyScore_Works()
     {
         // arrange
-        Vp8ModeScore score1 = new Vp8ModeScore
+        Vp8ModeScore score1 = new()
         {
             Score = 123,
             Nz = 1,
@@ -36,7 +36,7 @@ public void CopyScore_Works()
             R = 6,
             SD = 7
         };
-        Vp8ModeScore score2 = new Vp8ModeScore();
+        Vp8ModeScore score2 = new();
         score2.InitScore();
 
         // act
@@ -55,7 +55,7 @@ public void CopyScore_Works()
     public void AddScore_Works()
     {
         // arrange
-        Vp8ModeScore score1 = new Vp8ModeScore
+        Vp8ModeScore score1 = new()
         {
             Score = 123,
             Nz = 1,
@@ -66,7 +66,7 @@ public void AddScore_Works()
             R = 6,
             SD = 7
         };
-        Vp8ModeScore score2 = new Vp8ModeScore
+        Vp8ModeScore score2 = new()
         {
             Score = 123,
             Nz = 1,
diff --git a/tests/ImageSharp.Tests/Formats/WebP/Vp8ResidualTests.cs b/tests/ImageSharp.Tests/Formats/WebP/Vp8ResidualTests.cs
index 4982929c2c..dcb54dc198 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/Vp8ResidualTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/Vp8ResidualTests.cs
@@ -80,7 +80,7 @@ private static Vp8Residual ReadVp8Residual(string fileName)
         Vp8BandProbas[] bandProbas = new Vp8BandProbas[8];
         for (int i = 0; i < bandProbas.Length; i++)
         {
-            bandProbas[i] = new Vp8BandProbas();
+            bandProbas[i] = new();
             for (int j = 0; j < bandProbas[i].Probabilities.Length; j++)
             {
                 for (int k = 0; k < 11; k++)
@@ -95,7 +95,7 @@ private static Vp8Residual ReadVp8Residual(string fileName)
         residual.Costs = new Vp8Costs[16];
         for (int i = 0; i < residual.Costs.Length; i++)
         {
-            residual.Costs[i] = new Vp8Costs();
+            residual.Costs[i] = new();
             Vp8CostArray[] costsArray = residual.Costs[i].Costs;
             for (int j = 0; j < costsArray.Length; j++)
             {
@@ -109,7 +109,7 @@ private static Vp8Residual ReadVp8Residual(string fileName)
         residual.Stats = new Vp8Stats[8];
         for (int i = 0; i < residual.Stats.Length; i++)
         {
-            residual.Stats[i] = new Vp8Stats();
+            residual.Stats[i] = new();
             for (int j = 0; j < residual.Stats[i].Stats.Length; j++)
             {
                 for (int k = 0; k < residual.Stats[i].Stats[j].Stats.Length; k++)
diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpDecoderTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpDecoderTests.cs
index 657ab25546..6379134653 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/WebpDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/WebpDecoderTests.cs
@@ -348,7 +348,7 @@ public void Decode_AnimatedLossy_IgnoreBackgroundColor_Works<TPixel>(TestImagePr
         WebpDecoderOptions options = new()
         {
             BackgroundColorHandling = BackgroundColorHandling.Ignore,
-            GeneralOptions = new DecoderOptions()
+            GeneralOptions = new()
             {
                 MaxFrames = 1
             }
diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs
index fefe27790c..020b42f377 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs
@@ -103,9 +103,9 @@ public async Task IgnoreMetadata_ControlsWhetherXmpIsParsed<TPixel>(TestImagePro
     public void Encode_WritesExifWithPadding(WebpFileFormatType fileFormatType)
     {
         // arrange
-        using Image<Rgba32> input = new Image<Rgba32>(25, 25);
-        using MemoryStream memoryStream = new MemoryStream();
-        ExifProfile expectedExif = new ExifProfile();
+        using Image<Rgba32> input = new(25, 25);
+        using MemoryStream memoryStream = new();
+        ExifProfile expectedExif = new();
         string expectedSoftware = "ImageSharp";
         expectedExif.SetValue(ExifTag.Software, expectedSoftware);
         input.Metadata.ExifProfile = expectedExif;
@@ -129,7 +129,7 @@ public void EncodeLossyWebp_PreservesExif<TPixel>(TestImageProvider<TPixel> prov
     {
         // arrange
         using Image<TPixel> input = provider.GetImage(WebpDecoder.Instance);
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         ExifProfile expectedExif = input.Metadata.ExifProfile;
 
         // act
@@ -150,7 +150,7 @@ public void EncodeLosslessWebp_PreservesExif<TPixel>(TestImageProvider<TPixel> p
     {
         // arrange
         using Image<TPixel> input = provider.GetImage(WebpDecoder.Instance);
-        using MemoryStream memoryStream = new MemoryStream();
+        using MemoryStream memoryStream = new();
         ExifProfile expectedExif = input.Metadata.ExifProfile;
 
         // act
@@ -174,7 +174,7 @@ public void Encode_PreservesColorProfile<TPixel>(TestImageProvider<TPixel> provi
         ImageSharp.Metadata.Profiles.Icc.IccProfile expectedProfile = input.Metadata.IccProfile;
         byte[] expectedProfileBytes = expectedProfile.ToByteArray();
 
-        using MemoryStream memStream = new MemoryStream();
+        using MemoryStream memStream = new();
         input.Save(memStream, new WebpEncoder()
         {
             FileFormat = fileFormat
diff --git a/tests/ImageSharp.Tests/GraphicOptionsDefaultsExtensionsTests.cs b/tests/ImageSharp.Tests/GraphicOptionsDefaultsExtensionsTests.cs
index e894f7b864..e4712e8d03 100644
--- a/tests/ImageSharp.Tests/GraphicOptionsDefaultsExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/GraphicOptionsDefaultsExtensionsTests.cs
@@ -12,8 +12,8 @@ public class GraphicOptionsDefaultsExtensionsTests
     [Fact]
     public void SetDefaultOptionsOnProcessingContext()
     {
-        GraphicsOptions option = new GraphicsOptions();
-        Configuration config = new Configuration();
+        GraphicsOptions option = new();
+        Configuration config = new();
         FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
 
         context.SetGraphicsOptions(option);
@@ -26,11 +26,11 @@ public void SetDefaultOptionsOnProcessingContext()
     [Fact]
     public void UpdateDefaultOptionsOnProcessingContext_AlwaysNewInstance()
     {
-        GraphicsOptions option = new GraphicsOptions()
+        GraphicsOptions option = new()
         {
             BlendPercentage = 0.9f
         };
-        Configuration config = new Configuration();
+        Configuration config = new();
         FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
         context.SetGraphicsOptions(option);
 
@@ -48,8 +48,8 @@ public void UpdateDefaultOptionsOnProcessingContext_AlwaysNewInstance()
     [Fact]
     public void SetDefaultOptionsOnConfiguration()
     {
-        GraphicsOptions option = new GraphicsOptions();
-        Configuration config = new Configuration();
+        GraphicsOptions option = new();
+        Configuration config = new();
 
         config.SetGraphicsOptions(option);
 
@@ -59,11 +59,11 @@ public void SetDefaultOptionsOnConfiguration()
     [Fact]
     public void UpdateDefaultOptionsOnConfiguration_AlwaysNewInstance()
     {
-        GraphicsOptions option = new GraphicsOptions()
+        GraphicsOptions option = new()
         {
             BlendPercentage = 0.9f
         };
-        Configuration config = new Configuration();
+        Configuration config = new();
         config.SetGraphicsOptions(option);
 
         config.SetGraphicsOptions(o =>
@@ -80,7 +80,7 @@ public void UpdateDefaultOptionsOnConfiguration_AlwaysNewInstance()
     [Fact]
     public void GetDefaultOptionsFromConfiguration_SettingNullThenReturnsNewInstance()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
 
         GraphicsOptions options = config.GetGraphicsOptions();
         Assert.NotNull(options);
@@ -96,7 +96,7 @@ public void GetDefaultOptionsFromConfiguration_SettingNullThenReturnsNewInstance
     [Fact]
     public void GetDefaultOptionsFromConfiguration_IgnoreIncorectlyTypesDictionEntry()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
 
         config.Properties[typeof(GraphicsOptions)] = "wronge type";
         GraphicsOptions options = config.GetGraphicsOptions();
@@ -107,7 +107,7 @@ public void GetDefaultOptionsFromConfiguration_IgnoreIncorectlyTypesDictionEntry
     [Fact]
     public void GetDefaultOptionsFromConfiguration_AlwaysReturnsInstance()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
 
         Assert.DoesNotContain(typeof(GraphicsOptions), config.Properties.Keys);
         GraphicsOptions options = config.GetGraphicsOptions();
@@ -117,7 +117,7 @@ public void GetDefaultOptionsFromConfiguration_AlwaysReturnsInstance()
     [Fact]
     public void GetDefaultOptionsFromConfiguration_AlwaysReturnsSameValue()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
 
         GraphicsOptions options = config.GetGraphicsOptions();
         GraphicsOptions options2 = config.GetGraphicsOptions();
@@ -127,7 +127,7 @@ public void GetDefaultOptionsFromConfiguration_AlwaysReturnsSameValue()
     [Fact]
     public void GetDefaultOptionsFromProcessingContext_AlwaysReturnsInstance()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
         FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
 
         GraphicsOptions ctxOptions = context.GetGraphicsOptions();
@@ -137,7 +137,7 @@ public void GetDefaultOptionsFromProcessingContext_AlwaysReturnsInstance()
     [Fact]
     public void GetDefaultOptionsFromProcessingContext_AlwaysReturnsInstanceEvenIfSetToNull()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
         FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
 
         context.SetGraphicsOptions((GraphicsOptions)null);
@@ -148,8 +148,8 @@ public void GetDefaultOptionsFromProcessingContext_AlwaysReturnsInstanceEvenIfSe
     [Fact]
     public void GetDefaultOptionsFromProcessingContext_FallbackToConfigsInstance()
     {
-        GraphicsOptions option = new GraphicsOptions();
-        Configuration config = new Configuration();
+        GraphicsOptions option = new();
+        Configuration config = new();
         config.SetGraphicsOptions(option);
         FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
 
@@ -160,7 +160,7 @@ public void GetDefaultOptionsFromProcessingContext_FallbackToConfigsInstance()
     [Fact]
     public void GetDefaultOptionsFromProcessingContext_IgnoreIncorectlyTypesDictionEntry()
     {
-        Configuration config = new Configuration();
+        Configuration config = new();
         FakeImageOperationsProvider.FakeImageOperations<Rgba32> context = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(config, null, true);
         context.Properties[typeof(GraphicsOptions)] = "wronge type";
         GraphicsOptions options = context.GetGraphicsOptions();
diff --git a/tests/ImageSharp.Tests/GraphicsOptionsTests.cs b/tests/ImageSharp.Tests/GraphicsOptionsTests.cs
index 351254e401..0ccb80d3f5 100644
--- a/tests/ImageSharp.Tests/GraphicsOptionsTests.cs
+++ b/tests/ImageSharp.Tests/GraphicsOptionsTests.cs
@@ -8,8 +8,8 @@ namespace SixLabors.ImageSharp.Tests;
 
 public class GraphicsOptionsTests
 {
-    private static readonly GraphicsOptionsComparer GraphicsOptionsComparer = new GraphicsOptionsComparer();
-    private readonly GraphicsOptions newGraphicsOptions = new GraphicsOptions();
+    private static readonly GraphicsOptionsComparer GraphicsOptionsComparer = new();
+    private readonly GraphicsOptions newGraphicsOptions = new();
     private readonly GraphicsOptions cloneGraphicsOptions = new GraphicsOptions().DeepClone();
 
     [Fact]
@@ -57,7 +57,7 @@ public void DefaultGraphicsOptionsAlphaCompositionMode()
     [Fact]
     public void NonDefaultClone()
     {
-        GraphicsOptions expected = new GraphicsOptions
+        GraphicsOptions expected = new()
         {
             AlphaCompositionMode = PixelAlphaCompositionMode.DestAtop,
             Antialias = false,
@@ -74,7 +74,7 @@ public void NonDefaultClone()
     [Fact]
     public void CloneIsDeep()
     {
-        GraphicsOptions expected = new GraphicsOptions();
+        GraphicsOptions expected = new();
         GraphicsOptions actual = expected.DeepClone();
 
         actual.AlphaCompositionMode = PixelAlphaCompositionMode.DestAtop;
diff --git a/tests/ImageSharp.Tests/Helpers/ColorNumericsTests.cs b/tests/ImageSharp.Tests/Helpers/ColorNumericsTests.cs
index 1e6ab7bc9d..1bf137f34d 100644
--- a/tests/ImageSharp.Tests/Helpers/ColorNumericsTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/ColorNumericsTests.cs
@@ -15,7 +15,7 @@ public class ColorNumericsTests
     public void GetBT709Luminance_WithVector4(float x, float y, float z, int luminanceLevels, int expected)
     {
         // arrange
-        Vector4 vector = new Vector4(x, y, z, 0.0f);
+        Vector4 vector = new(x, y, z, 0.0f);
 
         // act
         int actual = ColorNumerics.GetBT709Luminance(ref vector, luminanceLevels);
diff --git a/tests/ImageSharp.Tests/Helpers/NumericsTests.cs b/tests/ImageSharp.Tests/Helpers/NumericsTests.cs
index c40fffd55b..1106144c4f 100644
--- a/tests/ImageSharp.Tests/Helpers/NumericsTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/NumericsTests.cs
@@ -9,7 +9,7 @@ public class NumericsTests
 {
     private delegate void SpanAction<T, in TArg, in TArg1>(Span<T> span, TArg arg, TArg1 arg1);
 
-    private readonly ApproximateFloatComparer approximateFloatComparer = new ApproximateFloatComparer(1e-6f);
+    private readonly ApproximateFloatComparer approximateFloatComparer = new(1e-6f);
 
     [Theory]
     [InlineData(0)]
@@ -162,7 +162,7 @@ public void LeastCommonMultiple(int a, int b, int expected)
     [InlineData(63)]
     public void PremultiplyVectorSpan(int length)
     {
-        Random rnd = new Random(42);
+        Random rnd = new(42);
         Vector4[] source = rnd.GenerateRandomVectorArray(length, 0, 1);
         Vector4[] expected = source.Select(v =>
         {
@@ -182,7 +182,7 @@ public void PremultiplyVectorSpan(int length)
     [InlineData(63)]
     public void UnPremultiplyVectorSpan(int length)
     {
-        Random rnd = new Random(42);
+        Random rnd = new(42);
         Vector4[] source = rnd.GenerateRandomVectorArray(length, 0, 1);
         Vector4[] expected = source.Select(v =>
         {
@@ -280,7 +280,7 @@ private static void TestClampSpan<T>(
     {
         Span<T> actual = new T[length];
 
-        Random r = new Random();
+        Random r = new();
         for (int i = 0; i < length; i++)
         {
             actual[i] = (T)Convert.ChangeType(r.Next(byte.MinValue, byte.MaxValue), typeof(T));
diff --git a/tests/ImageSharp.Tests/Helpers/ParallelExecutionSettingsTests.cs b/tests/ImageSharp.Tests/Helpers/ParallelExecutionSettingsTests.cs
index eadae91246..983c3cc2b9 100644
--- a/tests/ImageSharp.Tests/Helpers/ParallelExecutionSettingsTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/ParallelExecutionSettingsTests.cs
@@ -28,7 +28,7 @@ public void Constructor_MaxDegreeOfParallelism_CompatibleWith_ParallelOptions(in
         }
         else
         {
-            ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
+            ParallelExecutionSettings parallelSettings = new(
                 maxDegreeOfParallelism,
                 Configuration.Default.MemoryAllocator);
             Assert.Equal(maxDegreeOfParallelism, parallelSettings.MaxDegreeOfParallelism);
diff --git a/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs b/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
index 0ce0bf4e80..e5e6b18f80 100644
--- a/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/ParallelRowIteratorTests.cs
@@ -26,7 +26,7 @@ public ParallelRowIteratorTests(ITestOutputHelper output)
     /// maxDegreeOfParallelism, minY, maxY, expectedStepLength, expectedLastStepLength
     /// </summary>
     public static TheoryData<int, int, int, int, int, int> IterateRows_OverMinimumPixelsLimit_Data =
-        new TheoryData<int, int, int, int, int, int>
+        new()
         {
             { 1, 0, 100, -1, 100, 1 },
             { 2, 0, 9, 5, 4, 2 },
@@ -52,12 +52,12 @@ public void IterateRows_OverMinimumPixelsLimit_IntervalsAreCorrect(
         int expectedLastStepLength,
         int expectedNumberOfSteps)
     {
-        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new(
             maxDegreeOfParallelism,
             1,
             Configuration.Default.MemoryAllocator);
 
-        Rectangle rectangle = new Rectangle(0, minY, 10, maxY - minY);
+        Rectangle rectangle = new(0, minY, 10, maxY - minY);
 
         int actualNumberOfSteps = 0;
 
@@ -73,7 +73,7 @@ void RowAction(RowInterval rows)
             Assert.Equal(expected, step);
         }
 
-        TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
+        TestRowIntervalOperation operation = new(RowAction);
 
         ParallelRowIterator.IterateRowIntervals(
             rectangle,
@@ -93,12 +93,12 @@ public void IterateRows_OverMinimumPixelsLimit_ShouldVisitAllRows(
         int expectedLastStepLength,
         int expectedNumberOfSteps)
     {
-        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new(
             maxDegreeOfParallelism,
             1,
             Configuration.Default.MemoryAllocator);
 
-        Rectangle rectangle = new Rectangle(0, minY, 10, maxY - minY);
+        Rectangle rectangle = new(0, minY, 10, maxY - minY);
 
         int[] expectedData = Enumerable.Repeat(0, minY).Concat(Enumerable.Range(minY, maxY - minY)).ToArray();
         int[] actualData = new int[maxY];
@@ -111,7 +111,7 @@ void RowAction(RowInterval rows)
             }
         }
 
-        TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
+        TestRowIntervalOperation operation = new(RowAction);
 
         ParallelRowIterator.IterateRowIntervals(
             rectangle,
@@ -131,12 +131,12 @@ public void IterateRowsWithTempBuffer_OverMinimumPixelsLimit(
         int expectedLastStepLength,
         int expectedNumberOfSteps)
     {
-        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new(
             maxDegreeOfParallelism,
             1,
             Configuration.Default.MemoryAllocator);
 
-        Rectangle rectangle = new Rectangle(0, minY, 10, maxY - minY);
+        Rectangle rectangle = new(0, minY, 10, maxY - minY);
 
         int actualNumberOfSteps = 0;
 
@@ -152,7 +152,7 @@ void RowAction(RowInterval rows, Span<Vector4> buffer)
             Assert.Equal(expected, step);
         }
 
-        TestRowIntervalOperation<Vector4> operation = new TestRowIntervalOperation<Vector4>(RowAction);
+        TestRowIntervalOperation<Vector4> operation = new(RowAction);
 
         ParallelRowIterator.IterateRowIntervals<TestRowIntervalOperation<Vector4>, Vector4>(
             rectangle,
@@ -172,12 +172,12 @@ public void IterateRowsWithTempBuffer_OverMinimumPixelsLimit_ShouldVisitAllRows(
         int expectedLastStepLength,
         int expectedNumberOfSteps)
     {
-        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new(
             maxDegreeOfParallelism,
             1,
             Configuration.Default.MemoryAllocator);
 
-        Rectangle rectangle = new Rectangle(0, minY, 10, maxY - minY);
+        Rectangle rectangle = new(0, minY, 10, maxY - minY);
 
         int[] expectedData = Enumerable.Repeat(0, minY).Concat(Enumerable.Range(minY, maxY - minY)).ToArray();
         int[] actualData = new int[maxY];
@@ -190,7 +190,7 @@ void RowAction(RowInterval rows, Span<Vector4> buffer)
             }
         }
 
-        TestRowIntervalOperation<Vector4> operation = new TestRowIntervalOperation<Vector4>(RowAction);
+        TestRowIntervalOperation<Vector4> operation = new(RowAction);
 
         ParallelRowIterator.IterateRowIntervals<TestRowIntervalOperation<Vector4>, Vector4>(
             rectangle,
@@ -201,7 +201,7 @@ void RowAction(RowInterval rows, Span<Vector4> buffer)
     }
 
     public static TheoryData<int, int, int, int, int, int, int> IterateRows_WithEffectiveMinimumPixelsLimit_Data =
-        new TheoryData<int, int, int, int, int, int, int>
+        new()
         {
             { 2, 200, 50, 2, 1, -1, 2 },
             { 2, 200, 200, 1, 1, -1, 1 },
@@ -223,12 +223,12 @@ public void IterateRows_WithEffectiveMinimumPixelsLimit(
         int expectedStepLength,
         int expectedLastStepLength)
     {
-        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new(
             maxDegreeOfParallelism,
             minimumPixelsProcessedPerTask,
             Configuration.Default.MemoryAllocator);
 
-        Rectangle rectangle = new Rectangle(0, 0, width, height);
+        Rectangle rectangle = new(0, 0, width, height);
 
         int actualNumberOfSteps = 0;
 
@@ -244,7 +244,7 @@ void RowAction(RowInterval rows)
             Assert.Equal(expected, step);
         }
 
-        TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
+        TestRowIntervalOperation operation = new(RowAction);
 
         ParallelRowIterator.IterateRowIntervals(
             rectangle,
@@ -265,12 +265,12 @@ public void IterateRowsWithTempBuffer_WithEffectiveMinimumPixelsLimit(
         int expectedStepLength,
         int expectedLastStepLength)
     {
-        ParallelExecutionSettings parallelSettings = new ParallelExecutionSettings(
+        ParallelExecutionSettings parallelSettings = new(
             maxDegreeOfParallelism,
             minimumPixelsProcessedPerTask,
             Configuration.Default.MemoryAllocator);
 
-        Rectangle rectangle = new Rectangle(0, 0, width, height);
+        Rectangle rectangle = new(0, 0, width, height);
 
         int actualNumberOfSteps = 0;
 
@@ -286,7 +286,7 @@ void RowAction(RowInterval rows, Span<Vector4> buffer)
             Assert.Equal(expected, step);
         }
 
-        TestRowIntervalOperation<Vector4> operation = new TestRowIntervalOperation<Vector4>(RowAction);
+        TestRowIntervalOperation<Vector4> operation = new(RowAction);
 
         ParallelRowIterator.IterateRowIntervals<TestRowIntervalOperation<Vector4>, Vector4>(
             rectangle,
@@ -297,7 +297,7 @@ void RowAction(RowInterval rows, Span<Vector4> buffer)
     }
 
     public static readonly TheoryData<int, int, int, int, int, int, int> IterateRectangularBuffer_Data =
-        new TheoryData<int, int, int, int, int, int, int>
+        new()
         {
             { 8, 582, 453, 10, 10, 291, 226 }, // boundary data from DetectEdgesTest.DetectEdges_InBox
             { 2, 582, 453, 10, 10, 291, 226 },
@@ -322,13 +322,13 @@ public void IterateRectangularBuffer(
         using (Buffer2D<Point> expected = memoryAllocator.Allocate2D<Point>(bufferWidth, bufferHeight, AllocationOptions.Clean))
         using (Buffer2D<Point> actual = memoryAllocator.Allocate2D<Point>(bufferWidth, bufferHeight, AllocationOptions.Clean))
         {
-            Rectangle rect = new Rectangle(rectX, rectY, rectWidth, rectHeight);
+            Rectangle rect = new(rectX, rectY, rectWidth, rectHeight);
 
             void FillRow(int y, Buffer2D<Point> buffer)
             {
                 for (int x = rect.Left; x < rect.Right; x++)
                 {
-                    buffer[x, y] = new Point(x, y);
+                    buffer[x, y] = new(x, y);
                 }
             }
 
@@ -339,7 +339,7 @@ void FillRow(int y, Buffer2D<Point> buffer)
             }
 
             // Fill actual data using IterateRows:
-            ParallelExecutionSettings settings = new ParallelExecutionSettings(maxDegreeOfParallelism, memoryAllocator);
+            ParallelExecutionSettings settings = new(maxDegreeOfParallelism, memoryAllocator);
 
             void RowAction(RowInterval rows)
             {
@@ -350,7 +350,7 @@ void RowAction(RowInterval rows)
                 }
             }
 
-            TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
+            TestRowIntervalOperation operation = new(RowAction);
 
             ParallelRowIterator.IterateRowIntervals(
                 rect,
@@ -371,13 +371,13 @@ public void IterateRowsRequiresValidRectangle(int width, int height)
     {
         ParallelExecutionSettings parallelSettings = default(ParallelExecutionSettings);
 
-        Rectangle rect = new Rectangle(0, 0, width, height);
+        Rectangle rect = new(0, 0, width, height);
 
         void RowAction(RowInterval rows)
         {
         }
 
-        TestRowIntervalOperation operation = new TestRowIntervalOperation(RowAction);
+        TestRowIntervalOperation operation = new(RowAction);
 
         ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(
             () => ParallelRowIterator.IterateRowIntervals(rect, in parallelSettings, in operation));
@@ -394,13 +394,13 @@ public void IterateRowsWithTempBufferRequiresValidRectangle(int width, int heigh
     {
         ParallelExecutionSettings parallelSettings = default(ParallelExecutionSettings);
 
-        Rectangle rect = new Rectangle(0, 0, width, height);
+        Rectangle rect = new(0, 0, width, height);
 
         void RowAction(RowInterval rows, Span<Rgba32> memory)
         {
         }
 
-        TestRowIntervalOperation<Rgba32> operation = new TestRowIntervalOperation<Rgba32>(RowAction);
+        TestRowIntervalOperation<Rgba32> operation = new(RowAction);
 
         ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(
             () => ParallelRowIterator.IterateRowIntervals<TestRowIntervalOperation<Rgba32>, Rgba32>(rect, in parallelSettings, in operation));
@@ -434,7 +434,7 @@ public TestRowOperation()
         {
         }
 
-        public StrongBox<int> MaxY { get; } = new StrongBox<int>();
+        public StrongBox<int> MaxY { get; } = new();
 
         public void Invoke(int y)
         {
diff --git a/tests/ImageSharp.Tests/Helpers/RowIntervalTests.cs b/tests/ImageSharp.Tests/Helpers/RowIntervalTests.cs
index cc367df308..215cd58bcf 100644
--- a/tests/ImageSharp.Tests/Helpers/RowIntervalTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/RowIntervalTests.cs
@@ -10,7 +10,7 @@ public class RowIntervalTests
     [Fact]
     public void Slice1()
     {
-        RowInterval rowInterval = new RowInterval(10, 20);
+        RowInterval rowInterval = new(10, 20);
         RowInterval sliced = rowInterval.Slice(5);
 
         Assert.Equal(15, sliced.Min);
@@ -20,7 +20,7 @@ public void Slice1()
     [Fact]
     public void Slice2()
     {
-        RowInterval rowInterval = new RowInterval(10, 20);
+        RowInterval rowInterval = new(10, 20);
         RowInterval sliced = rowInterval.Slice(3, 5);
 
         Assert.Equal(13, sliced.Min);
@@ -30,8 +30,8 @@ public void Slice2()
     [Fact]
     public void Equality_WhenTrue()
     {
-        RowInterval a = new RowInterval(42, 123);
-        RowInterval b = new RowInterval(42, 123);
+        RowInterval a = new(42, 123);
+        RowInterval b = new(42, 123);
 
         Assert.True(a.Equals(b));
         Assert.True(a.Equals((object)b));
@@ -42,9 +42,9 @@ public void Equality_WhenTrue()
     [Fact]
     public void Equality_WhenFalse()
     {
-        RowInterval a = new RowInterval(42, 123);
-        RowInterval b = new RowInterval(42, 125);
-        RowInterval c = new RowInterval(40, 123);
+        RowInterval a = new(42, 123);
+        RowInterval b = new(42, 125);
+        RowInterval c = new(40, 123);
 
         Assert.False(a.Equals(b));
         Assert.False(c.Equals(a));
diff --git a/tests/ImageSharp.Tests/Helpers/TolerantMathTests.cs b/tests/ImageSharp.Tests/Helpers/TolerantMathTests.cs
index 64f79840ca..0cacbdc87a 100644
--- a/tests/ImageSharp.Tests/Helpers/TolerantMathTests.cs
+++ b/tests/ImageSharp.Tests/Helpers/TolerantMathTests.cs
@@ -7,7 +7,7 @@ namespace SixLabors.ImageSharp.Tests.Helpers;
 
 public class TolerantMathTests
 {
-    private readonly TolerantMath tolerantMath = new TolerantMath(0.1);
+    private readonly TolerantMath tolerantMath = new(0.1);
 
     [Theory]
     [InlineData(0)]
diff --git a/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs b/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs
index 390170cfef..560d77e212 100644
--- a/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs
+++ b/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs
@@ -269,7 +269,7 @@ public void MemoryStream_CopyTo_Invalid()
     {
         ChunkedMemoryStream memoryStream;
         const string bufferSize = nameof(bufferSize);
-        using (memoryStream = new ChunkedMemoryStream(this.allocator))
+        using (memoryStream = new(this.allocator))
         {
             const string destination = nameof(destination);
             Assert.Throws<ArgumentNullException>(destination, () => memoryStream.CopyTo(destination: null));
@@ -293,7 +293,7 @@ public void MemoryStream_CopyTo_Invalid()
         Assert.Throws<ObjectDisposedException>(() => memoryStream.CopyTo(disposedStream, 1));
 
         // Then for the destination being disposed.
-        memoryStream = new ChunkedMemoryStream(this.allocator);
+        memoryStream = new(this.allocator);
         Assert.Throws<ObjectDisposedException>(() => memoryStream.CopyTo(disposedStream, 1));
         memoryStream.Dispose();
     }
diff --git a/tests/ImageSharp.Tests/Image/ImageCloneTests.cs b/tests/ImageSharp.Tests/Image/ImageCloneTests.cs
index 409fd46b9e..0680c9a823 100644
--- a/tests/ImageSharp.Tests/Image/ImageCloneTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageCloneTests.cs
@@ -10,7 +10,7 @@ public class ImageCloneTests
     [Fact]
     public void CloneAs_WhenDisposed_Throws()
     {
-        Image<Rgba32> image = new Image<Rgba32>(5, 5);
+        Image<Rgba32> image = new(5, 5);
         image.Dispose();
 
         Assert.Throws<ObjectDisposedException>(() => image.CloneAs<Bgra32>());
@@ -19,7 +19,7 @@ public void CloneAs_WhenDisposed_Throws()
     [Fact]
     public void Clone_WhenDisposed_Throws()
     {
-        Image<Rgba32> image = new Image<Rgba32>(5, 5);
+        Image<Rgba32> image = new(5, 5);
         image.Dispose();
 
         Assert.Throws<ObjectDisposedException>(() => image.Clone());
diff --git a/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.cs b/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.cs
index 14c38d1f70..c3ed16dcd2 100644
--- a/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.cs
@@ -14,10 +14,10 @@ public abstract partial class ImageFrameCollectionTests : IDisposable
     public ImageFrameCollectionTests()
     {
         // Needed to get English exception messages, which are checked in several tests.
-        System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
+        System.Threading.Thread.CurrentThread.CurrentUICulture = new("en-US");
 
-        this.Image = new Image<Rgba32>(10, 10);
-        this.Collection = new ImageFrameCollection<Rgba32>(this.Image, 10, 10, default(Rgba32));
+        this.Image = new(10, 10);
+        this.Collection = new(this.Image, 10, 10, default(Rgba32));
     }
 
     public void Dispose()
diff --git a/tests/ImageSharp.Tests/Image/ImageFrameTests.cs b/tests/ImageSharp.Tests/Image/ImageFrameTests.cs
index e1da769d7f..05610d8ca1 100644
--- a/tests/ImageSharp.Tests/Image/ImageFrameTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageFrameTests.cs
@@ -16,7 +16,7 @@ public class Indexer
 
         private void LimitBufferCapacity(int bufferCapacityInBytes)
         {
-            TestMemoryAllocator allocator = new TestMemoryAllocator();
+            TestMemoryAllocator allocator = new();
             allocator.BufferCapacityInBytes = bufferCapacityInBytes;
             this.configuration.MemoryAllocator = allocator;
         }
@@ -31,7 +31,7 @@ public void GetSet(bool enforceDisco)
                 this.LimitBufferCapacity(100);
             }
 
-            using Image<Rgba32> image = new Image<Rgba32>(this.configuration, 10, 10);
+            using Image<Rgba32> image = new(this.configuration, 10, 10);
             ImageFrame<Rgba32> frame = image.Frames.RootFrame;
             Rgba32 val = frame[3, 4];
             Assert.Equal(default(Rgba32), val);
@@ -40,7 +40,7 @@ public void GetSet(bool enforceDisco)
             Assert.Equal(Color.Red.ToPixel<Rgba32>(), val);
         }
 
-        public static TheoryData<bool, int> OutOfRangeData = new TheoryData<bool, int>()
+        public static TheoryData<bool, int> OutOfRangeData = new()
         {
             { false, -1 },
             { false, 10 },
@@ -57,7 +57,7 @@ public void Get_OutOfRangeX(bool enforceDisco, int x)
                 this.LimitBufferCapacity(100);
             }
 
-            using Image<Rgba32> image = new Image<Rgba32>(this.configuration, 10, 10);
+            using Image<Rgba32> image = new(this.configuration, 10, 10);
             ImageFrame<Rgba32> frame = image.Frames.RootFrame;
             ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(() => _ = frame[x, 3]);
             Assert.Equal("x", ex.ParamName);
@@ -72,7 +72,7 @@ public void Set_OutOfRangeX(bool enforceDisco, int x)
                 this.LimitBufferCapacity(100);
             }
 
-            using Image<Rgba32> image = new Image<Rgba32>(this.configuration, 10, 10);
+            using Image<Rgba32> image = new(this.configuration, 10, 10);
             ImageFrame<Rgba32> frame = image.Frames.RootFrame;
             ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(() => frame[x, 3] = default);
             Assert.Equal("x", ex.ParamName);
@@ -87,7 +87,7 @@ public void Set_OutOfRangeY(bool enforceDisco, int y)
                 this.LimitBufferCapacity(100);
             }
 
-            using Image<Rgba32> image = new Image<Rgba32>(this.configuration, 10, 10);
+            using Image<Rgba32> image = new(this.configuration, 10, 10);
             ImageFrame<Rgba32> frame = image.Frames.RootFrame;
             ArgumentOutOfRangeException ex = Assert.Throws<ArgumentOutOfRangeException>(() => frame[3, y] = default);
             Assert.Equal("y", ex.ParamName);
@@ -105,7 +105,7 @@ public void CopyPixelDataTo_Success(bool disco, bool byteSpan)
                 this.LimitBufferCapacity(20);
             }
 
-            using Image<La16> image = new Image<La16>(this.configuration, 10, 10);
+            using Image<La16> image = new(this.configuration, 10, 10);
             if (disco)
             {
                 Assert.True(image.GetPixelMemoryGroup().Count > 1);
@@ -131,7 +131,7 @@ public void CopyPixelDataTo_Success(bool disco, bool byteSpan)
         [InlineData(true)]
         public void CopyPixelDataTo_DestinationTooShort_Throws(bool byteSpan)
         {
-            using Image<La16> image = new Image<La16>(this.configuration, 10, 10);
+            using Image<La16> image = new(this.configuration, 10, 10);
 
             Assert.ThrowsAny<ArgumentOutOfRangeException>(() =>
             {
@@ -173,7 +173,7 @@ protected override void ProcessPixelRowsImpl<TPixel>(
         [Fact]
         public void NullReference_Throws()
         {
-            using Image<Rgb24> img = new Image<Rgb24>(1, 1);
+            using Image<Rgb24> img = new(1, 1);
             ImageFrame<Rgb24> frame = img.Frames.RootFrame;
 
             Assert.Throws<ArgumentNullException>(() => frame.ProcessPixelRows(null));
diff --git a/tests/ImageSharp.Tests/Image/ImageRotationTests.cs b/tests/ImageSharp.Tests/Image/ImageRotationTests.cs
index e7d3b548bc..e9bdd5128b 100644
--- a/tests/ImageSharp.Tests/Image/ImageRotationTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageRotationTests.cs
@@ -12,14 +12,14 @@ public class ImageRotationTests
     public void RotateImageByMinus90Degrees()
     {
         (Size original, Size rotated) = Rotate(-90);
-        Assert.Equal(new Size(original.Height, original.Width), rotated);
+        Assert.Equal(new(original.Height, original.Width), rotated);
     }
 
     [Fact]
     public void RotateImageBy90Degrees()
     {
         (Size original, Size rotated) = Rotate(90);
-        Assert.Equal(new Size(original.Height, original.Width), rotated);
+        Assert.Equal(new(original.Height, original.Width), rotated);
     }
 
     [Fact]
@@ -33,7 +33,7 @@ public void RotateImageBy180Degrees()
     public void RotateImageBy270Degrees()
     {
         (Size original, Size rotated) = Rotate(270);
-        Assert.Equal(new Size(original.Height, original.Width), rotated);
+        Assert.Equal(new(original.Height, original.Width), rotated);
     }
 
     [Fact]
diff --git a/tests/ImageSharp.Tests/Image/ImageSaveTests.cs b/tests/ImageSharp.Tests/Image/ImageSaveTests.cs
index dde4bfddac..c92383ca8e 100644
--- a/tests/ImageSharp.Tests/Image/ImageSaveTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageSaveTests.cs
@@ -23,22 +23,22 @@ public class ImageSaveTests : IDisposable
 
     public ImageSaveTests()
     {
-        this.localImageFormat = new Mock<IImageFormat>();
+        this.localImageFormat = new();
         this.localImageFormat.Setup(x => x.FileExtensions).Returns(new[] { "png" });
         this.localMimeTypeDetector = new MockImageFormatDetector(this.localImageFormat.Object);
 
-        this.encoder = new Mock<IImageEncoder>();
+        this.encoder = new();
 
-        this.encoderNotInFormat = new Mock<IImageEncoder>();
+        this.encoderNotInFormat = new();
 
-        this.fileSystem = new Mock<IFileSystem>();
-        Configuration config = new Configuration
+        this.fileSystem = new();
+        Configuration config = new()
         {
             FileSystem = this.fileSystem.Object
         };
         config.ImageFormatsManager.AddImageFormatDetector(this.localMimeTypeDetector);
         config.ImageFormatsManager.SetEncoder(this.localImageFormat.Object, this.encoder.Object);
-        this.image = new Image<Rgba32>(config, 1, 1);
+        this.image = new(config, 1, 1);
     }
 
     [Fact]
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.EncodeCancellation.cs b/tests/ImageSharp.Tests/Image/ImageTests.EncodeCancellation.cs
index f3b1a01c94..88e2b86ed6 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.EncodeCancellation.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.EncodeCancellation.cs
@@ -15,7 +15,7 @@ public async Task Encode_PreCancellation_Bmp()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsBmpAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsBmpAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -23,7 +23,7 @@ public async Task Encode_PreCancellation_Cur()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsCurAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsCurAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -31,7 +31,7 @@ public async Task Encode_PreCancellation_Gif()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsGifAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsGifAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -41,7 +41,7 @@ public async Task Encode_PreCancellation_Animated_Gif()
             image.Frames.CreateFrame();
 
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsGifAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsGifAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -49,7 +49,7 @@ public async Task Encode_PreCancellation_Ico()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsIcoAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsIcoAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -57,7 +57,7 @@ public async Task Encode_PreCancellation_Jpeg()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsJpegAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsJpegAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -65,7 +65,7 @@ public async Task Encode_PreCancellation_Pbm()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsPbmAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsPbmAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -73,7 +73,7 @@ public async Task Encode_PreCancellation_Png()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsPngAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsPngAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -83,7 +83,7 @@ public async Task Encode_PreCancellation_Animated_Png()
             image.Frames.CreateFrame();
 
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsPngAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsPngAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -91,7 +91,7 @@ public async Task Encode_PreCancellation_Qoi()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsQoiAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsQoiAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -99,7 +99,7 @@ public async Task Encode_PreCancellation_Tga()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsTgaAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsTgaAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -107,7 +107,7 @@ public async Task Encode_PreCancellation_Tiff()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsTiffAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsTiffAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -115,7 +115,7 @@ public async Task Encode_PreCancellation_Webp()
         {
             using Image<Rgba32> image = new(10, 10);
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsWebpAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsWebpAsync(Stream.Null, new(canceled: true)));
         }
 
         [Fact]
@@ -125,7 +125,7 @@ public async Task Encode_PreCancellation_Animated_Webp()
             image.Frames.CreateFrame();
 
             await Assert.ThrowsAsync<TaskCanceledException>(
-                async () => await image.SaveAsWebpAsync(Stream.Null, new CancellationToken(canceled: true)));
+                async () => await image.SaveAsWebpAsync(Stream.Null, new(canceled: true)));
         }
     }
 }
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs b/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs
index 51e2a01a28..ae48fde397 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs
@@ -35,7 +35,7 @@ public abstract class ImageLoadTestBase : IDisposable
 
         public Configuration LocalConfiguration { get; }
 
-        public TestFormat TestFormat { get; } = new TestFormat();
+        public TestFormat TestFormat { get; } = new();
 
         /// <summary>
         /// Gets the top-level configuration in the context of this test case.
@@ -56,13 +56,13 @@ public abstract class ImageLoadTestBase : IDisposable
         protected ImageLoadTestBase()
         {
             // TODO: Remove all this mocking. It's too complicated and we can now use fakes.
-            this.localStreamReturnImageRgba32 = new Image<Rgba32>(1, 1);
-            this.localStreamReturnImageAgnostic = new Image<Bgra4444>(1, 1);
-            this.LocalImageInfo = new(new(1, 1), new ImageMetadata() { DecodedImageFormat = PngFormat.Instance });
+            this.localStreamReturnImageRgba32 = new(1, 1);
+            this.localStreamReturnImageAgnostic = new(1, 1);
+            this.LocalImageInfo = new(new(1, 1), new() { DecodedImageFormat = PngFormat.Instance });
 
-            this.localImageFormatMock = new Mock<IImageFormat>();
+            this.localImageFormatMock = new();
 
-            this.localDecoder = new Mock<IImageDecoder>();
+            this.localDecoder = new();
             this.localDecoder.Setup(x => x.Identify(It.IsAny<DecoderOptions>(), It.IsAny<Stream>()))
                 .Returns(this.LocalImageInfo);
 
@@ -111,15 +111,15 @@ protected ImageLoadTestBase()
 
             this.localMimeTypeDetector = new MockImageFormatDetector(this.localImageFormatMock.Object);
 
-            this.LocalConfiguration = new Configuration();
+            this.LocalConfiguration = new();
             this.LocalConfiguration.ImageFormatsManager.AddImageFormatDetector(this.localMimeTypeDetector);
             this.LocalConfiguration.ImageFormatsManager.SetDecoder(this.localImageFormatMock.Object, this.localDecoder.Object);
 
-            this.TopLevelConfiguration = new Configuration(this.TestFormat);
+            this.TopLevelConfiguration = new(this.TestFormat);
 
             this.Marker = Guid.NewGuid().ToByteArray();
 
-            this.dataStreamLazy = new Lazy<Stream>(this.CreateStream);
+            this.dataStreamLazy = new(this.CreateStream);
             Stream StreamFactory() => this.DataStream;
 
             this.LocalFileSystemMock.Setup(x => x.OpenRead(this.MockFilePath)).Returns(StreamFactory);
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Load_FileSystemPath_UseDefaultConfiguration.cs b/tests/ImageSharp.Tests/Image/ImageTests.Load_FileSystemPath_UseDefaultConfiguration.cs
index 3e488be9a3..8c110d143a 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.Load_FileSystemPath_UseDefaultConfiguration.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.Load_FileSystemPath_UseDefaultConfiguration.cs
@@ -12,7 +12,7 @@ public class Load_FileSystemPath_UseDefaultConfiguration
     {
         private string Path { get; } = TestFile.GetInputFileFullPath(TestImages.Bmp.Bit8);
 
-        private static void VerifyDecodedImage(Image img) => Assert.Equal(new Size(127, 64), img.Size);
+        private static void VerifyDecodedImage(Image img) => Assert.Equal(new(127, 64), img.Size);
 
         [Fact]
         public void Path_Specific()
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Load_FromBytes_UseGlobalConfiguration.cs b/tests/ImageSharp.Tests/Image/ImageTests.Load_FromBytes_UseGlobalConfiguration.cs
index 00ec985ac2..80a407a35c 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.Load_FromBytes_UseGlobalConfiguration.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.Load_FromBytes_UseGlobalConfiguration.cs
@@ -14,7 +14,7 @@ public class Load_FromBytes_UseGlobalConfiguration
 
         private static Span<byte> ByteSpan => new(ByteArray);
 
-        private static void VerifyDecodedImage(Image img) => Assert.Equal(new Size(127, 64), img.Size);
+        private static void VerifyDecodedImage(Image img) => Assert.Equal(new(127, 64), img.Size);
 
         [Fact]
         public void Bytes_Specific()
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_ThrowsRightException.cs b/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_ThrowsRightException.cs
index 9b9f968bb4..a031578221 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_ThrowsRightException.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_ThrowsRightException.cs
@@ -12,7 +12,7 @@ public class Load_FromStream_Throws : IDisposable
     {
         private static readonly byte[] Data = new byte[] { 0x01 };
 
-        private MemoryStream Stream { get; } = new MemoryStream(Data);
+        private MemoryStream Stream { get; } = new(Data);
 
         [Fact]
         public void Image_Load_Throws_UnknownImageFormatException()
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_UseDefaultConfiguration.cs b/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_UseDefaultConfiguration.cs
index 7a5bd186b7..c16a50b437 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_UseDefaultConfiguration.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_UseDefaultConfiguration.cs
@@ -21,12 +21,12 @@ public class Load_FromStream_UseDefaultConfiguration : IDisposable
 
         public Load_FromStream_UseDefaultConfiguration()
         {
-            this.BaseStream = new MemoryStream(Data);
-            this.Stream = new AsyncStreamWrapper(this.BaseStream, () => this.AllowSynchronousIO);
+            this.BaseStream = new(Data);
+            this.Stream = new(this.BaseStream, () => this.AllowSynchronousIO);
         }
 
         private static void VerifyDecodedImage(Image img)
-            => Assert.Equal(new Size(127, 64), img.Size);
+            => Assert.Equal(new(127, 64), img.Size);
 
         [Fact]
         public void Stream_Specific()
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.WrapMemory.cs b/tests/ImageSharp.Tests/Image/ImageTests.WrapMemory.cs
index 81a62bb837..d38ed749a3 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.WrapMemory.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.WrapMemory.cs
@@ -39,7 +39,7 @@ public BitmapMemoryManager(Bitmap bitmap)
                 }
 
                 this.bitmap = bitmap;
-                System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height);
+                System.Drawing.Rectangle rectangle = new(0, 0, bitmap.Width, bitmap.Height);
                 this.bmpData = bitmap.LockBits(rectangle, ImageLockMode.ReadWrite, bitmap.PixelFormat);
                 this.length = bitmap.Width * bitmap.Height;
             }
@@ -64,13 +64,13 @@ protected override void Dispose(bool disposing)
             public override unsafe Span<Bgra32> GetSpan()
             {
                 void* ptr = (void*)this.bmpData.Scan0;
-                return new Span<Bgra32>(ptr, this.length);
+                return new(ptr, this.length);
             }
 
             public override unsafe MemoryHandle Pin(int elementIndex = 0)
             {
                 void* ptr = (void*)this.bmpData.Scan0;
-                return new MemoryHandle(ptr, pinnable: this);
+                return new(ptr, pinnable: this);
             }
 
             public override void Unpin()
@@ -125,10 +125,10 @@ public override void Unpin()
         public void WrapMemory_CreatedImageIsCorrect()
         {
             Configuration cfg = Configuration.CreateDefaultInstance();
-            ImageMetadata metaData = new ImageMetadata();
+            ImageMetadata metaData = new();
 
             Rgba32[] array = new Rgba32[25];
-            Memory<Rgba32> memory = new Memory<Rgba32>(array);
+            Memory<Rgba32> memory = new(array);
 
             using (Image<Rgba32> image = Image.WrapMemory(cfg, memory, 5, 5, metaData))
             {
@@ -149,9 +149,9 @@ public void WrapSystemDrawingBitmap_WhenObserved()
                 return;
             }
 
-            using (Bitmap bmp = new Bitmap(51, 23))
+            using (Bitmap bmp = new(51, 23))
             {
-                using (BitmapMemoryManager memoryManager = new BitmapMemoryManager(bmp))
+                using (BitmapMemoryManager memoryManager = new(bmp))
                 {
                     Memory<Bgra32> memory = memoryManager.Memory;
                     Bgra32 bg = Color.Red.ToPixel<Bgra32>();
@@ -195,9 +195,9 @@ public void WrapSystemDrawingBitmap_WhenOwned()
                 return;
             }
 
-            using (Bitmap bmp = new Bitmap(51, 23))
+            using (Bitmap bmp = new(51, 23))
             {
-                BitmapMemoryManager memoryManager = new BitmapMemoryManager(bmp);
+                BitmapMemoryManager memoryManager = new(bmp);
                 Bgra32 bg = Color.Red.ToPixel<Bgra32>();
                 Bgra32 fg = Color.Green.ToPixel<Bgra32>();
 
@@ -228,10 +228,10 @@ public void WrapSystemDrawingBitmap_WhenOwned()
         public void WrapMemory_FromBytes_CreatedImageIsCorrect()
         {
             Configuration cfg = Configuration.CreateDefaultInstance();
-            ImageMetadata metaData = new ImageMetadata();
+            ImageMetadata metaData = new();
 
             byte[] array = new byte[25 * Unsafe.SizeOf<Rgba32>()];
-            Memory<byte> memory = new Memory<byte>(array);
+            Memory<byte> memory = new(array);
 
             using (Image<Rgba32> image = Image.WrapMemory<Rgba32>(cfg, memory, 5, 5, metaData))
             {
@@ -252,9 +252,9 @@ public void WrapSystemDrawingBitmap_FromBytes_WhenObserved()
                 return;
             }
 
-            using (Bitmap bmp = new Bitmap(51, 23))
+            using (Bitmap bmp = new(51, 23))
             {
-                using (BitmapMemoryManager memoryManager = new BitmapMemoryManager(bmp))
+                using (BitmapMemoryManager memoryManager = new(bmp))
                 {
                     Memory<Bgra32> pixelMemory = memoryManager.Memory;
                     Memory<byte> byteMemory = new CastMemoryManager<Bgra32, byte>(pixelMemory).Memory;
@@ -301,7 +301,7 @@ public void WrapSystemDrawingBitmap_FromBytes_WhenObserved()
         public unsafe void WrapMemory_Throws_OnTooLessWrongSize(int size, int width, int height)
         {
             Configuration cfg = Configuration.CreateDefaultInstance();
-            ImageMetadata metaData = new ImageMetadata();
+            ImageMetadata metaData = new();
 
             Rgba32[] array = new Rgba32[size];
             Exception thrownException = null;
@@ -329,7 +329,7 @@ public unsafe void WrapMemory_Throws_OnTooLessWrongSize(int size, int width, int
         public unsafe void WrapMemory_FromPointer_CreatedImageIsCorrect(int size, int width, int height)
         {
             Configuration cfg = Configuration.CreateDefaultInstance();
-            ImageMetadata metaData = new ImageMetadata();
+            ImageMetadata metaData = new();
 
             Rgba32[] array = new Rgba32[size];
 
@@ -359,9 +359,9 @@ public unsafe void WrapSystemDrawingBitmap_FromPointer()
                 return;
             }
 
-            using (Bitmap bmp = new Bitmap(51, 23))
+            using (Bitmap bmp = new(51, 23))
             {
-                using (BitmapMemoryManager memoryManager = new BitmapMemoryManager(bmp))
+                using (BitmapMemoryManager memoryManager = new(bmp))
                 {
                     Memory<Bgra32> pixelMemory = memoryManager.Memory;
                     Bgra32 bg = Color.Red.ToPixel<Bgra32>();
@@ -408,7 +408,7 @@ public unsafe void WrapSystemDrawingBitmap_FromPointer()
         public void WrapMemory_MemoryOfT_InvalidSize(int size, int height, int width)
         {
             Rgba32[] array = new Rgba32[size];
-            Memory<Rgba32> memory = new Memory<Rgba32>(array);
+            Memory<Rgba32> memory = new(array);
 
             Assert.Throws<ArgumentException>(() => Image.WrapMemory(memory, height, width));
         }
@@ -422,7 +422,7 @@ public void WrapMemory_MemoryOfT_InvalidSize(int size, int height, int width)
         public void WrapMemory_MemoryOfT_ValidSize(int size, int height, int width)
         {
             Rgba32[] array = new Rgba32[size];
-            Memory<Rgba32> memory = new Memory<Rgba32>(array);
+            Memory<Rgba32> memory = new(array);
 
             Image.WrapMemory(memory, height, width);
         }
@@ -444,7 +444,7 @@ private class TestMemoryOwner<T> : IMemoryOwner<T>
         public void WrapMemory_IMemoryOwnerOfT_InvalidSize(int size, int height, int width)
         {
             Rgba32[] array = new Rgba32[size];
-            TestMemoryOwner<Rgba32> memory = new TestMemoryOwner<Rgba32> { Memory = array };
+            TestMemoryOwner<Rgba32> memory = new() { Memory = array };
 
             Assert.Throws<ArgumentException>(() => Image.WrapMemory(memory, height, width));
         }
@@ -458,7 +458,7 @@ public void WrapMemory_IMemoryOwnerOfT_InvalidSize(int size, int height, int wid
         public void WrapMemory_IMemoryOwnerOfT_ValidSize(int size, int height, int width)
         {
             Rgba32[] array = new Rgba32[size];
-            TestMemoryOwner<Rgba32> memory = new TestMemoryOwner<Rgba32> { Memory = array };
+            TestMemoryOwner<Rgba32> memory = new() { Memory = array };
 
             using (Image<Rgba32> img = Image.WrapMemory<Rgba32>(memory, width, height))
             {
@@ -491,7 +491,7 @@ public void WrapMemory_IMemoryOwnerOfT_ValidSize(int size, int height, int width
         public void WrapMemory_IMemoryOwnerOfByte_InvalidSize(int size, int height, int width)
         {
             byte[] array = new byte[size * Unsafe.SizeOf<Rgba32>()];
-            TestMemoryOwner<byte> memory = new TestMemoryOwner<byte> { Memory = array };
+            TestMemoryOwner<byte> memory = new() { Memory = array };
 
             Assert.Throws<ArgumentException>(() => Image.WrapMemory<Rgba32>(memory, height, width));
         }
@@ -506,7 +506,7 @@ public void WrapMemory_IMemoryOwnerOfByte_ValidSize(int size, int height, int wi
         {
             int pixelSize = Unsafe.SizeOf<Rgba32>();
             byte[] array = new byte[size * pixelSize];
-            TestMemoryOwner<byte> memory = new TestMemoryOwner<byte> { Memory = array };
+            TestMemoryOwner<byte> memory = new() { Memory = array };
 
             using (Image<Rgba32> img = Image.WrapMemory<Rgba32>(memory, width, height))
             {
@@ -539,7 +539,7 @@ public void WrapMemory_IMemoryOwnerOfByte_ValidSize(int size, int height, int wi
         public void WrapMemory_MemoryOfByte_InvalidSize(int size, int height, int width)
         {
             byte[] array = new byte[size * Unsafe.SizeOf<Rgba32>()];
-            Memory<byte> memory = new Memory<byte>(array);
+            Memory<byte> memory = new(array);
 
             Assert.Throws<ArgumentException>(() => Image.WrapMemory<Rgba32>(memory, height, width));
         }
@@ -553,7 +553,7 @@ public void WrapMemory_MemoryOfByte_InvalidSize(int size, int height, int width)
         public void WrapMemory_MemoryOfByte_ValidSize(int size, int height, int width)
         {
             byte[] array = new byte[size * Unsafe.SizeOf<Rgba32>()];
-            Memory<byte> memory = new Memory<byte>(array);
+            Memory<byte> memory = new(array);
 
             Image.WrapMemory<Rgba32>(memory, height, width);
         }
diff --git a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
index ffb89923ab..8d1b54658f 100644
--- a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
+++ b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
@@ -31,7 +31,7 @@ static void RunTest()
             Configuration configuration = Configuration.Default.Clone();
             configuration.PreferContiguousImageBuffers = true;
 
-            using Image<Rgba32> image = new Image<Rgba32>(configuration, 2048, 2048);
+            using Image<Rgba32> image = new(configuration, 2048, 2048);
             Assert.True(image.DangerousTryGetSinglePixelMemory(out Memory<Rgba32> mem));
             Assert.Equal(2048 * 2048, mem.Length);
         }
diff --git a/tests/ImageSharp.Tests/Image/ProcessPixelRowsTestBase.cs b/tests/ImageSharp.Tests/Image/ProcessPixelRowsTestBase.cs
index 1e50d760b0..1a6d563c88 100644
--- a/tests/ImageSharp.Tests/Image/ProcessPixelRowsTestBase.cs
+++ b/tests/ImageSharp.Tests/Image/ProcessPixelRowsTestBase.cs
@@ -32,7 +32,7 @@ protected abstract void ProcessPixelRowsImpl<TPixel>(
     [Fact]
     public void PixelAccessorDimensionsAreCorrect()
     {
-        using Image<Rgb24> image = new Image<Rgb24>(123, 456);
+        using Image<Rgb24> image = new(123, 456);
         this.ProcessPixelRowsImpl(image, accessor =>
         {
             Assert.Equal(123, accessor.Width);
@@ -43,7 +43,7 @@ public void PixelAccessorDimensionsAreCorrect()
     [Fact]
     public void WriteImagePixels_SingleImage()
     {
-        using Image<L16> image = new Image<L16>(256, 256);
+        using Image<L16> image = new(256, 256);
         this.ProcessPixelRowsImpl(image, accessor =>
         {
             for (int y = 0; y < accessor.Height; y++)
@@ -51,7 +51,7 @@ public void WriteImagePixels_SingleImage()
                 Span<L16> row = accessor.GetRowSpan(y);
                 for (int x = 0; x < row.Length; x++)
                 {
-                    row[x] = new L16((ushort)(x * y));
+                    row[x] = new((ushort)(x * y));
                 }
             }
         });
@@ -71,18 +71,18 @@ public void WriteImagePixels_SingleImage()
     [Fact]
     public void WriteImagePixels_MultiImage2()
     {
-        using Image<L16> img1 = new Image<L16>(256, 256);
+        using Image<L16> img1 = new(256, 256);
         Buffer2D<L16> buffer = img1.Frames.RootFrame.PixelBuffer;
         for (int y = 0; y < 256; y++)
         {
             Span<L16> row = buffer.DangerousGetRowSpan(y);
             for (int x = 0; x < 256; x++)
             {
-                row[x] = new L16((ushort)(x * y));
+                row[x] = new((ushort)(x * y));
             }
         }
 
-        using Image<L16> img2 = new Image<L16>(256, 256);
+        using Image<L16> img2 = new(256, 256);
 
         this.ProcessPixelRowsImpl(img1, img2, (accessor1, accessor2) =>
         {
@@ -109,19 +109,19 @@ public void WriteImagePixels_MultiImage2()
     [Fact]
     public void WriteImagePixels_MultiImage3()
     {
-        using Image<L16> img1 = new Image<L16>(256, 256);
+        using Image<L16> img1 = new(256, 256);
         Buffer2D<L16> buffer2 = img1.Frames.RootFrame.PixelBuffer;
         for (int y = 0; y < 256; y++)
         {
             Span<L16> row = buffer2.DangerousGetRowSpan(y);
             for (int x = 0; x < 256; x++)
             {
-                row[x] = new L16((ushort)(x * y));
+                row[x] = new((ushort)(x * y));
             }
         }
 
-        using Image<L16> img2 = new Image<L16>(256, 256);
-        using Image<L16> img3 = new Image<L16>(256, 256);
+        using Image<L16> img2 = new(256, 256);
+        using Image<L16> img3 = new(256, 256);
 
         this.ProcessPixelRowsImpl(img1, img2, img3, (accessor1, accessor2, accessor3) =>
         {
@@ -154,8 +154,8 @@ public void WriteImagePixels_MultiImage3()
     [Fact]
     public void Disposed_ThrowsObjectDisposedException()
     {
-        using Image<L16> nonDisposed = new Image<L16>(1, 1);
-        Image<L16> disposed = new Image<L16>(1, 1);
+        using Image<L16> nonDisposed = new(1, 1);
+        Image<L16> disposed = new(1, 1);
         disposed.Dispose();
 
         Assert.Throws<ObjectDisposedException>(() => this.ProcessPixelRowsImpl(disposed, _ => { }));
@@ -179,10 +179,10 @@ static void RunTest(string testTypeName, string throwExceptionStr)
         {
             bool throwExceptionInner = bool.Parse(throwExceptionStr);
             UnmanagedBuffer<L8> buffer = UnmanagedBuffer<L8>.Allocate(100);
-            MockUnmanagedMemoryAllocator<L8> allocator = new MockUnmanagedMemoryAllocator<L8>(buffer);
+            MockUnmanagedMemoryAllocator<L8> allocator = new(buffer);
             Configuration.Default.MemoryAllocator = allocator;
 
-            Image<L8> image = new Image<L8>(10, 10);
+            Image<L8> image = new(10, 10);
 
             Assert.Equal(1, UnmanagedMemoryHandle.TotalOutstandingHandles);
             try
@@ -217,11 +217,11 @@ static void RunTest(string testTypeName, string throwExceptionStr)
             bool throwExceptionInner = bool.Parse(throwExceptionStr);
             UnmanagedBuffer<L8> buffer1 = UnmanagedBuffer<L8>.Allocate(100);
             UnmanagedBuffer<L8> buffer2 = UnmanagedBuffer<L8>.Allocate(100);
-            MockUnmanagedMemoryAllocator<L8> allocator = new MockUnmanagedMemoryAllocator<L8>(buffer1, buffer2);
+            MockUnmanagedMemoryAllocator<L8> allocator = new(buffer1, buffer2);
             Configuration.Default.MemoryAllocator = allocator;
 
-            Image<L8> image1 = new Image<L8>(10, 10);
-            Image<L8> image2 = new Image<L8>(10, 10);
+            Image<L8> image1 = new(10, 10);
+            Image<L8> image2 = new(10, 10);
 
             Assert.Equal(2, UnmanagedMemoryHandle.TotalOutstandingHandles);
             try
@@ -258,12 +258,12 @@ static void RunTest(string testTypeName, string throwExceptionStr)
             UnmanagedBuffer<L8> buffer1 = UnmanagedBuffer<L8>.Allocate(100);
             UnmanagedBuffer<L8> buffer2 = UnmanagedBuffer<L8>.Allocate(100);
             UnmanagedBuffer<L8> buffer3 = UnmanagedBuffer<L8>.Allocate(100);
-            MockUnmanagedMemoryAllocator<L8> allocator = new MockUnmanagedMemoryAllocator<L8>(buffer1, buffer2, buffer3);
+            MockUnmanagedMemoryAllocator<L8> allocator = new(buffer1, buffer2, buffer3);
             Configuration.Default.MemoryAllocator = allocator;
 
-            Image<L8> image1 = new Image<L8>(10, 10);
-            Image<L8> image2 = new Image<L8>(10, 10);
-            Image<L8> image3 = new Image<L8>(10, 10);
+            Image<L8> image1 = new(10, 10);
+            Image<L8> image2 = new(10, 10);
+            Image<L8> image3 = new(10, 10);
 
             Assert.Equal(3, UnmanagedMemoryHandle.TotalOutstandingHandles);
             try
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs b/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
index 6b9907ef5f..c4cef5d93e 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/BufferTestSuite.cs
@@ -58,7 +58,7 @@ public override int GetHashCode()
         }
     }
 
-    public static readonly TheoryData<int> LengthValues = new TheoryData<int> { 0, 1, 7, 1023, 1024 };
+    public static readonly TheoryData<int> LengthValues = new() { 0, 1, 7, 1023, 1024 };
 
     [Theory]
     [MemberData(nameof(LengthValues))]
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs
index ac03863fd6..8eb364828e 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs
@@ -14,7 +14,7 @@ public class RefCountedLifetimeGuardTests
     [InlineData(3)]
     public void Dispose_ResultsInSingleRelease(int disposeCount)
     {
-        MockLifetimeGuard guard = new MockLifetimeGuard();
+        MockLifetimeGuard guard = new();
         Assert.Equal(0, guard.ReleaseInvocationCount);
 
         for (int i = 0; i < disposeCount; i++)
@@ -45,7 +45,7 @@ static void RunTest()
     [InlineData(3)]
     public void AddRef_PreventsReleaseOnDispose(int addRefCount)
     {
-        MockLifetimeGuard guard = new MockLifetimeGuard();
+        MockLifetimeGuard guard = new();
 
         for (int i = 0; i < addRefCount; i++)
         {
@@ -80,7 +80,7 @@ static void RunTest()
     [Fact]
     public void AddRefReleaseRefMisuse_DoesntLeadToMultipleReleases()
     {
-        MockLifetimeGuard guard = new MockLifetimeGuard();
+        MockLifetimeGuard guard = new();
         guard.Dispose();
         guard.AddRef();
         guard.ReleaseRef();
@@ -92,7 +92,7 @@ public void AddRefReleaseRefMisuse_DoesntLeadToMultipleReleases()
     public void UnmanagedBufferLifetimeGuard_Handle_IsReturnedByRef()
     {
         UnmanagedMemoryHandle h = UnmanagedMemoryHandle.Allocate(10);
-        using UnmanagedBufferLifetimeGuard.FreeHandle guard = new UnmanagedBufferLifetimeGuard.FreeHandle(h);
+        using UnmanagedBufferLifetimeGuard.FreeHandle guard = new(h);
         Assert.True(guard.Handle.IsValid);
         guard.Handle.Free();
         Assert.False(guard.Handle.IsValid);
@@ -101,7 +101,7 @@ public void UnmanagedBufferLifetimeGuard_Handle_IsReturnedByRef()
     [MethodImpl(MethodImplOptions.NoInlining)]
     private static void LeakGuard(bool addRef)
     {
-        MockLifetimeGuard guard = new MockLifetimeGuard();
+        MockLifetimeGuard guard = new();
         if (addRef)
         {
             guard.AddRef();
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/SharedArrayPoolBufferTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/SharedArrayPoolBufferTests.cs
index 51552be7d3..72b90c2387 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/SharedArrayPoolBufferTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/SharedArrayPoolBufferTests.cs
@@ -16,7 +16,7 @@ public void AllocatesArrayPoolArray()
 
         static void RunTest()
         {
-            using (SharedArrayPoolBuffer<byte> buffer = new SharedArrayPoolBuffer<byte>(900))
+            using (SharedArrayPoolBuffer<byte> buffer = new(900))
             {
                 Assert.Equal(900, buffer.GetSpan().Length);
                 buffer.GetSpan().Fill(42);
@@ -36,7 +36,7 @@ public void OutstandingReferences_RetainArrays()
 
         static void RunTest()
         {
-            SharedArrayPoolBuffer<byte> buffer = new SharedArrayPoolBuffer<byte>(900);
+            SharedArrayPoolBuffer<byte> buffer = new(900);
             Span<byte> span = buffer.GetSpan();
 
             buffer.AddRef();
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/SimpleGcMemoryAllocatorTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/SimpleGcMemoryAllocatorTests.cs
index 665f34a342..0e791c5d97 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/SimpleGcMemoryAllocatorTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/SimpleGcMemoryAllocatorTests.cs
@@ -17,7 +17,7 @@ public BufferTests()
         }
     }
 
-    protected SimpleGcMemoryAllocator MemoryAllocator { get; } = new SimpleGcMemoryAllocator();
+    protected SimpleGcMemoryAllocator MemoryAllocator { get; } = new();
 
     public static TheoryData<int> InvalidLengths { get; set; } = new()
     {
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs
index c5820c27f3..f518b22725 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs
@@ -24,8 +24,8 @@ public void TrimPeriodElapsed_TrimsHalfOfUnusedArrays()
             RemoteExecutor.Invoke(RunTest).Dispose();
             static void RunTest()
             {
-                UniformUnmanagedMemoryPool.TrimSettings trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 5_000 };
-                UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, 256, trimSettings);
+                UniformUnmanagedMemoryPool.TrimSettings trimSettings = new() { TrimPeriodMilliseconds = 5_000 };
+                UniformUnmanagedMemoryPool pool = new(128, 256, trimSettings);
 
                 UnmanagedMemoryHandle[] a = pool.Rent(64);
                 UnmanagedMemoryHandle[] b = pool.Rent(64);
@@ -77,11 +77,11 @@ public void MultiplePoolInstances_TrimPeriodElapsed_AllAreTrimmed()
 
                 static void RunTest()
                 {
-                    UniformUnmanagedMemoryPool.TrimSettings trimSettings1 = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 6_000 };
-                    UniformUnmanagedMemoryPool pool1 = new UniformUnmanagedMemoryPool(128, 256, trimSettings1);
+                    UniformUnmanagedMemoryPool.TrimSettings trimSettings1 = new() { TrimPeriodMilliseconds = 6_000 };
+                    UniformUnmanagedMemoryPool pool1 = new(128, 256, trimSettings1);
                     Thread.Sleep(8_000); // Let some callbacks fire already
-                    UniformUnmanagedMemoryPool.TrimSettings trimSettings2 = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 3_000 };
-                    UniformUnmanagedMemoryPool pool2 = new UniformUnmanagedMemoryPool(128, 256, trimSettings2);
+                    UniformUnmanagedMemoryPool.TrimSettings trimSettings2 = new() { TrimPeriodMilliseconds = 3_000 };
+                    UniformUnmanagedMemoryPool pool2 = new(128, 256, trimSettings2);
 
                     pool1.Return(pool1.Rent(64));
                     pool2.Return(pool2.Rent(64));
@@ -104,7 +104,7 @@ static void RunTest()
                 [MethodImpl(MethodImplOptions.NoInlining)]
                 static void LeakPoolInstance()
                 {
-                    UniformUnmanagedMemoryPool.TrimSettings trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { TrimPeriodMilliseconds = 4_000 };
+                    UniformUnmanagedMemoryPool.TrimSettings trimSettings = new() { TrimPeriodMilliseconds = 4_000 };
                     _ = new UniformUnmanagedMemoryPool(128, 256, trimSettings);
                 }
             }
@@ -129,13 +129,13 @@ static void RunTest()
                 Assert.False(Environment.Is64BitProcess);
                 const int oneMb = 1 << 20;
 
-                UniformUnmanagedMemoryPool.TrimSettings trimSettings = new UniformUnmanagedMemoryPool.TrimSettings { HighPressureThresholdRate = 0.2f };
+                UniformUnmanagedMemoryPool.TrimSettings trimSettings = new() { HighPressureThresholdRate = 0.2f };
 
                 GCMemoryInfo memInfo = GC.GetGCMemoryInfo();
                 int highLoadThreshold = (int)(memInfo.HighMemoryLoadThresholdBytes / oneMb);
                 highLoadThreshold = (int)(trimSettings.HighPressureThresholdRate * highLoadThreshold);
 
-                UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(oneMb, 16, trimSettings);
+                UniformUnmanagedMemoryPool pool = new(oneMb, 16, trimSettings);
                 pool.Return(pool.Rent(16));
                 Assert.Equal(16, UnmanagedMemoryHandle.TotalOutstandingHandles);
 
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
index c0c7f5c22d..ec79d91c3d 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs
@@ -55,7 +55,7 @@ public void Dispose()
     [InlineData(7, 4)]
     public void Constructor_InitializesProperties(int arrayLength, int capacity)
     {
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(arrayLength, capacity);
+        UniformUnmanagedMemoryPool pool = new(arrayLength, capacity);
         Assert.Equal(arrayLength, pool.BufferLength);
         Assert.Equal(capacity, pool.Capacity);
     }
@@ -65,8 +65,8 @@ public void Constructor_InitializesProperties(int arrayLength, int capacity)
     [InlineData(8, 10)]
     public void Rent_SingleBuffer_ReturnsCorrectBuffer(int length, int capacity)
     {
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(length, capacity);
-        using CleanupUtil cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new(length, capacity);
+        using CleanupUtil cleanup = new(pool);
 
         for (int i = 0; i < capacity; i++)
         {
@@ -83,7 +83,7 @@ public void Return_DoesNotDeallocateMemory()
 
         static void RunTest()
         {
-            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(16, 16);
+            UniformUnmanagedMemoryPool pool = new(16, 16);
             UnmanagedMemoryHandle a = pool.Rent();
             UnmanagedMemoryHandle[] b = pool.Rent(2);
 
@@ -105,7 +105,7 @@ private static void CheckBuffer(int length, UniformUnmanagedMemoryPool pool, Unm
         Assert.True(span.SequenceEqual(expected));
     }
 
-    private static unsafe Span<byte> GetSpan(UnmanagedMemoryHandle h, int length) => new Span<byte>(h.Pointer, length);
+    private static unsafe Span<byte> GetSpan(UnmanagedMemoryHandle h, int length) => new(h.Pointer, length);
 
     [Theory]
     [InlineData(1, 1)]
@@ -114,8 +114,8 @@ private static void CheckBuffer(int length, UniformUnmanagedMemoryPool pool, Unm
     [InlineData(5, 10)]
     public void Rent_MultiBuffer_ReturnsCorrectBuffers(int length, int bufferCount)
     {
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(length, 10);
-        using CleanupUtil cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new(length, 10);
+        using CleanupUtil cleanup = new(pool);
         UnmanagedMemoryHandle[] handles = pool.Rent(bufferCount);
         cleanup.Register(handles);
 
@@ -131,8 +131,8 @@ public void Rent_MultiBuffer_ReturnsCorrectBuffers(int length, int bufferCount)
     [Fact]
     public void Rent_MultipleTimesWithoutReturn_ReturnsDifferentHandles()
     {
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, 10);
-        using CleanupUtil cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new(128, 10);
+        using CleanupUtil cleanup = new(pool);
         UnmanagedMemoryHandle[] a = pool.Rent(2);
         cleanup.Register(a);
         UnmanagedMemoryHandle b = pool.Rent();
@@ -149,10 +149,10 @@ public void Rent_MultipleTimesWithoutReturn_ReturnsDifferentHandles()
     [InlineData(12, 4, 12)]
     public void RentReturnRent_SameBuffers(int totalCount, int rentUnit, int capacity)
     {
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, capacity);
-        using CleanupUtil cleanup = new CleanupUtil(pool);
-        HashSet<UnmanagedMemoryHandle> allHandles = new HashSet<UnmanagedMemoryHandle>();
-        List<UnmanagedMemoryHandle[]> handleUnits = new List<UnmanagedMemoryHandle[]>();
+        UniformUnmanagedMemoryPool pool = new(128, capacity);
+        using CleanupUtil cleanup = new(pool);
+        HashSet<UnmanagedMemoryHandle> allHandles = new();
+        List<UnmanagedMemoryHandle[]> handleUnits = new();
 
         UnmanagedMemoryHandle[] handles;
         for (int i = 0; i < totalCount; i += rentUnit)
@@ -197,8 +197,8 @@ public void RentReturnRent_SameBuffers(int totalCount, int rentUnit, int capacit
     [Fact]
     public void Rent_SingleBuffer_OverCapacity_ReturnsInvalidBuffer()
     {
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(7, 1000);
-        using CleanupUtil cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new(7, 1000);
+        using CleanupUtil cleanup = new(pool);
         UnmanagedMemoryHandle[] initial = pool.Rent(1000);
         Assert.NotNull(initial);
         cleanup.Register(initial);
@@ -212,8 +212,8 @@ public void Rent_SingleBuffer_OverCapacity_ReturnsInvalidBuffer()
     [InlineData(4, 7, 10)]
     public void Rent_MultiBuffer_OverCapacity_ReturnsNull(int initialRent, int attempt, int capacity)
     {
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, capacity);
-        using CleanupUtil cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new(128, capacity);
+        using CleanupUtil cleanup = new(pool);
         UnmanagedMemoryHandle[] initial = pool.Rent(initialRent);
         Assert.NotNull(initial);
         cleanup.Register(initial);
@@ -228,8 +228,8 @@ public void Rent_MultiBuffer_OverCapacity_ReturnsNull(int initialRent, int attem
     [InlineData(3, 3, 7)]
     public void Rent_MultiBuff_BelowCapacity_Succeeds(int initialRent, int attempt, int capacity)
     {
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(128, capacity);
-        using CleanupUtil cleanup = new CleanupUtil(pool);
+        UniformUnmanagedMemoryPool pool = new(128, capacity);
+        using CleanupUtil cleanup = new(pool);
         UnmanagedMemoryHandle[] b0 = pool.Rent(initialRent);
         Assert.NotNull(b0);
         cleanup.Register(b0);
@@ -250,8 +250,8 @@ public void RentReturnRelease_SubsequentRentReturnsDifferentHandles(bool multipl
 
         static void RunTest(string multipleInner)
         {
-            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(16, 16);
-            using CleanupUtil cleanup = new CleanupUtil(pool);
+            UniformUnmanagedMemoryPool pool = new(16, 16);
+            using CleanupUtil cleanup = new(pool);
             UnmanagedMemoryHandle b0 = pool.Rent();
             IntPtr h0 = b0.Handle;
             UnmanagedMemoryHandle b1 = pool.Rent();
@@ -290,7 +290,7 @@ public void Release_ShouldFreeRetainedMemory()
 
         static void RunTest()
         {
-            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(16, 16);
+            UniformUnmanagedMemoryPool pool = new(16, 16);
             UnmanagedMemoryHandle a = pool.Rent();
             UnmanagedMemoryHandle[] b = pool.Rent(2);
             pool.Return(a);
@@ -306,13 +306,13 @@ static void RunTest()
     public void RentReturn_IsThreadSafe()
     {
         int count = Environment.ProcessorCount * 200;
-        UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(8, count);
-        using CleanupUtil cleanup = new CleanupUtil(pool);
-        Random rnd = new Random(0);
+        UniformUnmanagedMemoryPool pool = new(8, count);
+        using CleanupUtil cleanup = new(pool);
+        Random rnd = new(0);
 
         Parallel.For(0, Environment.ProcessorCount, (int i) =>
         {
-            List<UnmanagedMemoryHandle> allHandles = new List<UnmanagedMemoryHandle>();
+            List<UnmanagedMemoryHandle> allHandles = new();
             int pauseAt = rnd.Next(100);
             for (int j = 0; j < 100; j++)
             {
@@ -359,7 +359,7 @@ static void RunTest(string withGuardedBuffersInner)
         [MethodImpl(MethodImplOptions.NoInlining)]
         static void LeakPoolInstance(bool withGuardedBuffers)
         {
-            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(16, 128);
+            UniformUnmanagedMemoryPool pool = new(16, 128);
             if (withGuardedBuffers)
             {
                 UnmanagedMemoryHandle h = pool.Rent();
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs
index 27b1951e97..e0f129a653 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs
@@ -44,7 +44,7 @@ public BufferTests2()
     }
 
     public static TheoryData<object, int, int, int, int, long, int, int, int, int> AllocateData =
-        new TheoryData<object, int, int, int, int, long, int, int, int, int>()
+        new()
         {
             { default(S4), 16, 256, 256, 1024, 64, 64, 1, -1, 64 },
             { default(S4), 16, 256, 256, 1024, 256, 256, 1, -1, 256 },
@@ -69,7 +69,7 @@ public void AllocateGroup_BufferSizesAreCorrect<T>(
         int expectedSizeOfLastBuffer)
         where T : struct
     {
-        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(
             sharedArrayPoolThresholdInBytes,
             maxContiguousPoolBufferInBytes,
             maxPoolSizeInBytes,
@@ -86,13 +86,13 @@ public void AllocateGroup_BufferSizesAreCorrect<T>(
     [Fact]
     public void AllocateGroup_MultipleTimes_ExceedPoolLimit()
     {
-        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(
             64,
             128,
             1024,
             1024);
 
-        List<MemoryGroup<S4>> groups = new List<MemoryGroup<S4>>();
+        List<MemoryGroup<S4>> groups = new();
         for (int i = 0; i < 16; i++)
         {
             int lengthInElements = 128 / Unsafe.SizeOf<S4>();
@@ -110,7 +110,7 @@ public void AllocateGroup_MultipleTimes_ExceedPoolLimit()
     [Fact]
     public void AllocateGroup_SizeInBytesOverLongMaxValue_ThrowsInvalidMemoryOperationException()
     {
-        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(null);
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(null);
         Assert.Throws<InvalidMemoryOperationException>(() => allocator.AllocateGroup<byte>(int.MaxValue * (long)int.MaxValue, int.MaxValue));
     }
 
@@ -128,7 +128,7 @@ public void Allocate_IncorrectAmount_ThrowsCorrect_InvalidMemoryOperationExcepti
     [Fact]
     public unsafe void Allocate_MemoryIsPinnableMultipleTimes()
     {
-        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(null);
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(null);
         using IMemoryOwner<byte> memoryOwner = allocator.Allocate<byte>(100);
 
         using (MemoryHandle pin = memoryOwner.Memory.Pin())
@@ -165,7 +165,7 @@ public void MemoryAllocator_Create_LimitPoolSize()
 
         static void RunTest()
         {
-            MemoryAllocator allocator = MemoryAllocator.Create(new MemoryAllocatorOptions()
+            MemoryAllocator allocator = MemoryAllocator.Create(new()
             {
                 MaximumPoolSizeMegabytes = 8
             });
@@ -205,7 +205,7 @@ public void BufferDisposal_ReturnsToPool(bool shared)
 
         static void RunTest(string sharedStr)
         {
-            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(512, 1024, 16 * 1024, 1024);
             IMemoryOwner<byte> buffer0 = allocator.Allocate<byte>(bool.Parse(sharedStr) ? 300 : 600);
             buffer0.GetSpan()[0] = 42;
             buffer0.Dispose();
@@ -223,7 +223,7 @@ public void MemoryGroupDisposal_ReturnsToPool(bool shared)
 
         static void RunTest(string sharedStr)
         {
-            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(512, 1024, 16 * 1024, 1024);
             MemoryGroup<byte> g0 = allocator.AllocateGroup<byte>(bool.Parse(sharedStr) ? 300 : 600, 100);
             g0.Single().Span[0] = 42;
             g0.Dispose();
@@ -238,7 +238,7 @@ public void ReleaseRetainedResources_ShouldFreePooledMemory()
         RemoteExecutor.Invoke(RunTest).Dispose();
         static void RunTest()
         {
-            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(128, 512, 16 * 512, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(128, 512, 16 * 512, 1024);
             MemoryGroup<byte> g = allocator.AllocateGroup<byte>(2048, 128);
             g.Dispose();
             Assert.Equal(4, UnmanagedMemoryHandle.TotalOutstandingHandles);
@@ -253,7 +253,7 @@ public void ReleaseRetainedResources_DoesNotFreeOutstandingBuffers()
         RemoteExecutor.Invoke(RunTest).Dispose();
         static void RunTest()
         {
-            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(128, 512, 16 * 512, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(128, 512, 16 * 512, 1024);
             IMemoryOwner<byte> b = allocator.Allocate<byte>(256);
             MemoryGroup<byte> g = allocator.AllocateGroup<byte>(2048, 128);
             Assert.Equal(5, UnmanagedMemoryHandle.TotalOutstandingHandles);
@@ -297,7 +297,7 @@ public void AllocateMemoryGroup_Finalization_ReturnsToPool(int length)
 
         static void RunTest(string lengthStr)
         {
-            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(512, 1024, 16 * 1024, 1024);
             int lengthInner = int.Parse(lengthStr);
 
             AllocateGroupAndForget(allocator, lengthInner);
@@ -365,7 +365,7 @@ public void AllocateSingleMemoryOwner_Finalization_ReturnsToPool(int length)
 
         static void RunTest(string lengthStr)
         {
-            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(512, 1024, 16 * 1024, 1024);
+            UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(512, 1024, 16 * 1024, 1024);
             int lengthInner = int.Parse(lengthStr);
 
             AllocateSingleAndForget(allocator, lengthInner);
@@ -422,7 +422,7 @@ static void RunTest()
     [Fact]
     public void Allocate_OverLimit_ThrowsInvalidMemoryOperationException()
     {
-        MemoryAllocator allocator = MemoryAllocator.Create(new MemoryAllocatorOptions()
+        MemoryAllocator allocator = MemoryAllocator.Create(new()
         {
             AllocationLimitMegabytes = 4
         });
@@ -434,7 +434,7 @@ public void Allocate_OverLimit_ThrowsInvalidMemoryOperationException()
     [Fact]
     public void AllocateGroup_OverLimit_ThrowsInvalidMemoryOperationException()
     {
-        MemoryAllocator allocator = MemoryAllocator.Create(new MemoryAllocatorOptions()
+        MemoryAllocator allocator = MemoryAllocator.Create(new()
         {
             AllocationLimitMegabytes = 4
         });
@@ -450,7 +450,7 @@ public void MemoryAllocator_Create_SetHighLimit()
         static void RunTest()
         {
             const long threeGB = 3L * (1 << 30);
-            MemoryAllocator allocator = MemoryAllocator.Create(new MemoryAllocatorOptions()
+            MemoryAllocator allocator = MemoryAllocator.Create(new()
             {
                 AllocationLimitMegabytes = (int)(threeGB / 1024)
             });
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedBufferTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedBufferTests.cs
index 1e4795bc86..3b33eae5e9 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedBufferTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedBufferTests.cs
@@ -76,7 +76,7 @@ static void RunTest(string countStr)
 
         static List<UnmanagedBuffer<byte>> FillList(int countInner)
         {
-            List<UnmanagedBuffer<byte>> l = new List<UnmanagedBuffer<byte>>();
+            List<UnmanagedBuffer<byte>> l = new();
             for (int i = 0; i < countInner; i++)
             {
                 UnmanagedBuffer<byte> h = UnmanagedBuffer<byte>.Allocate(42);
diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedMemoryHandleTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedMemoryHandleTests.cs
index ef3af71f45..59b793e012 100644
--- a/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedMemoryHandleTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Allocators/UnmanagedMemoryHandleTests.cs
@@ -47,7 +47,7 @@ public void Create_Free_AllocationsAreTracked(int count)
         static void RunTest(string countStr)
         {
             int countInner = int.Parse(countStr);
-            List<UnmanagedMemoryHandle> l = new List<UnmanagedMemoryHandle>();
+            List<UnmanagedMemoryHandle> l = new();
             for (int i = 0; i < countInner; i++)
             {
                 Assert.Equal(i, UnmanagedMemoryHandle.TotalOutstandingHandles);
diff --git a/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs b/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs
index 6dd6471e2d..578ffc4806 100644
--- a/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs
+++ b/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs
@@ -10,7 +10,7 @@ public partial class Buffer2DTests
 {
     public class SwapOrCopyContent
     {
-        private readonly TestMemoryAllocator memoryAllocator = new TestMemoryAllocator();
+        private readonly TestMemoryAllocator memoryAllocator = new();
 
         [Fact]
         public void SwapOrCopyContent_WhenBothAllocated()
@@ -29,8 +29,8 @@ public void SwapOrCopyContent_WhenBothAllocated()
                 Assert.Equal(bb, a.FastMemoryGroup.Single());
                 Assert.Equal(aa, b.FastMemoryGroup.Single());
 
-                Assert.Equal(new Size(3, 7), a.Size());
-                Assert.Equal(new Size(10, 5), b.Size());
+                Assert.Equal(new(3, 7), a.Size());
+                Assert.Equal(new(10, 5), b.Size());
 
                 Assert.Equal(666, b[1, 3]);
                 Assert.Equal(444, a[1, 3]);
@@ -41,7 +41,7 @@ public void SwapOrCopyContent_WhenBothAllocated()
         public void SwapOrCopyContent_WhenDestinationIsOwned_ShouldNotSwapInDisposedSourceBuffer()
         {
             using MemoryGroup<int> destData = MemoryGroup<int>.Wrap(new int[100]);
-            using Buffer2D<int> dest = new Buffer2D<int>(destData, 10, 10);
+            using Buffer2D<int> dest = new(destData, 10, 10);
 
             using (Buffer2D<int> source = this.memoryAllocator.Allocate2D<int>(10, 10, AllocationOptions.Clean))
             {
@@ -113,10 +113,10 @@ public void WhenBothAreMemoryOwners_ShouldReplaceViews()
         public void WhenDestIsNotAllocated_SameSize_ShouldCopy(bool sourceIsAllocated)
         {
             Rgba32[] data = new Rgba32[21];
-            Rgba32 color = new Rgba32(1, 2, 3, 4);
+            Rgba32 color = new(1, 2, 3, 4);
 
-            using TestMemoryManager<Rgba32> destOwner = new TestMemoryManager<Rgba32>(data);
-            using Buffer2D<Rgba32> dest = new Buffer2D<Rgba32>(MemoryGroup<Rgba32>.Wrap(destOwner.Memory), 21, 1);
+            using TestMemoryManager<Rgba32> destOwner = new(data);
+            using Buffer2D<Rgba32> dest = new(MemoryGroup<Rgba32>.Wrap(destOwner.Memory), 21, 1);
 
             using Buffer2D<Rgba32> source = this.memoryAllocator.Allocate2D<Rgba32>(21, 1);
 
@@ -137,10 +137,10 @@ public void WhenDestIsNotAllocated_SameSize_ShouldCopy(bool sourceIsAllocated)
         public void WhenDestIsNotMemoryOwner_DifferentSize_Throws(bool sourceIsOwner)
         {
             Rgba32[] data = new Rgba32[21];
-            Rgba32 color = new Rgba32(1, 2, 3, 4);
+            Rgba32 color = new(1, 2, 3, 4);
 
-            using TestMemoryManager<Rgba32> destOwner = new TestMemoryManager<Rgba32>(data);
-            using Buffer2D<Rgba32> dest = new Buffer2D<Rgba32>(MemoryGroup<Rgba32>.Wrap(destOwner.Memory), 21, 1);
+            using TestMemoryManager<Rgba32> destOwner = new(data);
+            using Buffer2D<Rgba32> dest = new(MemoryGroup<Rgba32>.Wrap(destOwner.Memory), 21, 1);
 
             using Buffer2D<Rgba32> source = this.memoryAllocator.Allocate2D<Rgba32>(22, 1);
 
diff --git a/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs b/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
index 471ba4660d..688fc755ce 100644
--- a/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
@@ -24,7 +24,7 @@ public static void SpanPointsTo<T>(Span<T> span, Memory<T> buffer, int bufferOff
         }
     }
 
-    private TestMemoryAllocator MemoryAllocator { get; } = new TestMemoryAllocator();
+    private TestMemoryAllocator MemoryAllocator { get; } = new();
 
     private const int Big = 99999;
 
@@ -147,7 +147,7 @@ public unsafe void DangerousGetRowSpan_UnmanagedAllocator(int width, int height)
         const int unpooledBufferSize = 8_000;
 
         int elementSize = sizeof(TestStructs.Foo);
-        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new UniformUnmanagedMemoryPoolMemoryAllocator(
+        UniformUnmanagedMemoryPoolMemoryAllocator allocator = new(
             sharedPoolThreshold * elementSize,
             poolBufferSize * elementSize,
             maxPoolSize * elementSize,
@@ -155,7 +155,7 @@ public unsafe void DangerousGetRowSpan_UnmanagedAllocator(int width, int height)
 
         using Buffer2D<TestStructs.Foo> buffer = allocator.Allocate2D<TestStructs.Foo>(width, height);
 
-        Random rnd = new Random(42);
+        Random rnd = new(42);
 
         for (int y = 0; y < buffer.Height; y++)
         {
@@ -169,7 +169,7 @@ public unsafe void DangerousGetRowSpan_UnmanagedAllocator(int width, int height)
         }
 
         // Re-seed
-        rnd = new Random(42);
+        rnd = new(42);
         for (int y = 0; y < buffer.Height; y++)
         {
             Span<TestStructs.Foo> span = buffer.GetSafeRowMemory(y).Span;
@@ -208,7 +208,7 @@ public void TryGetPaddedRowSpanY(int bufferCapacity, int y, int padding, int exp
         }
     }
 
-    public static TheoryData<int, int, int, int> GetRowSpanY_OutOfRange_Data = new TheoryData<int, int, int, int>()
+    public static TheoryData<int, int, int, int> GetRowSpanY_OutOfRange_Data = new()
     {
         { Big, 10, 8, -1 },
         { Big, 10, 8, 8 },
@@ -227,7 +227,7 @@ public void GetRowSpan_OutOfRange(int bufferCapacity, int width, int height, int
         Assert.True(ex is ArgumentOutOfRangeException || ex is IndexOutOfRangeException);
     }
 
-    public static TheoryData<int, int, int, int, int> Indexer_OutOfRange_Data = new TheoryData<int, int, int, int, int>()
+    public static TheoryData<int, int, int, int, int> Indexer_OutOfRange_Data = new()
     {
         { Big, 10, 8, 1, -1 },
         { Big, 10, 8, 1, 8 },
@@ -284,7 +284,7 @@ public unsafe void Indexer(int bufferCapacity, int width, int height, int x, int
     [InlineData(5, 1, 1, 3, 2)]
     public void CopyColumns(int width, int height, int startIndex, int destIndex, int columnCount)
     {
-        Random rnd = new Random(123);
+        Random rnd = new(123);
         using (Buffer2D<float> b = this.MemoryAllocator.Allocate2D<float>(width, height))
         {
             rnd.RandomFill(b.DangerousGetSingleSpan(), 0, 1);
@@ -306,7 +306,7 @@ public void CopyColumns(int width, int height, int startIndex, int destIndex, in
     [Fact]
     public void CopyColumns_InvokeMultipleTimes()
     {
-        Random rnd = new Random(123);
+        Random rnd = new(123);
         using (Buffer2D<float> b = this.MemoryAllocator.Allocate2D<float>(100, 100))
         {
             rnd.RandomFill(b.DangerousGetSingleSpan(), 0, 1);
diff --git a/tests/ImageSharp.Tests/Memory/BufferAreaTests.cs b/tests/ImageSharp.Tests/Memory/BufferAreaTests.cs
index cb89f6cf64..be7edbacca 100644
--- a/tests/ImageSharp.Tests/Memory/BufferAreaTests.cs
+++ b/tests/ImageSharp.Tests/Memory/BufferAreaTests.cs
@@ -7,14 +7,14 @@ namespace SixLabors.ImageSharp.Tests.Memory;
 
 public class BufferAreaTests
 {
-    private readonly TestMemoryAllocator memoryAllocator = new TestMemoryAllocator();
+    private readonly TestMemoryAllocator memoryAllocator = new();
 
     [Fact]
     public void Construct()
     {
         using Buffer2D<int> buffer = this.memoryAllocator.Allocate2D<int>(10, 20);
-        Rectangle rectangle = new Rectangle(3, 2, 5, 6);
-        Buffer2DRegion<int> area = new Buffer2DRegion<int>(buffer, rectangle);
+        Rectangle rectangle = new(3, 2, 5, 6);
+        Buffer2DRegion<int> area = new(buffer, rectangle);
 
         Assert.Equal(buffer, area.Buffer);
         Assert.Equal(rectangle, area.Rectangle);
@@ -43,7 +43,7 @@ public void Indexer(int bufferCapacity, int rx, int ry, int x, int y)
     {
         this.memoryAllocator.BufferCapacityInBytes = sizeof(int) * bufferCapacity;
         using Buffer2D<int> buffer = this.CreateTestBuffer(20, 30);
-        Rectangle r = new Rectangle(rx, ry, 5, 6);
+        Rectangle r = new(rx, ry, 5, 6);
 
         Buffer2DRegion<int> region = buffer.GetRegion(r);
 
@@ -62,7 +62,7 @@ public void GetRowSpan(int bufferCapacity, int rx, int ry, int y, int w, int h)
         this.memoryAllocator.BufferCapacityInBytes = sizeof(int) * bufferCapacity;
 
         using Buffer2D<int> buffer = this.CreateTestBuffer(20, 30);
-        Rectangle r = new Rectangle(rx, ry, w, h);
+        Rectangle r = new(rx, ry, w, h);
 
         Buffer2DRegion<int> region = buffer.GetRegion(r);
 
@@ -87,7 +87,7 @@ public void GetSubArea()
 
         Buffer2DRegion<int> area1 = area0.GetSubRegion(4, 4, 5, 5);
 
-        Rectangle expectedRect = new Rectangle(10, 12, 5, 5);
+        Rectangle expectedRect = new(10, 12, 5, 5);
 
         Assert.Equal(buffer, area1.Buffer);
         Assert.Equal(expectedRect, area1.Rectangle);
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndex.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndex.cs
index 878084674a..ea98357cbf 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndex.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndex.cs
@@ -27,7 +27,7 @@ public MemoryGroupIndex(int bufferLength, int bufferIndex, int elementIndex)
     public static MemoryGroupIndex operator +(MemoryGroupIndex idx, int val)
     {
         int nextElementIndex = idx.ElementIndex + val;
-        return new MemoryGroupIndex(
+        return new(
             idx.BufferLength,
             idx.BufferIndex + (nextElementIndex / idx.BufferLength),
             nextElementIndex % idx.BufferLength);
@@ -105,14 +105,14 @@ public static void SetElementAt<T>(this IMemoryGroup<T> group, MemoryGroupIndex
     public static MemoryGroupIndex MinIndex<T>(this IMemoryGroup<T> group)
         where T : struct
     {
-        return new MemoryGroupIndex(group.BufferLength, 0, 0);
+        return new(group.BufferLength, 0, 0);
     }
 
     public static MemoryGroupIndex MaxIndex<T>(this IMemoryGroup<T> group)
         where T : struct
     {
         return group.Count == 0
-            ? new MemoryGroupIndex(group.BufferLength, 0, 0)
+            ? new(group.BufferLength, 0, 0)
             : new MemoryGroupIndex(group.BufferLength, group.Count - 1, group[group.Count - 1].Length);
     }
 }
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndexTests.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndexTests.cs
index c8f720ecb0..9c7915e221 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndexTests.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupIndexTests.cs
@@ -8,8 +8,8 @@ public class MemoryGroupIndexTests
     [Fact]
     public void Equal()
     {
-        MemoryGroupIndex a = new MemoryGroupIndex(10, 1, 3);
-        MemoryGroupIndex b = new MemoryGroupIndex(10, 1, 3);
+        MemoryGroupIndex a = new(10, 1, 3);
+        MemoryGroupIndex b = new(10, 1, 3);
 
         Assert.True(a.Equals(b));
         Assert.True(a == b);
@@ -21,8 +21,8 @@ public void Equal()
     [Fact]
     public void SmallerBufferIndex()
     {
-        MemoryGroupIndex a = new MemoryGroupIndex(10, 3, 3);
-        MemoryGroupIndex b = new MemoryGroupIndex(10, 5, 3);
+        MemoryGroupIndex a = new(10, 3, 3);
+        MemoryGroupIndex b = new(10, 5, 3);
 
         Assert.False(a == b);
         Assert.True(a != b);
@@ -33,8 +33,8 @@ public void SmallerBufferIndex()
     [Fact]
     public void SmallerElementIndex()
     {
-        MemoryGroupIndex a = new MemoryGroupIndex(10, 3, 3);
-        MemoryGroupIndex b = new MemoryGroupIndex(10, 3, 9);
+        MemoryGroupIndex a = new(10, 3, 3);
+        MemoryGroupIndex b = new(10, 3, 9);
 
         Assert.False(a == b);
         Assert.True(a != b);
@@ -45,20 +45,20 @@ public void SmallerElementIndex()
     [Fact]
     public void Increment()
     {
-        MemoryGroupIndex a = new MemoryGroupIndex(10, 3, 3);
+        MemoryGroupIndex a = new(10, 3, 3);
         a += 1;
-        Assert.Equal(new MemoryGroupIndex(10, 3, 4), a);
+        Assert.Equal(new(10, 3, 4), a);
     }
 
     [Fact]
     public void Increment_OverflowBuffer()
     {
-        MemoryGroupIndex a = new MemoryGroupIndex(10, 5, 3);
-        MemoryGroupIndex b = new MemoryGroupIndex(10, 5, 9);
+        MemoryGroupIndex a = new(10, 5, 3);
+        MemoryGroupIndex b = new(10, 5, 9);
         a += 8;
         b += 1;
 
-        Assert.Equal(new MemoryGroupIndex(10, 6, 1), a);
-        Assert.Equal(new MemoryGroupIndex(10, 6, 0), b);
+        Assert.Equal(new(10, 6, 1), a);
+        Assert.Equal(new(10, 6, 0), b);
     }
 }
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.Allocate.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.Allocate.cs
index ac242e846d..678a089a85 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.Allocate.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.Allocate.cs
@@ -83,7 +83,7 @@ public void Allocate_FromPool_BufferSizesAreCorrect<T>(
                 return;
             }
 
-            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(bufferCapacity, expectedNumberOfBuffers);
+            UniformUnmanagedMemoryPool pool = new(bufferCapacity, expectedNumberOfBuffers);
 
             // Act:
             Assert.True(MemoryGroup<T>.TryAllocate(pool, totalLength, bufferAlignment, AllocationOptions.None, out MemoryGroup<T> g));
@@ -98,7 +98,7 @@ public void Allocate_FromPool_BufferSizesAreCorrect<T>(
         [InlineData(AllocationOptions.Clean)]
         public unsafe void Allocate_FromPool_AllocationOptionsAreApplied(AllocationOptions options)
         {
-            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(10, 5);
+            UniformUnmanagedMemoryPool pool = new(10, 5);
             UnmanagedMemoryHandle[] buffers = pool.Rent(5);
             foreach (UnmanagedMemoryHandle b in buffers)
             {
@@ -128,7 +128,7 @@ public void Allocate_FromPool_AroundLimit(
             int requestBytes,
             bool shouldSucceed)
         {
-            UniformUnmanagedMemoryPool pool = new UniformUnmanagedMemoryPool(bufferCapacityBytes, poolCapacity);
+            UniformUnmanagedMemoryPool pool = new(bufferCapacityBytes, poolCapacity);
             int alignmentElements = alignmentBytes / Unsafe.SizeOf<S4>();
             int requestElements = requestBytes / Unsafe.SizeOf<S4>();
 
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.cs
index 044c8f584c..fe1867f20c 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTests.cs
@@ -28,7 +28,7 @@ public void IsValid_FalseAfterDisposal()
 
 #pragma warning disable SA1509
     private static readonly TheoryData<int, int, int, int> CopyAndTransformData =
-        new TheoryData<int, int, int, int>()
+        new()
         {
             { 20, 10, 20, 10 },
             { 20, 5, 20, 4 },
@@ -102,8 +102,8 @@ public void Wrap()
         int[] data0 = { 1, 2, 3, 4 };
         int[] data1 = { 5, 6, 7, 8 };
         int[] data2 = { 9, 10 };
-        using TestMemoryManager<int> mgr0 = new TestMemoryManager<int>(data0);
-        using TestMemoryManager<int> mgr1 = new TestMemoryManager<int>(data1);
+        using TestMemoryManager<int> mgr0 = new(data0);
+        using TestMemoryManager<int> mgr1 = new(data1);
 
         using MemoryGroup<int> group = MemoryGroup<int>.Wrap(mgr0.Memory, mgr1.Memory, data2);
 
@@ -124,7 +124,7 @@ public void Wrap()
         }
     }
 
-    public static TheoryData<long, int, long, int> GetBoundedSlice_SuccessData = new TheoryData<long, int, long, int>()
+    public static TheoryData<long, int, long, int> GetBoundedSlice_SuccessData = new()
     {
         { 300, 100, 110, 80 },
         { 300, 100, 100, 100 },
@@ -153,7 +153,7 @@ public void GetBoundedSlice_WhenArgsAreCorrect(long totalLength, int bufferLengt
         }
     }
 
-    public static TheoryData<long, int, long, int> GetBoundedSlice_ErrorData = new TheoryData<long, int, long, int>()
+    public static TheoryData<long, int, long, int> GetBoundedSlice_ErrorData = new()
     {
         { 300, 100, -1, 91 },
         { 300, 100, 110, 91 },
diff --git a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTestsBase.cs b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTestsBase.cs
index 56e2e95fe7..0eaebbfef5 100644
--- a/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTestsBase.cs
+++ b/tests/ImageSharp.Tests/Memory/DiscontiguousBuffers/MemoryGroupTestsBase.cs
@@ -7,7 +7,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.DiscontiguousBuffers;
 
 public abstract class MemoryGroupTestsBase
 {
-    internal readonly TestMemoryAllocator MemoryAllocator = new TestMemoryAllocator();
+    internal readonly TestMemoryAllocator MemoryAllocator = new();
 
     /// <summary>
     /// Create a group, either uninitialized or filled with incrementing numbers starting with 1.
diff --git a/tests/ImageSharp.Tests/Memory/TestStructs.cs b/tests/ImageSharp.Tests/Memory/TestStructs.cs
index bb6a07ec96..0fd823ee50 100644
--- a/tests/ImageSharp.Tests/Memory/TestStructs.cs
+++ b/tests/ImageSharp.Tests/Memory/TestStructs.cs
@@ -22,7 +22,7 @@ internal static Foo[] CreateArray(int size)
             Foo[] result = new Foo[size];
             for (int i = 0; i < size; i++)
             {
-                result[i] = new Foo(i + 1, i + 1);
+                result[i] = new(i + 1, i + 1);
             }
 
             return result;
@@ -73,7 +73,7 @@ internal static AlignedFoo[] CreateArray(int size)
             AlignedFoo[] result = new AlignedFoo[size];
             for (int i = 0; i < size; i++)
             {
-                result[i] = new AlignedFoo(i + 1, i + 1);
+                result[i] = new(i + 1, i + 1);
             }
 
             return result;
diff --git a/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs b/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs
index a19b82e645..395dfd455f 100644
--- a/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs
+++ b/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs
@@ -38,7 +38,7 @@ private static void MemoryDiagnostics_MemoryAllocated()
 
     public static TestMemoryDiagnostics MonitorAllocations()
     {
-        TestMemoryDiagnostics diag = new TestMemoryDiagnostics();
+        TestMemoryDiagnostics diag = new();
         LocalInstance.Value = diag;
         return diag;
     }
diff --git a/tests/ImageSharp.Tests/Metadata/ImageFrameMetadataTests.cs b/tests/ImageSharp.Tests/Metadata/ImageFrameMetadataTests.cs
index cdd6f0cc4f..2a78b74bef 100644
--- a/tests/ImageSharp.Tests/Metadata/ImageFrameMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/ImageFrameMetadataTests.cs
@@ -48,7 +48,7 @@ public void CloneIsDeep()
         XmpProfile xmpProfile = new(Array.Empty<byte>());
         IccProfile iccProfile = new()
         {
-            Header = new IccProfileHeader()
+            Header = new()
             {
                 CmmType = "Unittest"
             }
diff --git a/tests/ImageSharp.Tests/Metadata/ImageMetadataTests.cs b/tests/ImageSharp.Tests/Metadata/ImageMetadataTests.cs
index ae02c3d57b..78290db639 100644
--- a/tests/ImageSharp.Tests/Metadata/ImageMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/ImageMetadataTests.cs
@@ -36,7 +36,7 @@ public void CloneIsDeep()
     {
         ImageMetadata metaData = new()
         {
-            ExifProfile = new ExifProfile(),
+            ExifProfile = new(),
             HorizontalResolution = 4,
             VerticalResolution = 2
         };
@@ -86,8 +86,8 @@ public void VerticalResolution()
     public void SyncProfiles()
     {
         ExifProfile exifProfile = new();
-        exifProfile.SetValue(ExifTag.XResolution, new Rational(200));
-        exifProfile.SetValue(ExifTag.YResolution, new Rational(300));
+        exifProfile.SetValue(ExifTag.XResolution, new(200));
+        exifProfile.SetValue(ExifTag.YResolution, new(300));
 
         using Image<Rgba32> image = new(1, 1);
         image.Metadata.ExifProfile = exifProfile;
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/CICP/CicpProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/CICP/CicpProfileTests.cs
index ab4d8a0d14..ff8b034c56 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/CICP/CicpProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/CICP/CicpProfileTests.cs
@@ -25,10 +25,10 @@ public async Task ReadCicpMetadata_FromPng_Works<TPixel>(TestImageProvider<TPixe
     public void WritingPng_PreservesCicpProfile()
     {
         // arrange
-        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new(1, 1);
         CicpProfile original = CreateCicpProfile();
         image.Metadata.CicpProfile = original;
-        PngEncoder encoder = new PngEncoder();
+        PngEncoder encoder = new();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -49,7 +49,7 @@ private static void CicpProfileContainsExpectedValues(CicpProfile cicp)
 
     private static CicpProfile CreateCicpProfile()
     {
-        CicpProfile profile = new CicpProfile()
+        CicpProfile profile = new()
         {
             ColorPrimaries = CicpColorPrimaries.ItuRBt2020_2,
             TransferCharacteristics = CicpTransferCharacteristics.SmpteSt2084,
@@ -70,7 +70,7 @@ private static void CicpProfileIsValidAndEqual(CicpProfile actual, CicpProfile o
 
     private static Image<Rgba32> WriteAndRead(Image<Rgba32> image, IImageEncoder encoder)
     {
-        using (MemoryStream memStream = new MemoryStream())
+        using (MemoryStream memStream = new())
         {
             image.Save(memStream, encoder);
             image.Dispose();
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
index c6d2cce01f..1f8b80b406 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
@@ -63,7 +63,7 @@ public void Constructor(TestImageWriteFormat imageFormat)
         Assert.Null(image.Metadata.ExifProfile);
 
         const string expected = "Dirk Lemstra";
-        image.Metadata.ExifProfile = new ExifProfile();
+        image.Metadata.ExifProfile = new();
         image.Metadata.ExifProfile.SetValue(ExifTag.Copyright, expected);
 
         image = WriteAndRead(image, imageFormat);
@@ -88,7 +88,7 @@ public void ConstructorEmpty()
     [Fact]
     public void EmptyWriter()
     {
-        ExifProfile profile = new ExifProfile() { Parts = ExifParts.GpsTags };
+        ExifProfile profile = new() { Parts = ExifParts.GpsTags };
         profile.SetValue(ExifTag.Copyright, "Copyright text");
 
         byte[] bytes = profile.ToByteArray();
@@ -120,14 +120,14 @@ public void ConstructorCopy()
     [InlineData(TestImageWriteFormat.WebpLossy)]
     public void WriteFraction(TestImageWriteFormat imageFormat)
     {
-        using MemoryStream memStream = new MemoryStream();
+        using MemoryStream memStream = new();
         double exposureTime = 1.0 / 1600;
 
         ExifProfile profile = GetExifProfile();
 
-        profile.SetValue(ExifTag.ExposureTime, new Rational(exposureTime));
+        profile.SetValue(ExifTag.ExposureTime, new(exposureTime));
 
-        Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        Image<Rgba32> image = new(1, 1);
         image.Metadata.ExifProfile = profile;
 
         image = WriteAndRead(image, imageFormat);
@@ -142,7 +142,7 @@ public void WriteFraction(TestImageWriteFormat imageFormat)
         memStream.Position = 0;
         profile = GetExifProfile();
 
-        profile.SetValue(ExifTag.ExposureTime, new Rational(exposureTime, true));
+        profile.SetValue(ExifTag.ExposureTime, new(exposureTime, true));
         image.Metadata.ExifProfile = profile;
 
         image = WriteAndRead(image, imageFormat);
@@ -164,26 +164,26 @@ public void WriteFraction(TestImageWriteFormat imageFormat)
     public void ReadWriteInfinity(TestImageWriteFormat imageFormat)
     {
         Image<Rgba32> image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateRgba32Image();
-        image.Metadata.ExifProfile.SetValue(ExifTag.ExposureBiasValue, new SignedRational(double.PositiveInfinity));
+        image.Metadata.ExifProfile.SetValue(ExifTag.ExposureBiasValue, new(double.PositiveInfinity));
 
         image = WriteAndReadJpeg(image);
         IExifValue<SignedRational> value = image.Metadata.ExifProfile.GetValue(ExifTag.ExposureBiasValue);
         Assert.NotNull(value);
-        Assert.Equal(new SignedRational(double.PositiveInfinity), value.Value);
+        Assert.Equal(new(double.PositiveInfinity), value.Value);
 
-        image.Metadata.ExifProfile.SetValue(ExifTag.ExposureBiasValue, new SignedRational(double.NegativeInfinity));
+        image.Metadata.ExifProfile.SetValue(ExifTag.ExposureBiasValue, new(double.NegativeInfinity));
 
         image = WriteAndRead(image, imageFormat);
         value = image.Metadata.ExifProfile.GetValue(ExifTag.ExposureBiasValue);
         Assert.NotNull(value);
-        Assert.Equal(new SignedRational(double.NegativeInfinity), value.Value);
+        Assert.Equal(new(double.NegativeInfinity), value.Value);
 
-        image.Metadata.ExifProfile.SetValue(ExifTag.FlashEnergy, new Rational(double.NegativeInfinity));
+        image.Metadata.ExifProfile.SetValue(ExifTag.FlashEnergy, new(double.NegativeInfinity));
 
         image = WriteAndRead(image, imageFormat);
         IExifValue<Rational> value2 = image.Metadata.ExifProfile.GetValue(ExifTag.FlashEnergy);
         Assert.NotNull(value2);
-        Assert.Equal(new Rational(double.PositiveInfinity), value2.Value);
+        Assert.Equal(new(double.PositiveInfinity), value2.Value);
 
         image.Dispose();
     }
@@ -209,20 +209,20 @@ public void SetValue(TestImageWriteFormat imageFormat, int expectedProfileValueC
         Assert.True(software.TrySetValue(15));
         Assert.False(software.TrySetValue(15F));
 
-        image.Metadata.ExifProfile.SetValue(ExifTag.ShutterSpeedValue, new SignedRational(75.55));
+        image.Metadata.ExifProfile.SetValue(ExifTag.ShutterSpeedValue, new(75.55));
 
         IExifValue<SignedRational> shutterSpeed = image.Metadata.ExifProfile.GetValue(ExifTag.ShutterSpeedValue);
 
-        Assert.Equal(new SignedRational(7555, 100), shutterSpeed.Value);
+        Assert.Equal(new(7555, 100), shutterSpeed.Value);
         Assert.False(shutterSpeed.TrySetValue(75));
 
-        image.Metadata.ExifProfile.SetValue(ExifTag.XResolution, new Rational(150.0));
+        image.Metadata.ExifProfile.SetValue(ExifTag.XResolution, new(150.0));
 
         // We also need to change this value because this overrides XResolution when the image is written.
         image.Metadata.HorizontalResolution = 150.0;
 
         IExifValue<Rational> xResolution = image.Metadata.ExifProfile.GetValue(ExifTag.XResolution);
-        Assert.Equal(new Rational(150, 1), xResolution.Value);
+        Assert.Equal(new(150, 1), xResolution.Value);
 
         Assert.False(xResolution.TrySetValue("ImageSharp"));
 
@@ -231,7 +231,7 @@ public void SetValue(TestImageWriteFormat imageFormat, int expectedProfileValueC
         IExifValue<Rational[]> referenceBlackWhite = image.Metadata.ExifProfile.GetValue(ExifTag.ReferenceBlackWhite);
         Assert.Null(referenceBlackWhite.Value);
 
-        Rational[] expectedLatitude = new Rational[] { new Rational(12.3), new Rational(4.56), new Rational(789.0) };
+        Rational[] expectedLatitude = new Rational[] { new(12.3), new(4.56), new(789.0) };
         image.Metadata.ExifProfile.SetValue(ExifTag.GPSLatitude, expectedLatitude);
 
         IExifValue<Rational[]> latitude = image.Metadata.ExifProfile.GetValue(ExifTag.GPSLatitude);
@@ -251,10 +251,10 @@ public void SetValue(TestImageWriteFormat imageFormat, int expectedProfileValueC
         Assert.Equal("15", software.Value);
 
         shutterSpeed = image.Metadata.ExifProfile.GetValue(ExifTag.ShutterSpeedValue);
-        Assert.Equal(new SignedRational(75.55), shutterSpeed.Value);
+        Assert.Equal(new(75.55), shutterSpeed.Value);
 
         xResolution = image.Metadata.ExifProfile.GetValue(ExifTag.XResolution);
-        Assert.Equal(new Rational(150.0), xResolution.Value);
+        Assert.Equal(new(150.0), xResolution.Value);
 
         referenceBlackWhite = image.Metadata.ExifProfile.GetValue(ExifTag.ReferenceBlackWhite, false);
         Assert.Null(referenceBlackWhite);
@@ -308,11 +308,11 @@ public void RemoveEntry_Works()
     [Fact]
     public void Syncs()
     {
-        ExifProfile exifProfile = new ExifProfile();
-        exifProfile.SetValue(ExifTag.XResolution, new Rational(200));
-        exifProfile.SetValue(ExifTag.YResolution, new Rational(300));
+        ExifProfile exifProfile = new();
+        exifProfile.SetValue(ExifTag.XResolution, new(200));
+        exifProfile.SetValue(ExifTag.YResolution, new(300));
 
-        ImageMetadata metaData = new ImageMetadata
+        ImageMetadata metaData = new()
         {
             ExifProfile = exifProfile,
             HorizontalResolution = 200,
@@ -366,13 +366,13 @@ public void ReadWriteLargeProfileJpg()
         foreach (ExifTag<string> tag in tags)
         {
             // Arrange
-            StringBuilder junk = new StringBuilder();
+            StringBuilder junk = new();
             for (int i = 0; i < 65600; i++)
             {
                 junk.Append('a');
             }
 
-            Image<Rgba32> image = new Image<Rgba32>(100, 100);
+            Image<Rgba32> image = new(100, 100);
             ExifProfile expectedProfile = CreateExifProfile();
             List<ExifTag> expectedProfileTags = expectedProfile.Values.Select(x => x.Tag).ToList();
             expectedProfile.SetValue(tag, junk.ToString());
@@ -437,7 +437,7 @@ public void TestArrayValueWithUnspecifiedSize()
         byte[] bytes = profile.ToByteArray();
         Assert.Equal(531, bytes.Length);
 
-        ExifProfile profile2 = new ExifProfile(bytes);
+        ExifProfile profile2 = new(bytes);
         Assert.Equal(25, profile2.Values.Count);
     }
 
@@ -449,7 +449,7 @@ public void TestArrayValueWithUnspecifiedSize()
     public void WritingImagePreservesExifProfile(TestImageWriteFormat imageFormat)
     {
         // Arrange
-        Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        Image<Rgba32> image = new(1, 1);
         image.Metadata.ExifProfile = CreateExifProfile();
 
         // Act
@@ -476,7 +476,7 @@ public void ProfileToByteArray()
 
         // Act
         byte[] actualBytes = expectedProfile.ToByteArray();
-        ExifProfile actualProfile = new ExifProfile(actualBytes);
+        ExifProfile actualProfile = new(actualBytes);
 
         // Assert
         Assert.NotNull(actualBytes);
@@ -492,7 +492,7 @@ public void ProfileToByteArray()
 
     private static ExifProfile CreateExifProfile()
     {
-        ExifProfile profile = new ExifProfile();
+        ExifProfile profile = new();
 
         foreach (KeyValuePair<ExifTag, object> exifProfileValue in TestProfileValues)
         {
@@ -505,7 +505,7 @@ private static ExifProfile CreateExifProfile()
     [Fact]
     public void IfdStructure()
     {
-        ExifProfile exif = new ExifProfile();
+        ExifProfile exif = new();
         exif.SetValue(ExifTag.XPAuthor, "Dan Petitt");
 
         Span<byte> actualBytes = exif.ToByteArray();
@@ -547,7 +547,7 @@ private static Image<Rgba32> WriteAndRead(Image<Rgba32> image, TestImageWriteFor
 
     private static Image<Rgba32> WriteAndReadJpeg(Image<Rgba32> image)
     {
-        using MemoryStream memStream = new MemoryStream();
+        using MemoryStream memStream = new();
         image.SaveAsJpeg(memStream);
         image.Dispose();
 
@@ -557,7 +557,7 @@ private static Image<Rgba32> WriteAndReadJpeg(Image<Rgba32> image)
 
     private static Image<Rgba32> WriteAndReadPng(Image<Rgba32> image)
     {
-        using MemoryStream memStream = new MemoryStream();
+        using MemoryStream memStream = new();
         image.SaveAsPng(memStream);
         image.Dispose();
 
@@ -567,8 +567,8 @@ private static Image<Rgba32> WriteAndReadPng(Image<Rgba32> image)
 
     private static Image<Rgba32> WriteAndReadWebp(Image<Rgba32> image, WebpFileFormatType fileFormat)
     {
-        using MemoryStream memStream = new MemoryStream();
-        image.SaveAsWebp(memStream, new WebpEncoder() { FileFormat = fileFormat });
+        using MemoryStream memStream = new();
+        image.SaveAsWebp(memStream, new() { FileFormat = fileFormat });
         image.Dispose();
 
         memStream.Position = 0;
@@ -593,7 +593,7 @@ private static void TestProfile(ExifProfile profile)
         Assert.Equal("Windows Photo Editor 10.0.10011.16384", software.Value);
 
         IExifValue<Rational> xResolution = profile.GetValue(ExifTag.XResolution);
-        Assert.Equal(new Rational(300.0), xResolution.Value);
+        Assert.Equal(new(300.0), xResolution.Value);
 
         IExifValue<Number> xDimension = profile.GetValue(ExifTag.PixelXDimension);
         Assert.Equal(2338U, xDimension.Value);
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
index dcdc5f0f38..983ff44937 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifReaderTests.cs
@@ -11,7 +11,7 @@ public class ExifReaderTests
     [Fact]
     public void Read_DataIsEmpty_ReturnsEmptyCollection()
     {
-        ExifReader reader = new ExifReader(Array.Empty<byte>());
+        ExifReader reader = new(Array.Empty<byte>());
 
         IList<IExifValue> result = reader.ReadValues();
 
@@ -21,7 +21,7 @@ public void Read_DataIsEmpty_ReturnsEmptyCollection()
     [Fact]
     public void Read_DataIsMinimal_ReturnsEmptyCollection()
     {
-        ExifReader reader = new ExifReader(new byte[] { 69, 120, 105, 102, 0, 0 });
+        ExifReader reader = new(new byte[] { 69, 120, 105, 102, 0, 0 });
 
         IList<IExifValue> result = reader.ReadValues();
 
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
index 4ba259f391..3f13afa6fc 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifTagDescriptionAttributeTests.cs
@@ -12,7 +12,7 @@ public class ExifTagDescriptionAttributeTests
     [Fact]
     public void TestExifTag()
     {
-        ExifProfile exifProfile = new ExifProfile();
+        ExifProfile exifProfile = new();
 
         exifProfile.SetValue(ExifTag.ResolutionUnit, (ushort)1);
         IExifValue value = exifProfile.GetValue(ExifTag.ResolutionUnit);
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
index bf6018c652..cb006ba291 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs
@@ -9,14 +9,14 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values;
 [Trait("Profile", "Exif")]
 public class ExifValuesTests
 {
-    public static TheoryData<ExifTag> ByteTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> ByteTags => new()
     {
         { ExifTag.FaxProfile },
         { ExifTag.ModeNumber },
         { ExifTag.GPSAltitudeRef }
     };
 
-    public static TheoryData<ExifTag> ByteArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> ByteArrayTags => new()
     {
         { ExifTag.ClipPath },
         { ExifTag.VersionYear },
@@ -26,7 +26,7 @@ public class ExifValuesTests
         { ExifTag.GPSVersionID },
     };
 
-    public static TheoryData<ExifTag> DoubleArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> DoubleArrayTags => new()
     {
         { ExifTag.PixelScale },
         { ExifTag.IntergraphMatrix },
@@ -34,7 +34,7 @@ public class ExifValuesTests
         { ExifTag.ModelTransform }
     };
 
-    public static TheoryData<ExifTag> LongTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> LongTags => new()
     {
         { ExifTag.SubfileType },
         { ExifTag.SubIFDOffset },
@@ -59,7 +59,7 @@ public class ExifValuesTests
         { ExifTag.ImageNumber },
     };
 
-    public static TheoryData<ExifTag> LongArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> LongArrayTags => new()
     {
         { ExifTag.FreeOffsets },
         { ExifTag.FreeByteCounts },
@@ -73,7 +73,7 @@ public class ExifValuesTests
         { ExifTag.IntergraphRegisters }
     };
 
-    public static TheoryData<ExifTag> NumberTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> NumberTags => new()
     {
         { ExifTag.ImageWidth },
         { ExifTag.ImageLength },
@@ -85,7 +85,7 @@ public class ExifValuesTests
         { ExifTag.PixelYDimension }
     };
 
-    public static TheoryData<ExifTag> NumberArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> NumberArrayTags => new()
     {
         { ExifTag.StripOffsets },
         { ExifTag.StripByteCounts },
@@ -94,7 +94,7 @@ public class ExifValuesTests
         { ExifTag.ImageLayer }
     };
 
-    public static TheoryData<ExifTag> RationalTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> RationalTags => new()
     {
         { ExifTag.XPosition },
         { ExifTag.YPosition },
@@ -131,7 +131,7 @@ public class ExifValuesTests
         { ExifTag.GPSHPositioningError },
     };
 
-    public static TheoryData<ExifTag> RationalArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> RationalArrayTags => new()
     {
         { ExifTag.WhitePoint },
         { ExifTag.PrimaryChromaticities },
@@ -145,7 +145,7 @@ public class ExifValuesTests
         { ExifTag.LensSpecification }
     };
 
-    public static TheoryData<ExifTag> ShortTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> ShortTags => new()
     {
         { ExifTag.OldSubfileType },
         { ExifTag.Compression },
@@ -196,7 +196,7 @@ public class ExifValuesTests
         { ExifTag.GPSDifferential }
     };
 
-    public static TheoryData<ExifTag> ShortArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> ShortArrayTags => new()
     {
         { ExifTag.BitsPerSample },
         { ExifTag.MinSampleValue },
@@ -220,7 +220,7 @@ public class ExifValuesTests
         { ExifTag.SubjectLocation }
     };
 
-    public static TheoryData<ExifTag> SignedRationalTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> SignedRationalTags => new()
     {
         { ExifTag.ShutterSpeedValue },
         { ExifTag.BrightnessValue },
@@ -230,17 +230,17 @@ public class ExifValuesTests
         { ExifTag.CameraElevationAngle }
     };
 
-    public static TheoryData<ExifTag> SignedRationalArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> SignedRationalArrayTags => new()
     {
         { ExifTag.Decode }
     };
 
-    public static TheoryData<ExifTag> SignedShortArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> SignedShortArrayTags => new()
     {
         { ExifTag.TimeZoneOffset }
     };
 
-    public static TheoryData<ExifTag> StringTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> StringTags => new()
     {
         { ExifTag.ImageDescription },
         { ExifTag.Make },
@@ -298,13 +298,13 @@ public class ExifValuesTests
         { ExifTag.GPSDateStamp },
     };
 
-    public static TheoryData<ExifTag> UndefinedTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> UndefinedTags => new()
     {
         { ExifTag.FileSource },
         { ExifTag.SceneType }
     };
 
-    public static TheoryData<ExifTag> UndefinedArrayTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> UndefinedArrayTags => new()
     {
         { ExifTag.JPEGTables },
         { ExifTag.OECF },
@@ -320,14 +320,14 @@ public class ExifValuesTests
         { ExifTag.ImageSourceData },
     };
 
-    public static TheoryData<ExifTag> EncodedStringTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> EncodedStringTags => new()
     {
         { ExifTag.UserComment },
         { ExifTag.GPSProcessingMethod },
         { ExifTag.GPSAreaInformation }
     };
 
-    public static TheoryData<ExifTag> Ucs2StringTags => new TheoryData<ExifTag>
+    public static TheoryData<ExifTag> Ucs2StringTags => new()
     {
         { ExifTag.XPTitle },
         { ExifTag.XPComment },
@@ -481,7 +481,7 @@ public void ExifNumberArrayTests(ExifTag tag)
     [MemberData(nameof(RationalTags))]
     public void ExifRationalTests(ExifTag tag)
     {
-        Rational expected = new Rational(21, 42);
+        Rational expected = new(21, 42);
         ExifValue value = ExifValues.Create(tag);
 
         Assert.False(value.TrySetValue(expected.ToString()));
@@ -540,7 +540,7 @@ public void ExifShortArrayTests(ExifTag tag)
     [MemberData(nameof(SignedRationalTags))]
     public void ExifSignedRationalTests(ExifTag tag)
     {
-        SignedRational expected = new SignedRational(21, 42);
+        SignedRational expected = new(21, 42);
         ExifValue value = ExifValues.Create(tag);
 
         Assert.False(value.TrySetValue(expected.ToString()));
@@ -633,7 +633,7 @@ public void ExifEncodedStringTests(ExifTag tag)
             Assert.Equal(ExifEncodedStringHelpers.CharacterCodeBytesLength, ExifEncodedStringHelpers.GetCodeBytes(charCode).Length);
 
             const string expectedText = "test string";
-            EncodedString expected = new EncodedString(charCode, expectedText);
+            EncodedString expected = new(charCode, expectedText);
             ExifValue value = ExifValues.Create(tag);
 
             Assert.False(value.TrySetValue(123));
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs
index 73ae46c2c9..c88a3d5ace 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderCurvesTests.cs
@@ -76,6 +76,6 @@ internal void ReadSampledCurveElement(byte[] data, IccSampledCurveElement expect
 
     private static IccDataReader CreateReader(byte[] data)
     {
-        return new IccDataReader(data);
+        return new(data);
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs
index 63585a3bd4..78555a7a26 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderLutTests.cs
@@ -76,6 +76,6 @@ internal void ReadLut16(byte[] data, IccLut expected, int count)
 
     private static IccDataReader CreateReader(byte[] data)
     {
-        return new IccDataReader(data);
+        return new(data);
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs
index b81395bb2e..b5abc59f72 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMatrixTests.cs
@@ -32,6 +32,6 @@ public void ReadMatrix1D(byte[] data, int yCount, bool isSingle, float[] expecte
 
     private static IccDataReader CreateReader(byte[] data)
     {
-        return new IccDataReader(data);
+        return new(data);
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs
index 9023b1b723..6f924374e1 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderMultiProcessElementTests.cs
@@ -54,6 +54,6 @@ internal void ReadClutProcessElement(byte[] data, IccClutProcessElement expected
 
     private static IccDataReader CreateReader(byte[] data)
     {
-        return new IccDataReader(data);
+        return new(data);
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs
index 91294a3dab..8bc6324eaf 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderNonPrimitivesTests.cs
@@ -121,6 +121,6 @@ internal void ReadScreeningChannel(byte[] data, IccScreeningChannel expected)
 
     private static IccDataReader CreateReader(byte[] data)
     {
-        return new IccDataReader(data);
+        return new(data);
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs
index b6135cd197..ca095e6eb0 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderPrimitivesTests.cs
@@ -81,6 +81,6 @@ public void ReadUFix8(byte[] data, float expected)
 
     private static IccDataReader CreateReader(byte[] data)
     {
-        return new IccDataReader(data);
+        return new(data);
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs
index d41707b7ce..b0fe526221 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataReader/IccDataReaderTagDataEntryTests.cs
@@ -441,6 +441,6 @@ internal void ReadUcrBgTagDataEntry(byte[] data, IccUcrBgTagDataEntry expected,
 
     private static IccDataReader CreateReader(byte[] data)
     {
-        return new IccDataReader(data);
+        return new(data);
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs
index 1a23c8d002..23ccb4b067 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterCurvesTests.cs
@@ -82,6 +82,6 @@ internal void WriteSampledCurveElement(byte[] expected, IccSampledCurveElement d
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs
index 4a3dc48bcb..485e4069f7 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests.cs
@@ -82,6 +82,6 @@ internal void WriteLut16(byte[] expected, IccLut data, int count)
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs
index 1973d94b89..9d4f8f3b3d 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests1.cs
@@ -82,6 +82,6 @@ internal void WriteLut16(byte[] expected, IccLut data, int count)
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs
index 4ffc9e0c36..3ecc871278 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterLutTests2.cs
@@ -82,6 +82,6 @@ internal void WriteLut16(byte[] expected, IccLut data, int count)
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs
index 7d046aa49b..68ed2a70d4 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMatrixTests.cs
@@ -71,6 +71,6 @@ public void WriteMatrix1D_Vector3(byte[] expected, int yCount, bool isSingle, Ve
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs
index ba2add5eb9..34b0674559 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterMultiProcessElementTests.cs
@@ -58,6 +58,6 @@ internal void WriteClutProcessElement(byte[] expected, IccClutProcessElement dat
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs
index b17ed44419..048c17f7be 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterNonPrimitivesTests.cs
@@ -119,6 +119,6 @@ internal void WriteScreeningChannel(byte[] expected, IccScreeningChannel data)
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs
index fbe8fe1ced..ad6ddd3ad8 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterPrimitivesTests.cs
@@ -114,6 +114,6 @@ public void WriteUFix8(byte[] expected, float data)
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs
index 7eda24c8cf..315b79dd27 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTagDataEntryTests.cs
@@ -406,6 +406,6 @@ internal void WriteUcrBgTagDataEntry(byte[] expected, IccUcrBgTagDataEntry data,
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs
index 205941fcec..3ca3c6bdbd 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/DataWriter/IccDataWriterTests.cs
@@ -107,6 +107,6 @@ public void WriteArrayUInt64(byte[] expected, ulong[] data)
 
     private static IccDataWriter CreateWriter()
     {
-        return new IccDataWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
index 98159c5c32..c50afb2c4e 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccProfileTests.cs
@@ -33,7 +33,7 @@ public void CalculateHash_WithByteArray_DoesNotModifyData()
     [MemberData(nameof(IccTestDataProfiles.ProfileValidityTestData), MemberType = typeof(IccTestDataProfiles))]
     public void CheckIsValid_WithProfiles_ReturnsValidity(byte[] data, bool expected)
     {
-        IccProfile profile = new IccProfile(data);
+        IccProfile profile = new(data);
 
         bool result = profile.CheckIsValid();
 
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs
index 9b2ca2a275..9965f1495e 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccReaderTests.cs
@@ -52,6 +52,6 @@ public void ReadProfile_DuplicateEntry()
 
     private IccReader CreateReader()
     {
-        return new IccReader();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
index 5820238d6f..6763609976 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/IccWriterTests.cs
@@ -13,7 +13,7 @@ public void WriteProfile_NoEntries()
     {
         IccWriter writer = this.CreateWriter();
 
-        IccProfile profile = new IccProfile
+        IccProfile profile = new()
         {
             Header = IccTestDataProfiles.Header_Random_Write
         };
@@ -34,6 +34,6 @@ public void WriteProfile_DuplicateEntry()
 
     private IccWriter CreateWriter()
     {
-        return new IccWriter();
+        return new();
     }
 }
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
index e56f7f182c..5af672c210 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/ICC/Various/IccProfileIdTests.cs
@@ -19,7 +19,7 @@ public void ZeroIsEqualToDefault()
     [Fact]
     public void SetIsTrueWhenNonDefaultValue()
     {
-        IccProfileId id = new IccProfileId(1, 2, 3, 4);
+        IccProfileId id = new(1, 2, 3, 4);
 
         Assert.True(id.IsSet);
 
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
index 94d9ba0461..36df7da0ca 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/IPTC/IptcProfileTests.cs
@@ -22,7 +22,7 @@ public static IEnumerable<object[]> AllIptcTags()
     public void IptcProfile_WithUtf8Data_WritesEnvelopeRecord_Works()
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         profile.SetValue(IptcTag.City, "ESPAÑA");
         profile.UpdateData();
         byte[] expectedEnvelopeData = { 28, 1, 90, 0, 3, 27, 37, 71 };
@@ -39,7 +39,7 @@ public void IptcProfile_WithUtf8Data_WritesEnvelopeRecord_Works()
     public void IptcProfile_SetValue_WithStrictEnabled_Works(IptcTag tag)
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         string value = new('s', tag.MaxLength() + 1);
         int expectedLength = tag.MaxLength();
 
@@ -56,7 +56,7 @@ public void IptcProfile_SetValue_WithStrictEnabled_Works(IptcTag tag)
     public void IptcProfile_SetValue_WithStrictDisabled_Works(IptcTag tag)
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         string value = new('s', tag.MaxLength() + 1);
         int expectedLength = value.Length;
 
@@ -77,8 +77,8 @@ public void IptcProfile_SetValue_WithStrictDisabled_Works(IptcTag tag)
     public void IptcProfile_SetDateValue_Works(IptcTag tag)
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
-        DateTimeOffset datetime = new DateTimeOffset(new DateTime(1994, 3, 17));
+        IptcProfile profile = new();
+        DateTimeOffset datetime = new(new(1994, 3, 17));
 
         // act
         profile.SetDateTimeValue(tag, datetime);
@@ -96,8 +96,8 @@ public void IptcProfile_SetDateValue_Works(IptcTag tag)
     public void IptcProfile_SetTimeValue_Works(IptcTag tag)
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
-        DateTime dateTimeUtc = new DateTime(1994, 3, 17, 14, 15, 16, DateTimeKind.Utc);
+        IptcProfile profile = new();
+        DateTime dateTimeUtc = new(1994, 3, 17, 14, 15, 16, DateTimeKind.Utc);
         DateTimeOffset dateTimeOffset = new DateTimeOffset(dateTimeUtc).ToOffset(TimeSpan.FromHours(2));
 
         // act
@@ -170,7 +170,7 @@ public void ReadApp13_WithEmptyIptc_Works<TPixel>(TestImageProvider<TPixel> prov
     public void IptcProfile_ToAndFromByteArray_Works()
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         const string expectedCaptionWriter = "unittest";
         const string expectedCaption = "test";
         profile.SetValue(IptcTag.CaptionWriter, expectedCaptionWriter);
@@ -179,7 +179,7 @@ public void IptcProfile_ToAndFromByteArray_Works()
         // act
         profile.UpdateData();
         byte[] profileBytes = profile.Data;
-        IptcProfile profileFromBytes = new IptcProfile(profileBytes);
+        IptcProfile profileFromBytes = new(profileBytes);
 
         // assert
         List<IptcValue> iptcValues = profileFromBytes.Values.ToList();
@@ -191,7 +191,7 @@ public void IptcProfile_ToAndFromByteArray_Works()
     public void IptcProfile_CloneIsDeep()
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         const string captionWriter = "unittest";
         const string caption = "test";
         profile.SetValue(IptcTag.CaptionWriter, captionWriter);
@@ -213,7 +213,7 @@ public void IptcProfile_CloneIsDeep()
     public void IptcValue_CloneIsDeep()
     {
         // arrange
-        IptcValue iptcValue = new IptcValue(IptcTag.Caption, System.Text.Encoding.UTF8, "test", true);
+        IptcValue iptcValue = new(IptcTag.Caption, System.Text.Encoding.UTF8, "test", true);
 
         // act
         IptcValue clone = iptcValue.DeepClone();
@@ -228,7 +228,7 @@ public void WritingImage_PreservesIptcProfile()
     {
         // arrange
         using Image<Rgba32> image = new(1, 1);
-        image.Metadata.IptcProfile = new IptcProfile();
+        image.Metadata.IptcProfile = new();
         const string expectedCaptionWriter = "unittest";
         const string expectedCaption = "test";
         image.Metadata.IptcProfile.SetValue(IptcTag.CaptionWriter, expectedCaptionWriter);
@@ -263,7 +263,7 @@ public void WritingImage_PreservesIptcProfile()
     public void IptcProfile_AddRepeatable_Works(IptcTag tag)
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         const string expectedValue1 = "test";
         const string expectedValue2 = "another one";
         profile.SetValue(tag, expectedValue1, false);
@@ -315,7 +315,7 @@ public void IptcProfile_AddRepeatable_Works(IptcTag tag)
     public void IptcProfile_AddNoneRepeatable_DoesOverrideOldValue(IptcTag tag)
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         const string expectedValue = "another one";
         profile.SetValue(tag, "test", false);
 
@@ -332,7 +332,7 @@ public void IptcProfile_AddNoneRepeatable_DoesOverrideOldValue(IptcTag tag)
     public void IptcProfile_RemoveByTag_RemovesAllEntrys()
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         profile.SetValue(IptcTag.Byline, "test");
         profile.SetValue(IptcTag.Byline, "test2");
 
@@ -348,7 +348,7 @@ public void IptcProfile_RemoveByTag_RemovesAllEntrys()
     public void IptcProfile_RemoveByTagAndValue_Works()
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         profile.SetValue(IptcTag.Byline, "test");
         profile.SetValue(IptcTag.Byline, "test2");
 
@@ -364,7 +364,7 @@ public void IptcProfile_RemoveByTagAndValue_Works()
     public void IptcProfile_GetValue_RetrievesAllEntries()
     {
         // arrange
-        IptcProfile profile = new IptcProfile();
+        IptcProfile profile = new();
         profile.SetValue(IptcTag.Byline, "test");
         profile.SetValue(IptcTag.Byline, "test2");
         profile.SetValue(IptcTag.Caption, "test");
@@ -380,12 +380,12 @@ public void IptcProfile_GetValue_RetrievesAllEntries()
     private static void ContainsIptcValue(List<IptcValue> values, IptcTag tag, string value)
     {
         Assert.True(values.Any(val => val.Tag == tag), $"Missing iptc tag {tag}");
-        Assert.True(values.Contains(new IptcValue(tag, System.Text.Encoding.UTF8.GetBytes(value), false)), $"expected iptc value '{value}' was not found for tag '{tag}'");
+        Assert.True(values.Contains(new(tag, System.Text.Encoding.UTF8.GetBytes(value), false)), $"expected iptc value '{value}' was not found for tag '{tag}'");
     }
 
     private static Image<Rgba32> WriteAndReadJpeg(Image<Rgba32> image)
     {
-        using (MemoryStream memStream = new MemoryStream())
+        using (MemoryStream memStream = new())
         {
             image.SaveAsJpeg(memStream);
             image.Dispose();
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs
index 1c253bbbeb..e121d24f91 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs
@@ -111,10 +111,10 @@ public void XmpProfile_CloneIsDeep()
     public void WritingGif_PreservesXmpProfile()
     {
         // arrange
-        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Metadata.XmpProfile = original;
-        GifEncoder encoder = new GifEncoder();
+        GifEncoder encoder = new();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -129,10 +129,10 @@ public void WritingGif_PreservesXmpProfile()
     public void WritingJpeg_PreservesXmpProfile()
     {
         // arrange
-        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Metadata.XmpProfile = original;
-        JpegEncoder encoder = new JpegEncoder();
+        JpegEncoder encoder = new();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -150,7 +150,7 @@ public async Task WritingJpeg_PreservesExtendedXmpProfile()
         TestImageProvider<Rgba32> provider = TestImageProvider<Rgba32>.File(TestImages.Jpeg.Baseline.ExtendedXmp);
         using Image<Rgba32> image = await provider.GetImageAsync(JpegDecoder.Instance);
         XmpProfile original = image.Metadata.XmpProfile;
-        JpegEncoder encoder = new JpegEncoder();
+        JpegEncoder encoder = new();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -165,10 +165,10 @@ public async Task WritingJpeg_PreservesExtendedXmpProfile()
     public void WritingPng_PreservesXmpProfile()
     {
         // arrange
-        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Metadata.XmpProfile = original;
-        PngEncoder encoder = new PngEncoder();
+        PngEncoder encoder = new();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -183,10 +183,10 @@ public void WritingPng_PreservesXmpProfile()
     public void WritingTiff_PreservesXmpProfile()
     {
         // arrange
-        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Frames.RootFrame.Metadata.XmpProfile = original;
-        TiffEncoder encoder = new TiffEncoder();
+        TiffEncoder encoder = new();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -201,10 +201,10 @@ public void WritingTiff_PreservesXmpProfile()
     public void WritingWebp_PreservesXmpProfile()
     {
         // arrange
-        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
+        using Image<Rgba32> image = new(1, 1);
         XmpProfile original = CreateMinimalXmlProfile();
         image.Metadata.XmpProfile = original;
-        WebpEncoder encoder = new WebpEncoder();
+        WebpEncoder encoder = new();
 
         // act
         using Image<Rgba32> reloadedImage = WriteAndRead(image, encoder);
@@ -228,13 +228,13 @@ private static XmpProfile CreateMinimalXmlProfile()
     {
         string content = $"<?xpacket begin='' id='{Guid.NewGuid()}'?><x:xmpmeta xmlns:x='adobe:ns:meta/'></x:xmpmeta><?xpacket end='w'?> ";
         byte[] data = Encoding.UTF8.GetBytes(content);
-        XmpProfile profile = new XmpProfile(data);
+        XmpProfile profile = new(data);
         return profile;
     }
 
     private static Image<Rgba32> WriteAndRead(Image<Rgba32> image, IImageEncoder encoder)
     {
-        using (MemoryStream memStream = new MemoryStream())
+        using (MemoryStream memStream = new())
         {
             image.Save(memStream, encoder);
             image.Dispose();
diff --git a/tests/ImageSharp.Tests/Numerics/RationalTests.cs b/tests/ImageSharp.Tests/Numerics/RationalTests.cs
index f9cefaddda..9e7e3b7a09 100644
--- a/tests/ImageSharp.Tests/Numerics/RationalTests.cs
+++ b/tests/ImageSharp.Tests/Numerics/RationalTests.cs
@@ -70,19 +70,19 @@ public void ConstructorAssignsProperties()
         Assert.Equal(7U, rational.Numerator);
         Assert.Equal(55U, rational.Denominator);
 
-        rational = new Rational(755, 100);
+        rational = new(755, 100);
         Assert.Equal(151U, rational.Numerator);
         Assert.Equal(20U, rational.Denominator);
 
-        rational = new Rational(755, 100, false);
+        rational = new(755, 100, false);
         Assert.Equal(755U, rational.Numerator);
         Assert.Equal(100U, rational.Denominator);
 
-        rational = new Rational(-7.55);
+        rational = new(-7.55);
         Assert.Equal(151U, rational.Numerator);
         Assert.Equal(20U, rational.Denominator);
 
-        rational = new Rational(7);
+        rational = new(7);
         Assert.Equal(7U, rational.Numerator);
         Assert.Equal(1U, rational.Denominator);
     }
@@ -101,7 +101,7 @@ public void ToDouble()
         Rational rational = new(0, 0);
         Assert.Equal(double.NaN, rational.ToDouble());
 
-        rational = new Rational(2, 0);
+        rational = new(2, 0);
         Assert.Equal(double.PositiveInfinity, rational.ToDouble());
     }
 
@@ -111,19 +111,19 @@ public void ToStringRepresentation()
         Rational rational = new(0, 0);
         Assert.Equal("[ Indeterminate ]", rational.ToString());
 
-        rational = new Rational(double.PositiveInfinity);
+        rational = new(double.PositiveInfinity);
         Assert.Equal("[ PositiveInfinity ]", rational.ToString());
 
-        rational = new Rational(double.NegativeInfinity);
+        rational = new(double.NegativeInfinity);
         Assert.Equal("[ PositiveInfinity ]", rational.ToString());
 
-        rational = new Rational(0, 1);
+        rational = new(0, 1);
         Assert.Equal("0", rational.ToString());
 
-        rational = new Rational(2, 1);
+        rational = new(2, 1);
         Assert.Equal("2", rational.ToString());
 
-        rational = new Rational(1, 2);
+        rational = new(1, 2);
         Assert.Equal("1/2", rational.ToString());
     }
 }
diff --git a/tests/ImageSharp.Tests/Numerics/SignedRationalTests.cs b/tests/ImageSharp.Tests/Numerics/SignedRationalTests.cs
index 2e066d1d78..275ba4d5f5 100644
--- a/tests/ImageSharp.Tests/Numerics/SignedRationalTests.cs
+++ b/tests/ImageSharp.Tests/Numerics/SignedRationalTests.cs
@@ -14,15 +14,15 @@ public class SignedRationalTests
     [Fact]
     public void AreEqual()
     {
-        SignedRational r1 = new SignedRational(3, 2);
-        SignedRational r2 = new SignedRational(3, 2);
+        SignedRational r1 = new(3, 2);
+        SignedRational r2 = new(3, 2);
 
         Assert.Equal(r1, r2);
         Assert.True(r1 == r2);
 
-        SignedRational r3 = new SignedRational(7.55);
-        SignedRational r4 = new SignedRational(755, 100);
-        SignedRational r5 = new SignedRational(151, 20);
+        SignedRational r3 = new(7.55);
+        SignedRational r4 = new(755, 100);
+        SignedRational r5 = new(151, 20);
 
         Assert.Equal(r3, r4);
         Assert.Equal(r4, r5);
@@ -34,8 +34,8 @@ public void AreEqual()
     [Fact]
     public void AreNotEqual()
     {
-        SignedRational first = new SignedRational(0, 100);
-        SignedRational second = new SignedRational(100, 100);
+        SignedRational first = new(0, 100);
+        SignedRational second = new(100, 100);
 
         Assert.NotEqual(first, second);
         Assert.True(first != second);
@@ -47,27 +47,27 @@ public void AreNotEqual()
     [Fact]
     public void ConstructorAssignsProperties()
     {
-        SignedRational rational = new SignedRational(7, -55);
+        SignedRational rational = new(7, -55);
         Assert.Equal(7, rational.Numerator);
         Assert.Equal(-55, rational.Denominator);
 
-        rational = new SignedRational(-755, 100);
+        rational = new(-755, 100);
         Assert.Equal(-151, rational.Numerator);
         Assert.Equal(20, rational.Denominator);
 
-        rational = new SignedRational(-755, -100, false);
+        rational = new(-755, -100, false);
         Assert.Equal(-755, rational.Numerator);
         Assert.Equal(-100, rational.Denominator);
 
-        rational = new SignedRational(-151, -20);
+        rational = new(-151, -20);
         Assert.Equal(-151, rational.Numerator);
         Assert.Equal(-20, rational.Denominator);
 
-        rational = new SignedRational(-7.55);
+        rational = new(-7.55);
         Assert.Equal(-151, rational.Numerator);
         Assert.Equal(20, rational.Denominator);
 
-        rational = new SignedRational(7);
+        rational = new(7);
         Assert.Equal(7, rational.Numerator);
         Assert.Equal(1, rational.Denominator);
     }
@@ -75,43 +75,43 @@ public void ConstructorAssignsProperties()
     [Fact]
     public void Fraction()
     {
-        SignedRational first = new SignedRational(1.0 / 1600);
-        SignedRational second = new SignedRational(1.0 / 1600, true);
+        SignedRational first = new(1.0 / 1600);
+        SignedRational second = new(1.0 / 1600, true);
         Assert.False(first.Equals(second));
     }
 
     [Fact]
     public void ToDouble()
     {
-        SignedRational rational = new SignedRational(0, 0);
+        SignedRational rational = new(0, 0);
         Assert.Equal(double.NaN, rational.ToDouble());
 
-        rational = new SignedRational(2, 0);
+        rational = new(2, 0);
         Assert.Equal(double.PositiveInfinity, rational.ToDouble());
 
-        rational = new SignedRational(-2, 0);
+        rational = new(-2, 0);
         Assert.Equal(double.NegativeInfinity, rational.ToDouble());
     }
 
     [Fact]
     public void ToStringRepresentation()
     {
-        SignedRational rational = new SignedRational(0, 0);
+        SignedRational rational = new(0, 0);
         Assert.Equal("[ Indeterminate ]", rational.ToString());
 
-        rational = new SignedRational(double.PositiveInfinity);
+        rational = new(double.PositiveInfinity);
         Assert.Equal("[ PositiveInfinity ]", rational.ToString());
 
-        rational = new SignedRational(double.NegativeInfinity);
+        rational = new(double.NegativeInfinity);
         Assert.Equal("[ NegativeInfinity ]", rational.ToString());
 
-        rational = new SignedRational(0, 1);
+        rational = new(0, 1);
         Assert.Equal("0", rational.ToString());
 
-        rational = new SignedRational(2, 1);
+        rational = new(2, 1);
         Assert.Equal("2", rational.ToString());
 
-        rational = new SignedRational(1, 2);
+        rational = new(1, 2);
         Assert.Equal("1/2", rational.ToString());
     }
 }
diff --git a/tests/ImageSharp.Tests/PixelFormats/A8Tests.cs b/tests/ImageSharp.Tests/PixelFormats/A8Tests.cs
index 4b4e84b4b3..4b348b88f8 100644
--- a/tests/ImageSharp.Tests/PixelFormats/A8Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/A8Tests.cs
@@ -101,7 +101,7 @@ public void A8_FromBgra5551()
         const byte expected = byte.MaxValue;
 
         // act
-        A8 alpha = A8.FromBgra5551(new Bgra5551(0.0f, 0.0f, 0.0f, 1.0f));
+        A8 alpha = A8.FromBgra5551(new(0.0f, 0.0f, 0.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, alpha.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Abgr32Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Abgr32Tests.cs
index 98fdce5dbd..4156503210 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Abgr32Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Abgr32Tests.cs
@@ -96,7 +96,7 @@ public void Equality_WhenFalse(byte b1, byte g1, byte r1, byte a1, byte b2, byte
     [Fact]
     public void FromRgba32()
     {
-        Abgr32 abgr = Abgr32.FromRgba32(new Rgba32(1, 2, 3, 4));
+        Abgr32 abgr = Abgr32.FromRgba32(new(1, 2, 3, 4));
 
         Assert.Equal(1, abgr.R);
         Assert.Equal(2, abgr.G);
@@ -136,7 +136,7 @@ public void Abgr32_FromBgra5551()
         const uint expected = uint.MaxValue;
 
         // act
-        Abgr32 abgr = Abgr32.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        Abgr32 abgr = Abgr32.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, abgr.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Argb32Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Argb32Tests.cs
index bcaf9265a3..8e05c5ca0f 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Argb32Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Argb32Tests.cs
@@ -128,7 +128,7 @@ public void Argb32_FromBgra5551()
         const uint expected = uint.MaxValue;
 
         // act
-        Argb32 argb = Argb32.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        Argb32 argb = Argb32.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, argb.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Bgr24Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Bgr24Tests.cs
index 362e20bbae..a7e4a08f0d 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Bgr24Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Bgr24Tests.cs
@@ -80,7 +80,7 @@ public void Equals_WhenFalse(byte r1, byte g1, byte b1, byte r2, byte g2, byte b
     [Fact]
     public void FromRgba32()
     {
-        Bgr24 rgb = Bgr24.FromRgba32(new Rgba32(1, 2, 3, 4));
+        Bgr24 rgb = Bgr24.FromRgba32(new(1, 2, 3, 4));
 
         Assert.Equal(1, rgb.R);
         Assert.Equal(2, rgb.G);
@@ -115,7 +115,7 @@ public void ToVector4()
     public void Bgr24_FromBgra5551()
     {
         // act
-        Bgr24 bgr = Bgr24.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        Bgr24 bgr = Bgr24.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(255, bgr.R);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Bgr565Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Bgr565Tests.cs
index 3c4a104233..f74660731c 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Bgr565Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Bgr565Tests.cs
@@ -17,8 +17,8 @@ public class Bgr565Tests
     public void AreEqual()
     {
         Bgr565 color1 = new(0.0f, 0.0f, 0.0f);
-        Bgr565 color2 = new(new Vector3(0.0f));
-        Bgr565 color3 = new(new Vector3(1.0f, 0.0f, 1.0f));
+        Bgr565 color2 = new(new(0.0f));
+        Bgr565 color3 = new(new(1.0f, 0.0f, 1.0f));
         Bgr565 color4 = new(1.0f, 0.0f, 1.0f);
 
         Assert.Equal(color1, color2);
@@ -32,8 +32,8 @@ public void AreEqual()
     public void AreNotEqual()
     {
         Bgr565 color1 = new(0.0f, 0.0f, 0.0f);
-        Bgr565 color2 = new(new Vector3(1.0f));
-        Bgr565 color3 = new(new Vector3(1.0f, 0.0f, 0.0f));
+        Bgr565 color2 = new(new(1.0f));
+        Bgr565 color3 = new(new(1.0f, 0.0f, 0.0f));
         Bgr565 color4 = new(1.0f, 1.0f, 0.0f);
 
         Assert.NotEqual(color1, color2);
@@ -101,7 +101,7 @@ public void Bgr565_FromBgra5551()
         const ushort expected = ushort.MaxValue;
 
         // act
-        Bgr565 bgr = Bgr565.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        Bgr565 bgr = Bgr565.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, bgr.PackedValue);
@@ -115,8 +115,8 @@ public void Bgr565_FromArgb32()
         const ushort expected2 = ushort.MaxValue;
 
         // act
-        Bgr565 bgr1 = Bgr565.FromArgb32(new Argb32(1.0f, 1.0f, 1.0f, 1.0f));
-        Bgr565 bgr2 = Bgr565.FromArgb32(new Argb32(1.0f, 1.0f, 1.0f, 0.0f));
+        Bgr565 bgr1 = Bgr565.FromArgb32(new(1.0f, 1.0f, 1.0f, 1.0f));
+        Bgr565 bgr2 = Bgr565.FromArgb32(new(1.0f, 1.0f, 1.0f, 0.0f));
 
         // assert
         Assert.Equal(expected1, bgr1.PackedValue);
@@ -131,8 +131,8 @@ public void Bgr565_FromRgba32()
         const ushort expected2 = ushort.MaxValue;
 
         // act
-        Bgr565 bgr1 = Bgr565.FromRgba32(new Rgba32(1.0f, 1.0f, 1.0f, 1.0f));
-        Bgr565 bgr2 = Bgr565.FromRgba32(new Rgba32(1.0f, 1.0f, 1.0f, 0.0f));
+        Bgr565 bgr1 = Bgr565.FromRgba32(new(1.0f, 1.0f, 1.0f, 1.0f));
+        Bgr565 bgr2 = Bgr565.FromRgba32(new(1.0f, 1.0f, 1.0f, 0.0f));
 
         // assert
         Assert.Equal(expected1, bgr1.PackedValue);
@@ -159,7 +159,7 @@ public void Bgra565_FromRgb48()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgr565 bgr = Bgr565.FromRgb48(new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Bgr565 bgr = Bgr565.FromRgb48(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, bgr.PackedValue);
@@ -172,7 +172,7 @@ public void Bgra565_FromRgba64()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgr565 bgr = Bgr565.FromRgba64(new Rgba64(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Bgr565 bgr = Bgr565.FromRgba64(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, bgr.PackedValue);
@@ -185,7 +185,7 @@ public void Bgr565_FromBgr24()
         const ushort expected = ushort.MaxValue;
 
         // act
-        Bgr565 bgr = Bgr565.FromBgr24(new Bgr24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Bgr565 bgr = Bgr565.FromBgr24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expected, bgr.PackedValue);
@@ -198,7 +198,7 @@ public void Bgr565_FromRgb24()
         const ushort expected = ushort.MaxValue;
 
         // act
-        Bgr565 bgr = Bgr565.FromRgb24(new Rgb24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Bgr565 bgr = Bgr565.FromRgb24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expected, bgr.PackedValue);
@@ -211,7 +211,7 @@ public void Bgr565_FromGrey8()
         const ushort expected = ushort.MaxValue;
 
         // act
-        Bgr565 bgr = Bgr565.FromL8(new L8(byte.MaxValue));
+        Bgr565 bgr = Bgr565.FromL8(new(byte.MaxValue));
 
         // assert
         Assert.Equal(expected, bgr.PackedValue);
@@ -224,7 +224,7 @@ public void Bgr565_FromGrey16()
         const ushort expected = ushort.MaxValue;
 
         // act
-        Bgr565 bgr = Bgr565.FromL16(new L16(ushort.MaxValue));
+        Bgr565 bgr = Bgr565.FromL16(new(ushort.MaxValue));
 
         // assert
         Assert.Equal(expected, bgr.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Bgra32Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Bgra32Tests.cs
index 277975896e..d0150c808b 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Bgra32Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Bgra32Tests.cs
@@ -96,7 +96,7 @@ public void Equality_WhenFalse(byte b1, byte g1, byte r1, byte a1, byte b2, byte
     [Fact]
     public void FromRgba32()
     {
-        Bgra32 bgra = Bgra32.FromRgba32(new Rgba32(1, 2, 3, 4));
+        Bgra32 bgra = Bgra32.FromRgba32(new(1, 2, 3, 4));
 
         Assert.Equal(1, bgra.R);
         Assert.Equal(2, bgra.G);
@@ -136,7 +136,7 @@ public void Bgra32_FromBgra5551()
         const uint expected = uint.MaxValue;
 
         // act
-        Bgra32 bgra = Bgra32.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        Bgra32 bgra = Bgra32.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, bgra.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Bgra4444Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Bgra4444Tests.cs
index 5d20b5cf12..166a069402 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Bgra4444Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Bgra4444Tests.cs
@@ -17,8 +17,8 @@ public class Bgra4444Tests
     public void AreEqual()
     {
         Bgra4444 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        Bgra4444 color2 = new(new Vector4(0.0f));
-        Bgra4444 color3 = new(new Vector4(1.0f, 0.0f, 1.0f, 1.0f));
+        Bgra4444 color2 = new(new(0.0f));
+        Bgra4444 color3 = new(new(1.0f, 0.0f, 1.0f, 1.0f));
         Bgra4444 color4 = new(1.0f, 0.0f, 1.0f, 1.0f);
 
         Assert.Equal(color1, color2);
@@ -32,8 +32,8 @@ public void AreEqual()
     public void AreNotEqual()
     {
         Bgra4444 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        Bgra4444 color2 = new(new Vector4(1.0f));
-        Bgra4444 color3 = new(new Vector4(1.0f, 0.0f, 0.0f, 1.0f));
+        Bgra4444 color2 = new(new(1.0f));
+        Bgra4444 color3 = new(new(1.0f, 0.0f, 0.0f, 1.0f));
         Bgra4444 color4 = new(1.0f, 1.0f, 0.0f, 1.0f);
 
         Assert.NotEqual(color1, color2);
@@ -114,7 +114,7 @@ public void Bgra4444_FromBgra5551()
         const ushort expected = ushort.MaxValue;
 
         // act
-        Bgra4444 pixel = Bgra4444.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        Bgra4444 pixel = Bgra4444.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, pixel.PackedValue);
@@ -127,7 +127,7 @@ public void Bgra4444_FromArgb32()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra4444 pixel = Bgra4444.FromArgb32(new Argb32(255, 255, 255, 255));
+        Bgra4444 pixel = Bgra4444.FromArgb32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -141,8 +141,8 @@ public void Bgra4444_FromRgba32()
         const ushort expectedPackedValue2 = 0xFF0F;
 
         // act
-        Bgra4444 bgra1 = Bgra4444.FromRgba32(new Rgba32(255, 255, 255, 255));
-        Bgra4444 bgra2 = Bgra4444.FromRgba32(new Rgba32(255, 0, 255, 255));
+        Bgra4444 bgra1 = Bgra4444.FromRgba32(new(255, 255, 255, 255));
+        Bgra4444 bgra2 = Bgra4444.FromRgba32(new(255, 0, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue1, bgra1.PackedValue);
@@ -156,7 +156,7 @@ public void Bgra4444_FromRgb48()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra4444 pixel = Bgra4444.FromRgb48(new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Bgra4444 pixel = Bgra4444.FromRgb48(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -169,7 +169,7 @@ public void Bgra4444_FromRgba64()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra4444 pixel = Bgra4444.FromRgba64(new Rgba64(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Bgra4444 pixel = Bgra4444.FromRgba64(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -182,7 +182,7 @@ public void Bgra4444_FromGrey16()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra4444 pixel = Bgra4444.FromL16(new L16(ushort.MaxValue));
+        Bgra4444 pixel = Bgra4444.FromL16(new(ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -195,7 +195,7 @@ public void Bgra4444_FromGrey8()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra4444 pixel = Bgra4444.FromL8(new L8(byte.MaxValue));
+        Bgra4444 pixel = Bgra4444.FromL8(new(byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -208,7 +208,7 @@ public void Bgra4444_FromBgr24()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra4444 pixel = Bgra4444.FromBgr24(new Bgr24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Bgra4444 pixel = Bgra4444.FromBgr24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -221,7 +221,7 @@ public void Bgra4444_FromRgb24()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra4444 pixel = Bgra4444.FromRgb24(new Rgb24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Bgra4444 pixel = Bgra4444.FromRgb24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Bgra5551Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Bgra5551Tests.cs
index 38f809e49f..a19f0e9a19 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Bgra5551Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Bgra5551Tests.cs
@@ -17,8 +17,8 @@ public class Bgra5551Tests
     public void AreEqual()
     {
         Bgra5551 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        Bgra5551 color2 = new(new Vector4(0.0f));
-        Bgra5551 color3 = new(new Vector4(1f, 0.0f, 0.0f, 1f));
+        Bgra5551 color2 = new(new(0.0f));
+        Bgra5551 color3 = new(new(1f, 0.0f, 0.0f, 1f));
         Bgra5551 color4 = new(1f, 0.0f, 0.0f, 1f);
 
         Assert.Equal(color1, color2);
@@ -32,8 +32,8 @@ public void AreEqual()
     public void AreNotEqual()
     {
         Bgra5551 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        Bgra5551 color2 = new(new Vector4(1f));
-        Bgra5551 color3 = new(new Vector4(1f, 0.0f, 0.0f, 1f));
+        Bgra5551 color2 = new(new(1f));
+        Bgra5551 color3 = new(new(1f, 0.0f, 0.0f, 1f));
         Bgra5551 color4 = new(1f, 1f, 0.0f, 1f);
 
         Assert.NotEqual(color1, color2);
@@ -134,8 +134,8 @@ public void Bgra5551_FromRgba32()
         const ushort expectedPackedValue2 = 0xFC1F;
 
         // act
-        Bgra5551 bgra1 = Bgra5551.FromRgba32(new Rgba32(255, 255, 255, 255));
-        Bgra5551 bgra2 = Bgra5551.FromRgba32(new Rgba32(255, 0, 255, 255));
+        Bgra5551 bgra1 = Bgra5551.FromRgba32(new(255, 255, 255, 255));
+        Bgra5551 bgra2 = Bgra5551.FromRgba32(new(255, 0, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue1, bgra1.PackedValue);
@@ -150,8 +150,8 @@ public void Bgra5551_FromBgra32()
         const ushort expectedPackedValue2 = 0xFC1F;
 
         // act
-        Bgra5551 bgra1 = Bgra5551.FromBgra32(new Bgra32(255, 255, 255, 255));
-        Bgra5551 bgra2 = Bgra5551.FromBgra32(new Bgra32(255, 0, 255, 255));
+        Bgra5551 bgra1 = Bgra5551.FromBgra32(new(255, 255, 255, 255));
+        Bgra5551 bgra2 = Bgra5551.FromBgra32(new(255, 0, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue1, bgra1.PackedValue);
@@ -165,7 +165,7 @@ public void Bgra5551_FromArgb32()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra5551 pixel = Bgra5551.FromArgb32(new Argb32(255, 255, 255, 255));
+        Bgra5551 pixel = Bgra5551.FromArgb32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -178,7 +178,7 @@ public void Bgra5551_FromRgb48()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra5551 pixel = Bgra5551.FromRgb48(new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Bgra5551 pixel = Bgra5551.FromRgb48(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -191,7 +191,7 @@ public void Bgra5551_FromRgba64()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra5551 pixel = Bgra5551.FromRgba64(new Rgba64(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Bgra5551 pixel = Bgra5551.FromRgba64(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -204,7 +204,7 @@ public void Bgra5551_FromGrey16()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra5551 pixel = Bgra5551.FromL16(new L16(ushort.MaxValue));
+        Bgra5551 pixel = Bgra5551.FromL16(new(ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -217,7 +217,7 @@ public void Bgra5551_FromGrey8()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra5551 pixel = Bgra5551.FromL8(new L8(byte.MaxValue));
+        Bgra5551 pixel = Bgra5551.FromL8(new(byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -230,7 +230,7 @@ public void Bgra5551_FromBgr24()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra5551 pixel = Bgra5551.FromBgr24(new Bgr24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Bgra5551 pixel = Bgra5551.FromBgr24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -243,7 +243,7 @@ public void Bgra5551_FromRgb24()
         const ushort expectedPackedValue = ushort.MaxValue;
 
         // act
-        Bgra5551 pixel = Bgra5551.FromRgb24(new Rgb24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Bgra5551 pixel = Bgra5551.FromRgb24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Byte4Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Byte4Tests.cs
index e73d646408..51c7ec4dbb 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Byte4Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Byte4Tests.cs
@@ -17,8 +17,8 @@ public class Byte4Tests
     public void AreEqual()
     {
         Byte4 color1 = new(0f, 0f, 0f, 0f);
-        Byte4 color2 = new(new Vector4(0f));
-        Byte4 color3 = new(new Vector4(1f, 0f, 1f, 1f));
+        Byte4 color2 = new(new(0f));
+        Byte4 color3 = new(new(1f, 0f, 1f, 1f));
         Byte4 color4 = new(1f, 0f, 1f, 1f);
 
         Assert.Equal(color1, color2);
@@ -32,8 +32,8 @@ public void AreEqual()
     public void AreNotEqual()
     {
         Byte4 color1 = new(0f, 0f, 0f, 0f);
-        Byte4 color2 = new(new Vector4(1f));
-        Byte4 color3 = new(new Vector4(1f, 0f, 0f, 1f));
+        Byte4 color2 = new(new(1f));
+        Byte4 color3 = new(new(1f, 0f, 0f, 1f));
         Byte4 color4 = new(1f, 1f, 0f, 1f);
 
         Assert.NotEqual(color1, color2);
@@ -111,7 +111,7 @@ public void Byte4_FromArgb32()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Byte4 pixel = Byte4.FromArgb32(new Argb32(255, 255, 255, 255));
+        Byte4 pixel = Byte4.FromArgb32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -124,7 +124,7 @@ public void Byte4_FromBgr24()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Byte4 pixel = Byte4.FromBgr24(new Bgr24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Byte4 pixel = Byte4.FromBgr24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -137,7 +137,7 @@ public void Byte4_FromGrey8()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Byte4 pixel = Byte4.FromL8(new L8(byte.MaxValue));
+        Byte4 pixel = Byte4.FromL8(new(byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -150,7 +150,7 @@ public void Byte4_FromGrey16()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Byte4 pixel = Byte4.FromL16(new L16(ushort.MaxValue));
+        Byte4 pixel = Byte4.FromL16(new(ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -163,7 +163,7 @@ public void Byte4_FromRgb24()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Byte4 pixel = Byte4.FromRgb24(new Rgb24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Byte4 pixel = Byte4.FromRgb24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -176,7 +176,7 @@ public void Byte4_FromBgra5551()
         const uint expected = 0xFFFFFFFF;
 
         // act
-        Byte4 pixel = Byte4.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        Byte4 pixel = Byte4.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, pixel.PackedValue);
@@ -189,7 +189,7 @@ public void Byte4_FromRgba32()
         const uint expectedPackedValue1 = uint.MaxValue;
 
         // act
-        Byte4 pixel = Byte4.FromRgba32(new Rgba32(255, 255, 255, 255));
+        Byte4 pixel = Byte4.FromRgba32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue1, pixel.PackedValue);
@@ -202,7 +202,7 @@ public void Byte4_FromRgb48()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Byte4 pixel = Byte4.FromRgb48(new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Byte4 pixel = Byte4.FromRgb48(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
@@ -215,7 +215,7 @@ public void Byte4_FromRgba64()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Byte4 pixel = Byte4.FromRgba64(new Rgba64(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Byte4 pixel = Byte4.FromRgba64(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, pixel.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/HalfVector2Tests.cs b/tests/ImageSharp.Tests/PixelFormats/HalfVector2Tests.cs
index c5a89df1e9..d723aac47a 100644
--- a/tests/ImageSharp.Tests/PixelFormats/HalfVector2Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/HalfVector2Tests.cs
@@ -76,7 +76,7 @@ public void HalfVector2_ToVector4()
     public void HalfVector2_FromBgra5551()
     {
         // act
-        HalfVector2 pixel = HalfVector2.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        HalfVector2 pixel = HalfVector2.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Vector4 actual = pixel.ToScaledVector4();
diff --git a/tests/ImageSharp.Tests/PixelFormats/HalfVector4Tests.cs b/tests/ImageSharp.Tests/PixelFormats/HalfVector4Tests.cs
index 16c78a23d3..5717118009 100644
--- a/tests/ImageSharp.Tests/PixelFormats/HalfVector4Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/HalfVector4Tests.cs
@@ -73,7 +73,7 @@ public void HalfVector4_FromBgra5551()
         Vector4 expected = Vector4.One;
 
         // act
-        HalfVector4 pixel = HalfVector4.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        HalfVector4 pixel = HalfVector4.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
diff --git a/tests/ImageSharp.Tests/PixelFormats/L16Tests.cs b/tests/ImageSharp.Tests/PixelFormats/L16Tests.cs
index 7f0a4217c1..5631bbc7e0 100644
--- a/tests/ImageSharp.Tests/PixelFormats/L16Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/L16Tests.cs
@@ -115,7 +115,7 @@ public void L16_FromRgba32()
         ushort expected = ColorNumerics.Get16BitBT709Luminance(scaledRgb, scaledRgb, scaledRgb);
 
         // Act
-        L16 pixel = L16.FromRgba32(new Rgba32(rgb, rgb, rgb));
+        L16 pixel = L16.FromRgba32(new(rgb, rgb, rgb));
         ushort actual = pixel.PackedValue;
 
         // Assert
@@ -149,7 +149,7 @@ public void L16_FromBgra5551()
         const ushort expected = ushort.MaxValue;
 
         // act
-        L16 pixel = L16.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        L16 pixel = L16.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, pixel.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/L8Tests.cs b/tests/ImageSharp.Tests/PixelFormats/L8Tests.cs
index 1ca865ef41..b1c94c754b 100644
--- a/tests/ImageSharp.Tests/PixelFormats/L8Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/L8Tests.cs
@@ -114,7 +114,7 @@ public void L8_FromRgba32(byte rgb)
         byte expected = ColorNumerics.Get8BitBT709Luminance(rgb, rgb, rgb);
 
         // Act
-        L8 pixel = L8.FromRgba32(new Rgba32(rgb, rgb, rgb));
+        L8 pixel = L8.FromRgba32(new(rgb, rgb, rgb));
         byte actual = pixel.PackedValue;
 
         // Assert
@@ -145,7 +145,7 @@ public void L8_FromBgra5551()
         const byte expected = byte.MaxValue;
 
         // act
-        L8 grey = L8.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        L8 grey = L8.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, grey.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/La16Tests.cs b/tests/ImageSharp.Tests/PixelFormats/La16Tests.cs
index f6cbfc4426..d82afdff1e 100644
--- a/tests/ImageSharp.Tests/PixelFormats/La16Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/La16Tests.cs
@@ -116,7 +116,7 @@ public void La16_FromRgba32(byte rgb)
         byte expected = ColorNumerics.Get8BitBT709Luminance(rgb, rgb, rgb);
 
         // Act
-        La16 gray = La16.FromRgba32(new Rgba32(rgb, rgb, rgb));
+        La16 gray = La16.FromRgba32(new(rgb, rgb, rgb));
         byte actual = gray.L;
 
         // Assert
@@ -148,7 +148,7 @@ public void La16_FromBgra5551()
         const byte expected = byte.MaxValue;
 
         // act
-        La16 grey = La16.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        La16 grey = La16.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, grey.L);
diff --git a/tests/ImageSharp.Tests/PixelFormats/La32Tests.cs b/tests/ImageSharp.Tests/PixelFormats/La32Tests.cs
index fd5556d3bc..571aa3fd03 100644
--- a/tests/ImageSharp.Tests/PixelFormats/La32Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/La32Tests.cs
@@ -119,7 +119,7 @@ public void La32_FromRgba32()
         ushort expected = ColorNumerics.Get16BitBT709Luminance(scaledRgb, scaledRgb, scaledRgb);
 
         // Act
-        La32 pixel = La32.FromRgba32(new Rgba32(rgb, rgb, rgb));
+        La32 pixel = La32.FromRgba32(new(rgb, rgb, rgb));
         ushort actual = pixel.L;
 
         // Assert
@@ -154,7 +154,7 @@ public void La32_FromBgra5551()
         const ushort expected = ushort.MaxValue;
 
         // act
-        La32 pixel = La32.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        La32 pixel = La32.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, pixel.L);
diff --git a/tests/ImageSharp.Tests/PixelFormats/NormalizedByte2Tests.cs b/tests/ImageSharp.Tests/PixelFormats/NormalizedByte2Tests.cs
index ffbddb1398..c6a14518a7 100644
--- a/tests/ImageSharp.Tests/PixelFormats/NormalizedByte2Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/NormalizedByte2Tests.cs
@@ -32,8 +32,8 @@ public void NormalizedByte2_ToVector2()
     [Fact]
     public void NormalizedByte2_ToVector4()
     {
-        Assert.Equal(new Vector4(1, 1, 0, 1), new NormalizedByte2(Vector2.One).ToVector4());
-        Assert.Equal(new Vector4(0, 0, 0, 1), new NormalizedByte2(Vector2.Zero).ToVector4());
+        Assert.Equal(new(1, 1, 0, 1), new NormalizedByte2(Vector2.One).ToVector4());
+        Assert.Equal(new(0, 0, 0, 1), new NormalizedByte2(Vector2.Zero).ToVector4());
     }
 
     [Fact]
@@ -74,7 +74,7 @@ public void NormalizedByte2_FromBgra5551()
         Vector4 expected = new(1, 1, 0, 1);
 
         // act
-        NormalizedByte2 pixel = NormalizedByte2.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        NormalizedByte2 pixel = NormalizedByte2.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, pixel.ToVector4());
diff --git a/tests/ImageSharp.Tests/PixelFormats/NormalizedByte4Tests.cs b/tests/ImageSharp.Tests/PixelFormats/NormalizedByte4Tests.cs
index 5a025f6c4e..40d81cad66 100644
--- a/tests/ImageSharp.Tests/PixelFormats/NormalizedByte4Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/NormalizedByte4Tests.cs
@@ -17,8 +17,8 @@ public class NormalizedByte4Tests
     public void AreEqual()
     {
         NormalizedByte4 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        NormalizedByte4 color2 = new(new Vector4(0.0f));
-        NormalizedByte4 color3 = new(new Vector4(1f, 0.0f, 1f, 1f));
+        NormalizedByte4 color2 = new(new(0.0f));
+        NormalizedByte4 color3 = new(new(1f, 0.0f, 1f, 1f));
         NormalizedByte4 color4 = new(1f, 0.0f, 1f, 1f);
 
         Assert.Equal(color1, color2);
@@ -32,8 +32,8 @@ public void AreEqual()
     public void AreNotEqual()
     {
         NormalizedByte4 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        NormalizedByte4 color2 = new(new Vector4(1f));
-        NormalizedByte4 color3 = new(new Vector4(1f, 0.0f, 0.0f, 1f));
+        NormalizedByte4 color2 = new(new(1f));
+        NormalizedByte4 color3 = new(new(1f, 0.0f, 0.0f, 1f));
         NormalizedByte4 color4 = new(1f, 1f, 0.0f, 1f);
 
         Assert.NotEqual(color1, color2);
@@ -98,7 +98,7 @@ public void NormalizedByte4_FromArgb32()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromArgb32(new Argb32(255, 255, 255, 255));
+        NormalizedByte4 pixel = NormalizedByte4.FromArgb32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -111,7 +111,7 @@ public void NormalizedByte4_FromBgr24()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromBgr24(new Bgr24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        NormalizedByte4 pixel = NormalizedByte4.FromBgr24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -124,7 +124,7 @@ public void NormalizedByte4_FromGrey8()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromL8(new L8(byte.MaxValue));
+        NormalizedByte4 pixel = NormalizedByte4.FromL8(new(byte.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -137,7 +137,7 @@ public void NormalizedByte4_FromGrey16()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromL16(new L16(ushort.MaxValue));
+        NormalizedByte4 pixel = NormalizedByte4.FromL16(new(ushort.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -150,7 +150,7 @@ public void NormalizedByte4_FromRgb24()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromRgb24(new Rgb24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        NormalizedByte4 pixel = NormalizedByte4.FromRgb24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -163,7 +163,7 @@ public void NormalizedByte4_FromRgba32()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromRgba32(new Rgba32(255, 255, 255, 255));
+        NormalizedByte4 pixel = NormalizedByte4.FromRgba32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -176,7 +176,7 @@ public void NormalizedByte4_FromBgra5551()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        NormalizedByte4 pixel = NormalizedByte4.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, pixel.ToVector4());
@@ -189,7 +189,7 @@ public void NormalizedByte4_FromRgb48()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromRgb48(new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        NormalizedByte4 pixel = NormalizedByte4.FromRgb48(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -202,7 +202,7 @@ public void NormalizedByte4_FromRgba64()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedByte4 pixel = NormalizedByte4.FromRgba64(new Rgba64(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        NormalizedByte4 pixel = NormalizedByte4.FromRgba64(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
diff --git a/tests/ImageSharp.Tests/PixelFormats/NormalizedShort2Tests.cs b/tests/ImageSharp.Tests/PixelFormats/NormalizedShort2Tests.cs
index be7b390527..f153f6aea2 100644
--- a/tests/ImageSharp.Tests/PixelFormats/NormalizedShort2Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/NormalizedShort2Tests.cs
@@ -36,8 +36,8 @@ public void NormalizedShort2_ToVector2()
     [Fact]
     public void NormalizedShort2_ToVector4()
     {
-        Assert.Equal(new Vector4(1, 1, 0, 1), new NormalizedShort2(Vector2.One).ToVector4());
-        Assert.Equal(new Vector4(0, 0, 0, 1), new NormalizedShort2(Vector2.Zero).ToVector4());
+        Assert.Equal(new(1, 1, 0, 1), new NormalizedShort2(Vector2.One).ToVector4());
+        Assert.Equal(new(0, 0, 0, 1), new NormalizedShort2(Vector2.Zero).ToVector4());
     }
 
     [Fact]
@@ -78,7 +78,7 @@ public void NormalizedShort2_FromBgra5551()
         Vector4 expected = new(1, 1, 0, 1);
 
         // act
-        NormalizedShort2 normalizedShort2 = NormalizedShort2.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        NormalizedShort2 normalizedShort2 = NormalizedShort2.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, normalizedShort2.ToVector4());
diff --git a/tests/ImageSharp.Tests/PixelFormats/NormalizedShort4Tests.cs b/tests/ImageSharp.Tests/PixelFormats/NormalizedShort4Tests.cs
index 281ae7ee52..cf0c3e8195 100644
--- a/tests/ImageSharp.Tests/PixelFormats/NormalizedShort4Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/NormalizedShort4Tests.cs
@@ -17,8 +17,8 @@ public class NormalizedShort4Tests
     public void AreEqual()
     {
         NormalizedShort4 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        NormalizedShort4 color2 = new(new Vector4(0.0f));
-        NormalizedShort4 color3 = new(new Vector4(1f, 0.0f, 1f, 1f));
+        NormalizedShort4 color2 = new(new(0.0f));
+        NormalizedShort4 color3 = new(new(1f, 0.0f, 1f, 1f));
         NormalizedShort4 color4 = new(1f, 0.0f, 1f, 1f);
 
         Assert.Equal(color1, color2);
@@ -32,8 +32,8 @@ public void AreEqual()
     public void AreNotEqual()
     {
         NormalizedShort4 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        NormalizedShort4 color2 = new(new Vector4(1f));
-        NormalizedShort4 color3 = new(new Vector4(1f, 0.0f, 0.0f, 1f));
+        NormalizedShort4 color2 = new(new(1f));
+        NormalizedShort4 color3 = new(new(1f, 0.0f, 0.0f, 1f));
         NormalizedShort4 color4 = new(1f, 1f, 0.0f, 1f);
 
         Assert.NotEqual(color1, color2);
@@ -99,7 +99,7 @@ public void NormalizedShort4_FromArgb32()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 pixel = NormalizedShort4.FromArgb32(new Argb32(255, 255, 255, 255));
+        NormalizedShort4 pixel = NormalizedShort4.FromArgb32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -112,7 +112,7 @@ public void NormalizedShort4_FromBgr24()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 pixel = NormalizedShort4.FromBgr24(new Bgr24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        NormalizedShort4 pixel = NormalizedShort4.FromBgr24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -125,7 +125,7 @@ public void NormalizedShort4_FromGrey8()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 pixel = NormalizedShort4.FromL8(new L8(byte.MaxValue));
+        NormalizedShort4 pixel = NormalizedShort4.FromL8(new(byte.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -138,7 +138,7 @@ public void NormalizedShort4_FromGrey16()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 pixel = NormalizedShort4.FromL16(new L16(ushort.MaxValue));
+        NormalizedShort4 pixel = NormalizedShort4.FromL16(new(ushort.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -151,7 +151,7 @@ public void NormalizedShort4_FromRgb24()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 pixel = NormalizedShort4.FromRgb24(new Rgb24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        NormalizedShort4 pixel = NormalizedShort4.FromRgb24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -164,7 +164,7 @@ public void NormalizedShort4_FromRgba32()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 pixel = NormalizedShort4.FromRgba32(new Rgba32(255, 255, 255, 255));
+        NormalizedShort4 pixel = NormalizedShort4.FromRgba32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -177,7 +177,7 @@ public void NormalizedShort4_FromRgb48()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 pixel = NormalizedShort4.FromRgb48(new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        NormalizedShort4 pixel = NormalizedShort4.FromRgb48(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -190,7 +190,7 @@ public void NormalizedShort4_FromRgba64()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 pixel = NormalizedShort4.FromRgba64(new Rgba64(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        NormalizedShort4 pixel = NormalizedShort4.FromRgba64(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expected, pixel.ToScaledVector4());
@@ -216,7 +216,7 @@ public void NormalizedShort4_FromBgra5551()
         Vector4 expected = Vector4.One;
 
         // act
-        NormalizedShort4 normalizedShort4 = NormalizedShort4.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        NormalizedShort4 normalizedShort4 = NormalizedShort4.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, normalizedShort4.ToVector4());
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelBlenderTests.cs b/tests/ImageSharp.Tests/PixelFormats/PixelBlenderTests.cs
index 924e94d929..2e66115b0d 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelBlenderTests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelBlenderTests.cs
@@ -44,14 +44,14 @@ public void ReturnsCorrectBlender<TPixel>(TestPixel<TPixel> pixel, Type type, Pi
     public static TheoryData<Rgba32, Rgba32, float, PixelColorBlendingMode, Rgba32> ColorBlendingExpectedResults = new()
     {
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Normal, Color.MidnightBlue.ToPixel<Rgba32>() },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Screen, new Rgba32(0xFFEEE7FF) },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.HardLight, new Rgba32(0xFFC62D32) },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Overlay, new Rgba32(0xFFDDCEFF) },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Darken, new Rgba32(0xFF701919) },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Lighten, new Rgba32(0xFFE1E4FF) },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Add, new Rgba32(0xFFFFFDFF) },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Subtract, new Rgba32(0xFF71CBE6) },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Multiply, new Rgba32(0xFF631619) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Screen, new(0xFFEEE7FF) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.HardLight, new(0xFFC62D32) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Overlay, new(0xFFDDCEFF) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Darken, new(0xFF701919) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Lighten, new(0xFFE1E4FF) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Add, new(0xFFFFFDFF) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Subtract, new(0xFF71CBE6) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelColorBlendingMode.Multiply, new(0xFF631619) },
     };
 
     [Theory]
@@ -67,17 +67,17 @@ public void TestColorBlendingModes(Rgba32 backdrop, Rgba32 source, float opacity
 
     public static TheoryData<Rgba32, Rgba32, float, PixelAlphaCompositionMode, Rgba32> AlphaCompositionExpectedResults = new()
     {
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.Clear, new Rgba32(0) },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.Xor, new Rgba32(0) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.Clear, new(0) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.Xor, new(0) },
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.Dest, Color.MistyRose.ToPixel<Rgba32>() },
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.DestAtop, Color.MistyRose.ToPixel<Rgba32>() },
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.DestIn, Color.MistyRose.ToPixel<Rgba32>() },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.DestOut, new Rgba32(0) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.DestOut, new(0) },
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.DestOver, Color.MistyRose.ToPixel<Rgba32>() },
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.Src, Color.MidnightBlue.ToPixel<Rgba32>() },
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.SrcAtop, Color.MidnightBlue.ToPixel<Rgba32>() },
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.SrcIn, Color.MidnightBlue.ToPixel<Rgba32>() },
-        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.SrcOut, new Rgba32(0) },
+        { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.SrcOut, new(0) },
         { Color.MistyRose.ToPixel<Rgba32>(), Color.MidnightBlue.ToPixel<Rgba32>(), 1, PixelAlphaCompositionMode.SrcOver, Color.MidnightBlue.ToPixel<Rgba32>() },
     };
 
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTests.cs b/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTests.cs
index 976a272ebf..908625e17a 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTests.cs
@@ -16,8 +16,8 @@ public class PorterDuffFunctionsTests
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> NormalBlendFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(0.6f, 0.6f, 0.6f, 1) }
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(1, 1, 1, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(0.6f, 0.6f, 0.6f, 1) }
     };
 
     [Theory]
@@ -47,9 +47,9 @@ public void NormalBlendFunction256(TestVector4 back, TestVector4 source, float a
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> MultiplyFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(0.6f, 0.6f, 0.6f, 1) },
-        { new TestVector4(0.9f, 0.9f, 0.9f, 0.9f), new TestVector4(0.4f, 0.4f, 0.4f, 0.4f), .5f, new TestVector4(0.7834783f, 0.7834783f, 0.7834783f, 0.92f) }
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(1, 1, 1, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(0.6f, 0.6f, 0.6f, 1) },
+        { new(0.9f, 0.9f, 0.9f, 0.9f), new(0.4f, 0.4f, 0.4f, 0.4f), .5f, new(0.7834783f, 0.7834783f, 0.7834783f, 0.92f) }
     };
 
     [Theory]
@@ -79,9 +79,9 @@ public void MultiplyFunction256(TestVector4 back, TestVector4 source, float amou
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> AddFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(0.2f, 0.2f, 0.2f, 0.3f), new TestVector4(0.3f, 0.3f, 0.3f, 0.2f), .5f, new TestVector4(0.24324325f, 0.24324325f, 0.24324325f, .37f) }
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(1, 1, 1, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(1, 1, 1, 1) },
+        { new(0.2f, 0.2f, 0.2f, 0.3f), new(0.3f, 0.3f, 0.3f, 0.2f), .5f, new(0.24324325f, 0.24324325f, 0.24324325f, .37f) }
     };
 
     [Theory]
@@ -111,9 +111,9 @@ public void AddFunction256(TestVector4 back, TestVector4 source, float amount, T
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> SubtractFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(0, 0, 0, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(1, 1, 1, 1f) },
-        { new TestVector4(0.2f, 0.2f, 0.2f, 0.3f), new TestVector4(0.3f, 0.3f, 0.3f, 0.2f), .5f, new TestVector4(.2027027f, .2027027f, .2027027f, .37f) }
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(0, 0, 0, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(1, 1, 1, 1f) },
+        { new(0.2f, 0.2f, 0.2f, 0.3f), new(0.3f, 0.3f, 0.3f, 0.2f), .5f, new(.2027027f, .2027027f, .2027027f, .37f) }
     };
 
     [Theory]
@@ -143,9 +143,9 @@ public void SubtractFunction256(TestVector4 back, TestVector4 source, float amou
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> ScreenFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(1, 1, 1, 1f) },
-        { new TestVector4(0.2f, 0.2f, 0.2f, 0.3f), new TestVector4(0.3f, 0.3f, 0.3f, 0.2f), .5f, new TestVector4(.2383784f, .2383784f, .2383784f, .37f) }
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(1, 1, 1, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(1, 1, 1, 1f) },
+        { new(0.2f, 0.2f, 0.2f, 0.3f), new(0.3f, 0.3f, 0.3f, 0.2f), .5f, new(.2383784f, .2383784f, .2383784f, .37f) }
     };
 
     [Theory]
@@ -175,9 +175,9 @@ public void ScreenFunction256(TestVector4 back, TestVector4 source, float amount
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> DarkenFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(.6f, .6f, .6f, 1f) },
-        { new TestVector4(0.2f, 0.2f, 0.2f, 0.3f), new TestVector4(0.3f, 0.3f, 0.3f, 0.2f), .5f, new TestVector4(.2189189f, .2189189f, .2189189f, .37f) }
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(1, 1, 1, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(.6f, .6f, .6f, 1f) },
+        { new(0.2f, 0.2f, 0.2f, 0.3f), new(0.3f, 0.3f, 0.3f, 0.2f), .5f, new(.2189189f, .2189189f, .2189189f, .37f) }
     };
 
     [Theory]
@@ -207,9 +207,9 @@ public void DarkenFunction256(TestVector4 back, TestVector4 source, float amount
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> LightenFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(1, 1, 1, 1f) },
-        { new TestVector4(0.2f, 0.2f, 0.2f, 0.3f), new TestVector4(0.3f, 0.3f, 0.3f, 0.2f), .5f, new TestVector4(.227027f, .227027f, .227027f, .37f) },
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(1, 1, 1, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(1, 1, 1, 1f) },
+        { new(0.2f, 0.2f, 0.2f, 0.3f), new(0.3f, 0.3f, 0.3f, 0.2f), .5f, new(.227027f, .227027f, .227027f, .37f) },
     };
 
     [Theory]
@@ -239,9 +239,9 @@ public void LightenFunction256(TestVector4 back, TestVector4 source, float amoun
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> OverlayFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(1, 1, 1, 1f) },
-        { new TestVector4(0.2f, 0.2f, 0.2f, 0.3f), new TestVector4(0.3f, 0.3f, 0.3f, 0.2f), .5f, new TestVector4(.2124324f, .2124324f, .2124324f, .37f) },
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(1, 1, 1, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(1, 1, 1, 1f) },
+        { new(0.2f, 0.2f, 0.2f, 0.3f), new(0.3f, 0.3f, 0.3f, 0.2f), .5f, new(.2124324f, .2124324f, .2124324f, .37f) },
     };
 
     [Theory]
@@ -271,9 +271,9 @@ public void OverlayFunction256(TestVector4 back, TestVector4 source, float amoun
 
     public static TheoryData<TestVector4, TestVector4, float, TestVector4> HardLightFunctionData { get; } = new()
     {
-        { new TestVector4(1, 1, 1, 1), new TestVector4(1, 1, 1, 1), 1, new TestVector4(1, 1, 1, 1) },
-        { new TestVector4(1, 1, 1, 1), new TestVector4(0, 0, 0, .8f), .5f, new TestVector4(0.6f, 0.6f, 0.6f, 1f) },
-        { new TestVector4(0.2f, 0.2f, 0.2f, 0.3f), new TestVector4(0.3f, 0.3f, 0.3f, 0.2f), .5f, new TestVector4(.2124324f, .2124324f, .2124324f, .37f) },
+        { new(1, 1, 1, 1), new(1, 1, 1, 1), 1, new(1, 1, 1, 1) },
+        { new(1, 1, 1, 1), new(0, 0, 0, .8f), .5f, new(0.6f, 0.6f, 0.6f, 1f) },
+        { new(0.2f, 0.2f, 0.2f, 0.3f), new(0.3f, 0.3f, 0.3f, 0.2f), .5f, new(.2124324f, .2124324f, .2124324f, .37f) },
     };
 
     [Theory]
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTestsTPixel.cs b/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTestsTPixel.cs
index f423451978..4c15fda313 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTestsTPixel.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelBlenders/PorterDuffFunctionsTestsTPixel.cs
@@ -12,10 +12,10 @@ public class PorterDuffFunctionsTestsTPixel
     private static Span<T> AsSpan<T>(T value)
         where T : struct
     {
-        return new Span<T>(new[] { value });
+        return new(new[] { value });
     }
 
-    public static TheoryData<object, object, float, object> NormalBlendFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> NormalBlendFunctionData = new()
     {
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(1, 1, 1, 1), 1, new TestPixel<Rgba32>(1, 1, 1, 1) },
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(0, 0, 0, .8f), .5f, new TestPixel<Rgba32>(0.6f, 0.6f, 0.6f, 1) }
@@ -46,12 +46,12 @@ public void NormalBlendFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel
     public void NormalBlendFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.NormalSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
 
-    public static TheoryData<object, object, float, object> MultiplyFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> MultiplyFunctionData = new()
     {
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(1, 1, 1, 1), 1, new TestPixel<Rgba32>(1, 1, 1, 1) },
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(0, 0, 0, .8f), .5f, new TestPixel<Rgba32>(0.6f, 0.6f, 0.6f, 1) },
@@ -86,12 +86,12 @@ public void MultiplyFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TP
     public void MultiplyFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.MultiplySrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
 
-    public static TheoryData<object, object, float, object> AddFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> AddFunctionData = new()
     {
         {
             new TestPixel<Rgba32>(1, 1, 1, 1),
@@ -136,12 +136,12 @@ public void AddFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel>
     public void AddFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.AddSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
 
-    public static TheoryData<object, object, float, object> SubtractFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> SubtractFunctionData = new()
     {
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(1, 1, 1, 1), 1, new TestPixel<Rgba32>(0, 0, 0, 1) },
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(0, 0, 0, .8f), .5f, new TestPixel<Rgba32>(1, 1, 1, 1f) },
@@ -176,12 +176,12 @@ public void SubtractFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TP
     public void SubtractFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.SubtractSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
 
-    public static TheoryData<object, object, float, object> ScreenFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> ScreenFunctionData = new()
     {
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(1, 1, 1, 1), 1, new TestPixel<Rgba32>(1, 1, 1, 1) },
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(0, 0, 0, .8f), .5f, new TestPixel<Rgba32>(1, 1, 1, 1f) },
@@ -216,12 +216,12 @@ public void ScreenFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPix
     public void ScreenFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.ScreenSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
 
-    public static TheoryData<object, object, float, object> DarkenFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> DarkenFunctionData = new()
     {
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(1, 1, 1, 1), 1, new TestPixel<Rgba32>(1, 1, 1, 1) },
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(0, 0, 0, .8f), .5f, new TestPixel<Rgba32>(.6f, .6f, .6f, 1f) },
@@ -256,12 +256,12 @@ public void DarkenFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPix
     public void DarkenFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.DarkenSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
 
-    public static TheoryData<object, object, float, object> LightenFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> LightenFunctionData = new()
     {
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(1, 1, 1, 1), 1, new TestPixel<Rgba32>(1, 1, 1, 1) },
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(0, 0, 0, .8f), .5f, new TestPixel<Rgba32>(1, 1, 1, 1f) },
@@ -296,12 +296,12 @@ public void LightenFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPi
     public void LightenFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.LightenSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
 
-    public static TheoryData<object, object, float, object> OverlayFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> OverlayFunctionData = new()
     {
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(1, 1, 1, 1), 1, new TestPixel<Rgba32>(1, 1, 1, 1) },
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(0, 0, 0, .8f), .5f, new TestPixel<Rgba32>(1, 1, 1, 1f) },
@@ -336,12 +336,12 @@ public void OverlayFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<TPi
     public void OverlayFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.OverlaySrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
 
-    public static TheoryData<object, object, float, object> HardLightFunctionData = new TheoryData<object, object, float, object>
+    public static TheoryData<object, object, float, object> HardLightFunctionData = new()
     {
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(1, 1, 1, 1), 1, new TestPixel<Rgba32>(1, 1, 1, 1) },
         { new TestPixel<Rgba32>(1, 1, 1, 1), new TestPixel<Rgba32>(0, 0, 0, .8f), .5f, new TestPixel<Rgba32>(0.6f, 0.6f, 0.6f, 1f) },
@@ -376,7 +376,7 @@ public void HardLightFunctionBlender<TPixel>(TestPixel<TPixel> back, TestPixel<T
     public void HardLightFunctionBlenderBulk<TPixel>(TestPixel<TPixel> back, TestPixel<TPixel> source, float amount, TestPixel<TPixel> expected)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Span<TPixel> dest = new Span<TPixel>(new TPixel[1]);
+        Span<TPixel> dest = new(new TPixel[1]);
         new DefaultPixelBlenders<TPixel>.HardLightSrcOver().Blend(this.Configuration, dest, back.AsSpan(), source.AsSpan(), AsSpan(amount));
         VectorAssert.Equal(expected.AsPixel(), dest[0], 2);
     }
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
index 32b62fc03d..6d5013cde0 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs
@@ -117,7 +117,7 @@ public void PixelAlphaRepresentation_DefinesPresenceOfAlphaChannel()
         const byte alpha = byte.MinValue;
         const byte noAlpha = byte.MaxValue;
 
-        TPixel pixel = TPixel.FromRgba32(new Rgba32(0, 0, 0, alpha));
+        TPixel pixel = TPixel.FromRgba32(new(0, 0, 0, alpha));
 
         Rgba32 dest = pixel.ToRgba32();
 
@@ -480,7 +480,7 @@ public void FromArgb32Bytes(int count)
         {
             int i4 = i * 4;
 
-            expected[i] = TPixel.FromArgb32(new Argb32(source[i4 + 1], source[i4 + 2], source[i4 + 3], source[i4 + 0]));
+            expected[i] = TPixel.FromArgb32(new(source[i4 + 1], source[i4 + 2], source[i4 + 3], source[i4 + 0]));
         }
 
         TestOperation(
@@ -524,7 +524,7 @@ public void FromBgr24Bytes(int count)
         {
             int i3 = i * 3;
 
-            expected[i] = TPixel.FromBgr24(new Bgr24(source[i3 + 2], source[i3 + 1], source[i3]));
+            expected[i] = TPixel.FromBgr24(new(source[i3 + 2], source[i3 + 1], source[i3]));
         }
 
         TestOperation(
@@ -566,7 +566,7 @@ public void FromBgra32Bytes(int count)
         {
             int i4 = i * 4;
 
-            expected[i] = TPixel.FromBgra32(new Bgra32(source[i4 + 2], source[i4 + 1], source[i4 + 0], source[i4 + 3]));
+            expected[i] = TPixel.FromBgra32(new(source[i4 + 2], source[i4 + 1], source[i4 + 0], source[i4 + 3]));
         }
 
         TestOperation(
@@ -609,7 +609,7 @@ public void FromAbgr32Bytes(int count)
         {
             int i4 = i * 4;
 
-            expected[i] = TPixel.FromAbgr32(new Abgr32(source[i4 + 3], source[i4 + 2], source[i4 + 1], source[i4 + 0]));
+            expected[i] = TPixel.FromAbgr32(new(source[i4 + 3], source[i4 + 2], source[i4 + 1], source[i4 + 0]));
         }
 
         TestOperation(
@@ -863,7 +863,7 @@ public void FromRgb24Bytes(int count)
         {
             int i3 = i * 3;
 
-            expected[i] = TPixel.FromRgb24(new Rgb24(source[i3 + 0], source[i3 + 1], source[i3 + 2]));
+            expected[i] = TPixel.FromRgb24(new(source[i3 + 0], source[i3 + 1], source[i3 + 2]));
         }
 
         TestOperation(
@@ -905,7 +905,7 @@ public void FromRgba32Bytes(int count)
         {
             int i4 = i * 4;
 
-            expected[i] = TPixel.FromRgba32(new Rgba32(source[i4 + 0], source[i4 + 1], source[i4 + 2], source[i4 + 3]));
+            expected[i] = TPixel.FromRgba32(new(source[i4 + 0], source[i4 + 1], source[i4 + 2], source[i4 + 3]));
         }
 
         TestOperation(
diff --git a/tests/ImageSharp.Tests/PixelFormats/Rg32Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rg32Tests.cs
index b2790469a1..c4e2fc7a2e 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Rg32Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Rg32Tests.cs
@@ -69,7 +69,7 @@ public void Rg32_FromBgra5551()
         const uint expected = 0xFFFFFFFF;
 
         // act
-        Rg32 rg32 = Rg32.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        Rg32 rg32 = Rg32.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, rg32.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Rgb24Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rgb24Tests.cs
index 6364378c15..22c977dcca 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Rgb24Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Rgb24Tests.cs
@@ -68,7 +68,7 @@ public void Equals_WhenFalse(byte r1, byte g1, byte b1, byte r2, byte g2, byte b
     [Fact]
     public void FromRgba32()
     {
-        Rgb24 rgb = Rgb24.FromRgba32(new Rgba32(1, 2, 3, 4));
+        Rgb24 rgb = Rgb24.FromRgba32(new(1, 2, 3, 4));
 
         Assert.Equal(1, rgb.R);
         Assert.Equal(2, rgb.G);
@@ -117,7 +117,7 @@ public void ToRgba32()
     public void Rgb24_FromBgra5551()
     {
         // act
-        Rgb24 rgb = Rgb24.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        Rgb24 rgb = Rgb24.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(255, rgb.R);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs
index 764627ee34..cf8e2e7e90 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs
@@ -65,7 +65,7 @@ public void Rgb48_FromBgra5551()
         const ushort expected = ushort.MaxValue;
 
         // act
-        Rgb48 rgb = Rgb48.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        Rgb48 rgb = Rgb48.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, rgb.R);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Rgba1010102Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rgba1010102Tests.cs
index 79a1aefc9c..c342d0aa3f 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Rgba1010102Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Rgba1010102Tests.cs
@@ -17,8 +17,8 @@ public class Rgba1010102Tests
     public void AreEqual()
     {
         Rgba1010102 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        Rgba1010102 color2 = new(new Vector4(0.0f));
-        Rgba1010102 color3 = new(new Vector4(1f, 0.0f, 1f, 1f));
+        Rgba1010102 color2 = new(new(0.0f));
+        Rgba1010102 color3 = new(new(1f, 0.0f, 1f, 1f));
         Rgba1010102 color4 = new(1f, 0.0f, 1f, 1f);
 
         Assert.Equal(color1, color2);
@@ -32,8 +32,8 @@ public void AreEqual()
     public void AreNotEqual()
     {
         Rgba1010102 color1 = new(0.0f, 0.0f, 0.0f, 0.0f);
-        Rgba1010102 color2 = new(new Vector4(1f));
-        Rgba1010102 color3 = new(new Vector4(1f, 0.0f, 0.0f, 1f));
+        Rgba1010102 color2 = new(new(1f));
+        Rgba1010102 color3 = new(new(1f, 0.0f, 0.0f, 1f));
         Rgba1010102 color4 = new(1f, 1f, 0.0f, 1f);
 
         Assert.NotEqual(color1, color2);
@@ -101,7 +101,7 @@ public void Rgba1010102_FromBgra5551()
         const uint expected = 0xFFFFFFFF;
 
         // act
-        Rgba1010102 rgba = Rgba1010102.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        Rgba1010102 rgba = Rgba1010102.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, rgba.PackedValue);
@@ -114,7 +114,7 @@ public void Rgba1010102_FromArgb32()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Rgba1010102 rgba = Rgba1010102.FromArgb32(new Argb32(255, 255, 255, 255));
+        Rgba1010102 rgba = Rgba1010102.FromArgb32(new(255, 255, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue, rgba.PackedValue);
@@ -128,8 +128,8 @@ public void Rgba1010102_FromRgba32()
         const uint expectedPackedValue2 = 0xFFF003FF;
 
         // act
-        Rgba1010102 rgba1 = Rgba1010102.FromRgba32(new Rgba32(255, 255, 255, 255));
-        Rgba1010102 rgba2 = Rgba1010102.FromRgba32(new Rgba32(255, 0, 255, 255));
+        Rgba1010102 rgba1 = Rgba1010102.FromRgba32(new(255, 255, 255, 255));
+        Rgba1010102 rgba2 = Rgba1010102.FromRgba32(new(255, 0, 255, 255));
 
         // assert
         Assert.Equal(expectedPackedValue1, rgba1.PackedValue);
@@ -143,7 +143,7 @@ public void Rgba1010102_FromBgr24()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Rgba1010102 rgba = Rgba1010102.FromBgr24(new Bgr24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Rgba1010102 rgba = Rgba1010102.FromBgr24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, rgba.PackedValue);
@@ -156,7 +156,7 @@ public void Rgba1010102_FromGrey8()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Rgba1010102 rgba = Rgba1010102.FromL8(new L8(byte.MaxValue));
+        Rgba1010102 rgba = Rgba1010102.FromL8(new(byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, rgba.PackedValue);
@@ -169,7 +169,7 @@ public void Rgba1010102_FromGrey16()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Rgba1010102 rgba = Rgba1010102.FromL16(new L16(ushort.MaxValue));
+        Rgba1010102 rgba = Rgba1010102.FromL16(new(ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, rgba.PackedValue);
@@ -182,7 +182,7 @@ public void Rgba1010102_FromRgb24()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Rgba1010102 rgba = Rgba1010102.FromRgb24(new Rgb24(byte.MaxValue, byte.MaxValue, byte.MaxValue));
+        Rgba1010102 rgba = Rgba1010102.FromRgb24(new(byte.MaxValue, byte.MaxValue, byte.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, rgba.PackedValue);
@@ -195,7 +195,7 @@ public void Rgba1010102_FromRgb48()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Rgba1010102 rgba = Rgba1010102.FromRgb48(new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Rgba1010102 rgba = Rgba1010102.FromRgb48(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, rgba.PackedValue);
@@ -208,7 +208,7 @@ public void Rgba1010102_FromRgba64()
         const uint expectedPackedValue = uint.MaxValue;
 
         // act
-        Rgba1010102 rgba = Rgba1010102.FromRgba64(new Rgba64(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
+        Rgba1010102 rgba = Rgba1010102.FromRgba64(new(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue));
 
         // assert
         Assert.Equal(expectedPackedValue, rgba.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs
index 6d56185ecf..fafee5d3cb 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs
@@ -286,7 +286,7 @@ public void Rgba32_FromBgra5551()
         const uint expected = 0xFFFFFFFF;
 
         // act
-        Rgba32 rgb = Rgba32.FromBgra5551(new Bgra5551(1f, 1f, 1f, 1f));
+        Rgba32 rgb = Rgba32.FromBgra5551(new(1f, 1f, 1f, 1f));
 
         // assert
         Assert.Equal(expected, rgb.PackedValue);
diff --git a/tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs
index 694d0ace10..e962b41feb 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs
@@ -106,7 +106,7 @@ public void Rgba64_FromBgra5551()
         const ushort expected = ushort.MaxValue;
 
         // act
-        Rgba64 rgba = Rgba64.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        Rgba64 rgba = Rgba64.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, rgba.R);
diff --git a/tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs b/tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs
index 5273482efb..daafabaa34 100644
--- a/tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs
@@ -150,7 +150,7 @@ public void RgbaVector_FromBgra5551()
         Vector4 expected = Vector4.One;
 
         // act
-        RgbaVector rgb = RgbaVector.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        RgbaVector rgb = RgbaVector.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, rgb.ToScaledVector4());
@@ -163,7 +163,7 @@ public void RgbaVector_FromGrey16()
         Vector4 expected = Vector4.One;
 
         // act
-        RgbaVector rgba = RgbaVector.FromL16(new L16(ushort.MaxValue));
+        RgbaVector rgba = RgbaVector.FromL16(new(ushort.MaxValue));
 
         // assert
         Assert.Equal(expected, rgba.ToScaledVector4());
@@ -176,7 +176,7 @@ public void RgbaVector_FromGrey8()
         Vector4 expected = Vector4.One;
 
         // act
-        RgbaVector rgba = RgbaVector.FromL8(new L8(byte.MaxValue));
+        RgbaVector rgba = RgbaVector.FromL8(new(byte.MaxValue));
 
         // assert
         Assert.Equal(expected, rgba.ToScaledVector4());
diff --git a/tests/ImageSharp.Tests/PixelFormats/Short2Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Short2Tests.cs
index f23da0c7a6..a9942220c7 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Short2Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Short2Tests.cs
@@ -36,9 +36,9 @@ public void Short2_ToVector2()
     [Fact]
     public void Short2_ToVector4()
     {
-        Assert.Equal(new Vector4(0x7FFF, 0x7FFF, 0, 1), new Short2(Vector2.One * 0x7FFF).ToVector4());
-        Assert.Equal(new Vector4(0, 0, 0, 1), new Short2(Vector2.Zero).ToVector4());
-        Assert.Equal(new Vector4(-0x8000, -0x8000, 0, 1), new Short2(Vector2.One * -0x8000).ToVector4());
+        Assert.Equal(new(0x7FFF, 0x7FFF, 0, 1), new Short2(Vector2.One * 0x7FFF).ToVector4());
+        Assert.Equal(new(0, 0, 0, 1), new Short2(Vector2.Zero).ToVector4());
+        Assert.Equal(new(-0x8000, -0x8000, 0, 1), new Short2(Vector2.One * -0x8000).ToVector4());
     }
 
     [Fact]
@@ -140,7 +140,7 @@ public void Short2_FromRgba64()
     public void Short2_FromBgra5551()
     {
         // act
-        Short2 short2 = Short2.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        Short2 short2 = Short2.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Vector4 actual = short2.ToScaledVector4();
diff --git a/tests/ImageSharp.Tests/PixelFormats/Short4Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Short4Tests.cs
index 819ff0e1e5..fd25f50866 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Short4Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Short4Tests.cs
@@ -190,7 +190,7 @@ public void Short4_FromBgra5551()
         Vector4 expected = Vector4.One;
 
         // act
-        Short4 short4 = Short4.FromBgra5551(new Bgra5551(1.0f, 1.0f, 1.0f, 1.0f));
+        Short4 short4 = Short4.FromBgra5551(new(1.0f, 1.0f, 1.0f, 1.0f));
 
         // assert
         Assert.Equal(expected, short4.ToScaledVector4());
diff --git a/tests/ImageSharp.Tests/Primitives/DenseMatrixTests.cs b/tests/ImageSharp.Tests/Primitives/DenseMatrixTests.cs
index 1f28e38b44..e5162e23d4 100644
--- a/tests/ImageSharp.Tests/Primitives/DenseMatrixTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/DenseMatrixTests.cs
@@ -38,12 +38,12 @@ public void DenseMatrixThrowsOnEmptyInitializer()
     [Fact]
     public void DenseMatrixReturnsCorrectDimensions()
     {
-        DenseMatrix<float> dense = new DenseMatrix<float>(FloydSteinbergMatrix);
+        DenseMatrix<float> dense = new(FloydSteinbergMatrix);
         Assert.True(dense.Columns == FloydSteinbergMatrix.GetLength(1));
         Assert.True(dense.Rows == FloydSteinbergMatrix.GetLength(0));
         Assert.Equal(3, dense.Columns);
         Assert.Equal(2, dense.Rows);
-        Assert.Equal(new Size(3, 2), dense.Size);
+        Assert.Equal(new(3, 2), dense.Size);
     }
 
     [Fact]
@@ -63,7 +63,7 @@ public void DenseMatrixGetReturnsCorrectResults()
     [Fact]
     public void DenseMatrixGetSetReturnsCorrectResults()
     {
-        DenseMatrix<int> dense = new DenseMatrix<int>(4, 4);
+        DenseMatrix<int> dense = new(4, 4);
         const int Val = 5;
 
         dense[3, 3] = Val;
@@ -74,7 +74,7 @@ public void DenseMatrixGetSetReturnsCorrectResults()
     [Fact]
     public void DenseMatrixCanFillAndClear()
     {
-        DenseMatrix<int> dense = new DenseMatrix<int>(9);
+        DenseMatrix<int> dense = new(9);
         dense.Fill(4);
 
         for (int i = 0; i < dense.Data.Length; i++)
@@ -100,7 +100,7 @@ public void DenseMatrixCorrectlyCasts()
     [Fact]
     public void DenseMatrixCanTranspose()
     {
-        DenseMatrix<int> dense = new DenseMatrix<int>(3, 1);
+        DenseMatrix<int> dense = new(3, 1);
         dense[0, 0] = 1;
         dense[0, 1] = 2;
         dense[0, 2] = 3;
@@ -117,9 +117,9 @@ public void DenseMatrixCanTranspose()
     [Fact]
     public void DenseMatrixEquality()
     {
-        DenseMatrix<int> dense = new DenseMatrix<int>(3, 1);
-        DenseMatrix<int> dense2 = new DenseMatrix<int>(3, 1);
-        DenseMatrix<int> dense3 = new DenseMatrix<int>(1, 3);
+        DenseMatrix<int> dense = new(3, 1);
+        DenseMatrix<int> dense2 = new(3, 1);
+        DenseMatrix<int> dense3 = new(1, 3);
 
         Assert.True(dense == dense2);
         Assert.False(dense != dense2);
diff --git a/tests/ImageSharp.Tests/Primitives/PointFTests.cs b/tests/ImageSharp.Tests/Primitives/PointFTests.cs
index 32a7b68500..772d8bd2d0 100644
--- a/tests/ImageSharp.Tests/Primitives/PointFTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/PointFTests.cs
@@ -9,13 +9,12 @@ namespace SixLabors.ImageSharp.Tests;
 
 public class PointFTests
 {
-    private static readonly ApproximateFloatComparer ApproximateFloatComparer =
-        new ApproximateFloatComparer(1e-6f);
+    private static readonly ApproximateFloatComparer ApproximateFloatComparer = new(1e-6f);
 
     [Fact]
     public void CanReinterpretCastFromVector2()
     {
-        Vector2 vector = new Vector2(1, 2);
+        Vector2 vector = new(1, 2);
 
         PointF point = Unsafe.As<Vector2, PointF>(ref vector);
 
@@ -37,7 +36,7 @@ public void DefaultConstructorTest()
     [InlineData(0.0, 0.0)]
     public void NonDefaultConstructorTest(float x, float y)
     {
-        PointF p1 = new PointF(x, y);
+        PointF p1 = new(x, y);
 
         Assert.Equal(x, p1.X);
         Assert.Equal(y, p1.Y);
@@ -67,7 +66,7 @@ public void IsEmptyRandomTest(float x, float y)
     [InlineData(0, 0)]
     public void CoordinatesTest(float x, float y)
     {
-        PointF p = new PointF(x, y);
+        PointF p = new(x, y);
         Assert.Equal(x, p.X);
         Assert.Equal(y, p.Y);
 
@@ -84,11 +83,11 @@ public void CoordinatesTest(float x, float y)
     [InlineData(0, 0, 0, 0)]
     public void ArithmeticTestWithSize(float x, float y, int x1, int y1)
     {
-        PointF p = new PointF(x, y);
-        Size s = new Size(x1, y1);
+        PointF p = new(x, y);
+        Size s = new(x1, y1);
 
-        PointF addExpected = new PointF(x + x1, y + y1);
-        PointF subExpected = new PointF(x - x1, y - y1);
+        PointF addExpected = new(x + x1, y + y1);
+        PointF subExpected = new(x - x1, y - y1);
         Assert.Equal(addExpected, p + s);
         Assert.Equal(subExpected, p - s);
         Assert.Equal(addExpected, PointF.Add(p, s));
@@ -101,11 +100,11 @@ public void ArithmeticTestWithSize(float x, float y, int x1, int y1)
     [InlineData(0, 0)]
     public void ArithmeticTestWithSizeF(float x, float y)
     {
-        PointF p = new PointF(x, y);
-        SizeF s = new SizeF(y, x);
+        PointF p = new(x, y);
+        SizeF s = new(y, x);
 
-        PointF addExpected = new PointF(x + y, y + x);
-        PointF subExpected = new PointF(x - y, y - x);
+        PointF addExpected = new(x + y, y + x);
+        PointF subExpected = new(x - y, y - x);
         Assert.Equal(addExpected, p + s);
         Assert.Equal(subExpected, p - s);
         Assert.Equal(addExpected, PointF.Add(p, s));
@@ -115,7 +114,7 @@ public void ArithmeticTestWithSizeF(float x, float y)
     [Fact]
     public void RotateTest()
     {
-        PointF p = new PointF(13, 17);
+        PointF p = new(13, 17);
         Matrix3x2 matrix = Matrix3x2Extensions.CreateRotationDegrees(45, PointF.Empty);
 
         PointF pout = PointF.Transform(p, matrix);
@@ -127,11 +126,11 @@ public void RotateTest()
     [Fact]
     public void SkewTest()
     {
-        PointF p = new PointF(13, 17);
+        PointF p = new(13, 17);
         Matrix3x2 matrix = Matrix3x2Extensions.CreateSkewDegrees(45, 45, PointF.Empty);
 
         PointF pout = PointF.Transform(p, matrix);
-        Assert.Equal(new PointF(30, 30), pout);
+        Assert.Equal(new(30, 30), pout);
     }
 
     [Theory]
@@ -142,8 +141,8 @@ public void SkewTest()
     [InlineData(0, 0)]
     public void EqualityTest(float x, float y)
     {
-        PointF pLeft = new PointF(x, y);
-        PointF pRight = new PointF(y, x);
+        PointF pLeft = new(x, y);
+        PointF pRight = new(y, x);
 
         if (x == y)
         {
@@ -164,7 +163,7 @@ public void EqualityTest(float x, float y)
     [Fact]
     public void EqualityTest_NotPointF()
     {
-        PointF point = new PointF(0, 0);
+        PointF point = new(0, 0);
         Assert.False(point.Equals(null));
         Assert.False(point.Equals(0));
 
@@ -180,7 +179,7 @@ public void EqualityTest_NotPointF()
     [Fact]
     public void GetHashCodeTest()
     {
-        PointF point = new PointF(10, 10);
+        PointF point = new(10, 10);
         Assert.Equal(point.GetHashCode(), new PointF(10, 10).GetHashCode());
         Assert.NotEqual(point.GetHashCode(), new PointF(20, 10).GetHashCode());
         Assert.NotEqual(point.GetHashCode(), new PointF(10, 20).GetHashCode());
@@ -189,7 +188,7 @@ public void GetHashCodeTest()
     [Fact]
     public void ToStringTest()
     {
-        PointF p = new PointF(5.1F, -5.123F);
+        PointF p = new(5.1F, -5.123F);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "PointF [ X={0}, Y={1} ]", p.X, p.Y), p.ToString());
     }
 
@@ -200,7 +199,7 @@ public void ToStringTest()
     [InlineData(0, 0)]
     public void DeconstructTest(float x, float y)
     {
-        PointF p = new PointF(x, y);
+        PointF p = new(x, y);
 
         (float deconstructedX, float deconstructedY) = p;
 
diff --git a/tests/ImageSharp.Tests/Primitives/PointTests.cs b/tests/ImageSharp.Tests/Primitives/PointTests.cs
index 4050ac4bea..8ade95eb14 100644
--- a/tests/ImageSharp.Tests/Primitives/PointTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/PointTests.cs
@@ -21,8 +21,8 @@ public void DefaultConstructorTest()
     [InlineData(0, 0)]
     public void NonDefaultConstructorTest(int x, int y)
     {
-        Point p1 = new Point(x, y);
-        Point p2 = new Point(new Size(x, y));
+        Point p1 = new(x, y);
+        Point p2 = new(new Size(x, y));
 
         Assert.Equal(p1, p2);
     }
@@ -33,8 +33,8 @@ public void NonDefaultConstructorTest(int x, int y)
     [InlineData(0)]
     public void SingleIntConstructorTest(int x)
     {
-        Point p1 = new Point(x);
-        Point p2 = new Point(unchecked((short)(x & 0xFFFF)), unchecked((short)((x >> 16) & 0xFFFF)));
+        Point p1 = new(x);
+        Point p2 = new(unchecked((short)(x & 0xFFFF)), unchecked((short)((x >> 16) & 0xFFFF)));
 
         Assert.Equal(p1, p2);
     }
@@ -63,7 +63,7 @@ public void IsEmptyRandomTest(int x, int y)
     [InlineData(0, 0)]
     public void CoordinatesTest(int x, int y)
     {
-        Point p = new Point(x, y);
+        Point p = new(x, y);
         Assert.Equal(x, p.X);
         Assert.Equal(y, p.Y);
     }
@@ -76,7 +76,7 @@ public void CoordinatesTest(int x, int y)
     public void PointFConversionTest(int x, int y)
     {
         PointF p = new Point(x, y);
-        Assert.Equal(new PointF(x, y), p);
+        Assert.Equal(new(x, y), p);
     }
 
     [Theory]
@@ -87,7 +87,7 @@ public void PointFConversionTest(int x, int y)
     public void SizeConversionTest(int x, int y)
     {
         Size sz = (Size)new Point(x, y);
-        Assert.Equal(new Size(x, y), sz);
+        Assert.Equal(new(x, y), sz);
     }
 
     [Theory]
@@ -97,13 +97,13 @@ public void SizeConversionTest(int x, int y)
     [InlineData(0, 0)]
     public void ArithmeticTest(int x, int y)
     {
-        Point addExpected, subExpected, p = new Point(x, y);
-        Size s = new Size(y, x);
+        Point addExpected, subExpected, p = new(x, y);
+        Size s = new(y, x);
 
         unchecked
         {
-            addExpected = new Point(x + y, y + x);
-            subExpected = new Point(x - y, y - x);
+            addExpected = new(x + y, y + x);
+            subExpected = new(x - y, y - x);
         }
 
         Assert.Equal(addExpected, p + s);
@@ -119,14 +119,14 @@ public void ArithmeticTest(int x, int y)
     [InlineData(0, 0)]
     public void PointFMathematicalTest(float x, float y)
     {
-        PointF pf = new PointF(x, y);
+        PointF pf = new(x, y);
         Point pCeiling, pTruncate, pRound;
 
         unchecked
         {
-            pCeiling = new Point((int)MathF.Ceiling(x), (int)MathF.Ceiling(y));
-            pTruncate = new Point((int)x, (int)y);
-            pRound = new Point((int)MathF.Round(x), (int)MathF.Round(y));
+            pCeiling = new((int)MathF.Ceiling(x), (int)MathF.Ceiling(y));
+            pTruncate = new((int)x, (int)y);
+            pRound = new((int)MathF.Round(x), (int)MathF.Round(y));
         }
 
         Assert.Equal(pCeiling, Point.Ceiling(pf));
@@ -141,8 +141,8 @@ public void PointFMathematicalTest(float x, float y)
     [InlineData(0, 0)]
     public void OffsetTest(int x, int y)
     {
-        Point p1 = new Point(x, y);
-        Point p2 = new Point(y, x);
+        Point p1 = new(x, y);
+        Point p2 = new(y, x);
 
         p1.Offset(p2);
 
@@ -156,22 +156,22 @@ public void OffsetTest(int x, int y)
     [Fact]
     public void RotateTest()
     {
-        Point p = new Point(13, 17);
+        Point p = new(13, 17);
         Matrix3x2 matrix = Matrix3x2Extensions.CreateRotationDegrees(45, Point.Empty);
 
         Point pout = Point.Transform(p, matrix);
 
-        Assert.Equal(new Point(-3, 21), pout);
+        Assert.Equal(new(-3, 21), pout);
     }
 
     [Fact]
     public void SkewTest()
     {
-        Point p = new Point(13, 17);
+        Point p = new(13, 17);
         Matrix3x2 matrix = Matrix3x2Extensions.CreateSkewDegrees(45, 45, Point.Empty);
 
         Point pout = Point.Transform(p, matrix);
-        Assert.Equal(new Point(30, 30), pout);
+        Assert.Equal(new(30, 30), pout);
     }
 
     [Theory]
@@ -181,9 +181,9 @@ public void SkewTest()
     [InlineData(0, 0)]
     public void EqualityTest(int x, int y)
     {
-        Point p1 = new Point(x, y);
-        Point p2 = new Point((x / 2) - 1, (y / 2) - 1);
-        Point p3 = new Point(x, y);
+        Point p1 = new(x, y);
+        Point p2 = new((x / 2) - 1, (y / 2) - 1);
+        Point p3 = new(x, y);
 
         Assert.True(p1 == p3);
         Assert.True(p1 != p2);
@@ -203,7 +203,7 @@ public void EqualityTest(int x, int y)
     [Fact]
     public void EqualityTest_NotPoint()
     {
-        Point point = new Point(0, 0);
+        Point point = new(0, 0);
         Assert.False(point.Equals(null));
         Assert.False(point.Equals(0));
         Assert.False(point.Equals(new PointF(0, 0)));
@@ -212,7 +212,7 @@ public void EqualityTest_NotPoint()
     [Fact]
     public void GetHashCodeTest()
     {
-        Point point = new Point(10, 10);
+        Point point = new(10, 10);
         Assert.Equal(point.GetHashCode(), new Point(10, 10).GetHashCode());
         Assert.NotEqual(point.GetHashCode(), new Point(20, 10).GetHashCode());
         Assert.NotEqual(point.GetHashCode(), new Point(10, 20).GetHashCode());
@@ -223,7 +223,7 @@ public void GetHashCodeTest()
     [InlineData(1, -2, 3, -4)]
     public void ConversionTest(int x, int y, int width, int height)
     {
-        Rectangle rect = new Rectangle(x, y, width, height);
+        Rectangle rect = new(x, y, width, height);
         RectangleF rectF = rect;
         Assert.Equal(x, rectF.X);
         Assert.Equal(y, rectF.Y);
@@ -234,7 +234,7 @@ public void ConversionTest(int x, int y, int width, int height)
     [Fact]
     public void ToStringTest()
     {
-        Point p = new Point(5, -5);
+        Point p = new(5, -5);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "Point [ X={0}, Y={1} ]", p.X, p.Y), p.ToString());
     }
 
@@ -245,7 +245,7 @@ public void ToStringTest()
     [InlineData(0, 0)]
     public void DeconstructTest(int x, int y)
     {
-        Point p = new Point(x, y);
+        Point p = new(x, y);
 
         (int deconstructedX, int deconstructedY) = p;
 
diff --git a/tests/ImageSharp.Tests/Primitives/RectangleFTests.cs b/tests/ImageSharp.Tests/Primitives/RectangleFTests.cs
index 0e8bf4f344..4122daaa52 100644
--- a/tests/ImageSharp.Tests/Primitives/RectangleFTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/RectangleFTests.cs
@@ -23,10 +23,10 @@ public void DefaultConstructorTest()
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void NonDefaultConstructorTest(float x, float y, float width, float height)
     {
-        RectangleF rect1 = new RectangleF(x, y, width, height);
-        PointF p = new PointF(x, y);
-        SizeF s = new SizeF(width, height);
-        RectangleF rect2 = new RectangleF(p, s);
+        RectangleF rect1 = new(x, y, width, height);
+        PointF p = new(x, y);
+        SizeF s = new(width, height);
+        RectangleF rect2 = new(p, s);
 
         Assert.Equal(rect1, rect2);
     }
@@ -38,7 +38,7 @@ public void NonDefaultConstructorTest(float x, float y, float width, float heigh
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void FromLTRBTest(float left, float top, float right, float bottom)
     {
-        RectangleF expected = new RectangleF(left, top, right - left, bottom - top);
+        RectangleF expected = new(left, top, right - left, bottom - top);
         RectangleF actual = RectangleF.FromLTRB(left, top, right, bottom);
 
         Assert.Equal(expected, actual);
@@ -51,9 +51,9 @@ public void FromLTRBTest(float left, float top, float right, float bottom)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void DimensionsTest(float x, float y, float width, float height)
     {
-        RectangleF rect = new RectangleF(x, y, width, height);
-        PointF p = new PointF(x, y);
-        SizeF s = new SizeF(width, height);
+        RectangleF rect = new(x, y, width, height);
+        PointF p = new(x, y);
+        SizeF s = new(width, height);
 
         Assert.Equal(p, rect.Location);
         Assert.Equal(s, rect.Size);
@@ -84,8 +84,8 @@ public void IsEmptyTest()
     [InlineData(float.MaxValue, float.MinValue)]
     public void LocationSetTest(float x, float y)
     {
-        PointF point = new PointF(x, y);
-        RectangleF rect = new RectangleF(10, 10, 10, 10) { Location = point };
+        PointF point = new(x, y);
+        RectangleF rect = new(10, 10, 10, 10) { Location = point };
         Assert.Equal(point, rect.Location);
         Assert.Equal(point.X, rect.X);
         Assert.Equal(point.Y, rect.Y);
@@ -96,8 +96,8 @@ public void LocationSetTest(float x, float y)
     [InlineData(float.MaxValue, float.MinValue)]
     public void SizeSetTest(float x, float y)
     {
-        SizeF size = new SizeF(x, y);
-        RectangleF rect = new RectangleF(10, 10, 10, 10) { Size = size };
+        SizeF size = new(x, y);
+        RectangleF rect = new(10, 10, 10, 10) { Size = size };
         Assert.Equal(size, rect.Size);
         Assert.Equal(size.Width, rect.Width);
         Assert.Equal(size.Height, rect.Height);
@@ -109,8 +109,8 @@ public void SizeSetTest(float x, float y)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void EqualityTest(float x, float y, float width, float height)
     {
-        RectangleF rect1 = new RectangleF(x, y, width, height);
-        RectangleF rect2 = new RectangleF(width, height, x, y);
+        RectangleF rect1 = new(x, y, width, height);
+        RectangleF rect2 = new(width, height, x, y);
 
         Assert.True(rect1 != rect2);
         Assert.False(rect1 == rect2);
@@ -121,7 +121,7 @@ public void EqualityTest(float x, float y, float width, float height)
     [Fact]
     public void EqualityTestNotRectangleF()
     {
-        RectangleF rectangle = new RectangleF(0, 0, 0, 0);
+        RectangleF rectangle = new(0, 0, 0, 0);
         Assert.False(rectangle.Equals(null));
         Assert.False(rectangle.Equals(0));
 
@@ -137,8 +137,8 @@ public void EqualityTestNotRectangleF()
     [Fact]
     public void GetHashCodeTest()
     {
-        RectangleF rect1 = new RectangleF(10, 10, 10, 10);
-        RectangleF rect2 = new RectangleF(10, 10, 10, 10);
+        RectangleF rect1 = new(10, 10, 10, 10);
+        RectangleF rect2 = new(10, 10, 10, 10);
         Assert.Equal(rect1.GetHashCode(), rect2.GetHashCode());
         Assert.NotEqual(rect1.GetHashCode(), new RectangleF(20, 10, 10, 10).GetHashCode());
         Assert.NotEqual(rect1.GetHashCode(), new RectangleF(10, 20, 10, 10).GetHashCode());
@@ -151,11 +151,11 @@ public void GetHashCodeTest()
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void ContainsTest(float x, float y, float width, float height)
     {
-        RectangleF rect = new RectangleF(x, y, width, height);
+        RectangleF rect = new(x, y, width, height);
         float x1 = (x + width) / 2;
         float y1 = (y + height) / 2;
-        PointF p = new PointF(x1, y1);
-        RectangleF r = new RectangleF(x1, y1, width / 2, height / 2);
+        PointF p = new(x1, y1);
+        RectangleF r = new(x1, y1, width / 2, height / 2);
 
         Assert.False(rect.Contains(x1, y1));
         Assert.False(rect.Contains(p));
@@ -168,13 +168,13 @@ public void ContainsTest(float x, float y, float width, float height)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void InflateTest(float x, float y, float width, float height)
     {
-        RectangleF rect = new RectangleF(x, y, width, height);
-        RectangleF inflatedRect = new RectangleF(x - width, y - height, width + (2 * width), height + (2 * height));
+        RectangleF rect = new(x, y, width, height);
+        RectangleF inflatedRect = new(x - width, y - height, width + (2 * width), height + (2 * height));
 
         rect.Inflate(width, height);
         Assert.Equal(inflatedRect, rect);
 
-        SizeF s = new SizeF(x, y);
+        SizeF s = new(x, y);
         inflatedRect = RectangleF.Inflate(rect, x, y);
 
         rect.Inflate(s);
@@ -186,8 +186,8 @@ public void InflateTest(float x, float y, float width, float height)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void IntersectTest(float x, float y, float width, float height)
     {
-        RectangleF rect1 = new RectangleF(x, y, width, height);
-        RectangleF rect2 = new RectangleF(y, x, width, height);
+        RectangleF rect1 = new(x, y, width, height);
+        RectangleF rect2 = new(y, x, width, height);
         RectangleF expectedRect = RectangleF.Intersect(rect1, rect2);
         rect1.Intersect(rect2);
         Assert.Equal(expectedRect, rect1);
@@ -197,9 +197,9 @@ public void IntersectTest(float x, float y, float width, float height)
     [Fact]
     public void IntersectIntersectingRectsTest()
     {
-        RectangleF rect1 = new RectangleF(0, 0, 5, 5);
-        RectangleF rect2 = new RectangleF(1, 1, 3, 3);
-        RectangleF expected = new RectangleF(1, 1, 3, 3);
+        RectangleF rect1 = new(0, 0, 5, 5);
+        RectangleF rect2 = new(1, 1, 3, 3);
+        RectangleF expected = new(1, 1, 3, 3);
 
         Assert.Equal(expected, RectangleF.Intersect(rect1, rect2));
     }
@@ -211,15 +211,15 @@ public void IntersectIntersectingRectsTest()
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void UnionTest(float x, float y, float width, float height)
     {
-        RectangleF a = new RectangleF(x, y, width, height);
-        RectangleF b = new RectangleF(width, height, x, y);
+        RectangleF a = new(x, y, width, height);
+        RectangleF b = new(width, height, x, y);
 
         float x1 = Math.Min(a.X, b.X);
         float x2 = Math.Max(a.X + a.Width, b.X + b.Width);
         float y1 = Math.Min(a.Y, b.Y);
         float y2 = Math.Max(a.Y + a.Height, b.Y + b.Height);
 
-        RectangleF expectedRectangle = new RectangleF(x1, y1, x2 - x1, y2 - y1);
+        RectangleF expectedRectangle = new(x1, y1, x2 - x1, y2 - y1);
 
         Assert.Equal(expectedRectangle, RectangleF.Union(a, b));
     }
@@ -231,9 +231,9 @@ public void UnionTest(float x, float y, float width, float height)
     [InlineData(0, float.MinValue, float.MaxValue, 0)]
     public void OffsetTest(float x, float y, float width, float height)
     {
-        RectangleF r1 = new RectangleF(x, y, width, height);
-        RectangleF expectedRect = new RectangleF(x + width, y + height, width, height);
-        PointF p = new PointF(width, height);
+        RectangleF r1 = new(x, y, width, height);
+        RectangleF expectedRect = new(x + width, y + height, width, height);
+        PointF p = new(width, height);
 
         r1.Offset(p);
         Assert.Equal(expectedRect, r1);
@@ -246,7 +246,7 @@ public void OffsetTest(float x, float y, float width, float height)
     [Fact]
     public void ToStringTest()
     {
-        RectangleF r = new RectangleF(5, 5.1F, 1.3F, 1);
+        RectangleF r = new(5, 5.1F, 1.3F, 1);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "RectangleF [ X={0}, Y={1}, Width={2}, Height={3} ]", r.X, r.Y, r.Width, r.Height), r.ToString());
     }
 
@@ -270,7 +270,7 @@ public void ToStringTest()
     [InlineData(0, 0, 0, 0)]
     public void DeconstructTest(float x, float y, float width, float height)
     {
-        RectangleF r = new RectangleF(x, y, width, height);
+        RectangleF r = new(x, y, width, height);
 
         (float dx, float dy, float dw, float dh) = r;
 
diff --git a/tests/ImageSharp.Tests/Primitives/RectangleTests.cs b/tests/ImageSharp.Tests/Primitives/RectangleTests.cs
index 54d53cddef..2a4d64147e 100644
--- a/tests/ImageSharp.Tests/Primitives/RectangleTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/RectangleTests.cs
@@ -23,8 +23,8 @@ public void DefaultConstructorTest()
     [InlineData(0, int.MinValue, 0, int.MaxValue)]
     public void NonDefaultConstructorTest(int x, int y, int width, int height)
     {
-        Rectangle rect1 = new Rectangle(x, y, width, height);
-        Rectangle rect2 = new Rectangle(new Point(x, y), new Size(width, height));
+        Rectangle rect1 = new(x, y, width, height);
+        Rectangle rect2 = new(new(x, y), new(width, height));
 
         Assert.Equal(rect1, rect2);
     }
@@ -36,7 +36,7 @@ public void NonDefaultConstructorTest(int x, int y, int width, int height)
     [InlineData(0, int.MinValue, 0, int.MaxValue)]
     public void FromLTRBTest(int left, int top, int right, int bottom)
     {
-        Rectangle rect1 = new Rectangle(left, top, unchecked(right - left), unchecked(bottom - top));
+        Rectangle rect1 = new(left, top, unchecked(right - left), unchecked(bottom - top));
         Rectangle rect2 = Rectangle.FromLTRB(left, top, right, bottom);
 
         Assert.Equal(rect1, rect2);
@@ -68,9 +68,9 @@ public void NonEmptyTest(int x, int y, int width, int height)
     [InlineData(int.MinValue, int.MaxValue, int.MinValue, int.MaxValue)]
     public void DimensionsTest(int x, int y, int width, int height)
     {
-        Rectangle rect = new Rectangle(x, y, width, height);
-        Assert.Equal(new Point(x, y), rect.Location);
-        Assert.Equal(new Size(width, height), rect.Size);
+        Rectangle rect = new(x, y, width, height);
+        Assert.Equal(new(x, y), rect.Location);
+        Assert.Equal(new(width, height), rect.Size);
 
         Assert.Equal(x, rect.X);
         Assert.Equal(y, rect.Y);
@@ -81,8 +81,8 @@ public void DimensionsTest(int x, int y, int width, int height)
         Assert.Equal(unchecked(x + width), rect.Right);
         Assert.Equal(unchecked(y + height), rect.Bottom);
 
-        Point p = new Point(width, height);
-        Size s = new Size(x, y);
+        Point p = new(width, height);
+        Size s = new(x, y);
         rect.Location = p;
         rect.Size = s;
 
@@ -104,8 +104,8 @@ public void DimensionsTest(int x, int y, int width, int height)
     [InlineData(int.MaxValue, int.MinValue)]
     public void LocationSetTest(int x, int y)
     {
-        Point point = new Point(x, y);
-        Rectangle rect = new Rectangle(10, 10, 10, 10) { Location = point };
+        Point point = new(x, y);
+        Rectangle rect = new(10, 10, 10, 10) { Location = point };
         Assert.Equal(point, rect.Location);
         Assert.Equal(point.X, rect.X);
         Assert.Equal(point.Y, rect.Y);
@@ -116,8 +116,8 @@ public void LocationSetTest(int x, int y)
     [InlineData(int.MaxValue, int.MinValue)]
     public void SizeSetTest(int x, int y)
     {
-        Size size = new Size(x, y);
-        Rectangle rect = new Rectangle(10, 10, 10, 10) { Size = size };
+        Size size = new(x, y);
+        Rectangle rect = new(10, 10, 10, 10) { Size = size };
         Assert.Equal(size, rect.Size);
         Assert.Equal(size.Width, rect.Width);
         Assert.Equal(size.Height, rect.Height);
@@ -130,8 +130,8 @@ public void SizeSetTest(int x, int y)
     [InlineData(int.MinValue, int.MaxValue, int.MinValue, int.MaxValue)]
     public void EqualityTest(int x, int y, int width, int height)
     {
-        Rectangle rect1 = new Rectangle(x, y, width, height);
-        Rectangle rect2 = new Rectangle(width / 2, height / 2, x, y);
+        Rectangle rect1 = new(x, y, width, height);
+        Rectangle rect2 = new(width / 2, height / 2, x, y);
 
         Assert.True(rect1 != rect2);
         Assert.False(rect1 == rect2);
@@ -142,7 +142,7 @@ public void EqualityTest(int x, int y, int width, int height)
     [Fact]
     public void EqualityTestNotRectangle()
     {
-        Rectangle rectangle = new Rectangle(0, 0, 0, 0);
+        Rectangle rectangle = new(0, 0, 0, 0);
         Assert.False(rectangle.Equals(null));
         Assert.False(rectangle.Equals(0));
         Assert.False(rectangle.Equals(new RectangleF(0, 0, 0, 0)));
@@ -151,8 +151,8 @@ public void EqualityTestNotRectangle()
     [Fact]
     public void GetHashCodeTest()
     {
-        Rectangle rect1 = new Rectangle(10, 10, 10, 10);
-        Rectangle rect2 = new Rectangle(10, 10, 10, 10);
+        Rectangle rect1 = new(10, 10, 10, 10);
+        Rectangle rect2 = new(10, 10, 10, 10);
         Assert.Equal(rect1.GetHashCode(), rect2.GetHashCode());
         Assert.NotEqual(rect1.GetHashCode(), new Rectangle(20, 10, 10, 10).GetHashCode());
         Assert.NotEqual(rect1.GetHashCode(), new Rectangle(10, 20, 10, 10).GetHashCode());
@@ -166,20 +166,20 @@ public void GetHashCodeTest()
     [InlineData(0, 0, 0, 0)]
     public void RectangleFConversionTest(float x, float y, float width, float height)
     {
-        RectangleF rect = new RectangleF(x, y, width, height);
+        RectangleF rect = new(x, y, width, height);
         Rectangle rCeiling, rTruncate, rRound;
 
         unchecked
         {
-            rCeiling = new Rectangle(
+            rCeiling = new(
                 (int)Math.Ceiling(x),
                 (int)Math.Ceiling(y),
                 (int)Math.Ceiling(width),
                 (int)Math.Ceiling(height));
 
-            rTruncate = new Rectangle((int)x, (int)y, (int)width, (int)height);
+            rTruncate = new((int)x, (int)y, (int)width, (int)height);
 
-            rRound = new Rectangle(
+            rRound = new(
                 (int)Math.Round(x),
                 (int)Math.Round(y),
                 (int)Math.Round(width),
@@ -196,9 +196,9 @@ public void RectangleFConversionTest(float x, float y, float width, float height
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void ContainsTest(int x, int y, int width, int height)
     {
-        Rectangle rect = new Rectangle(unchecked((2 * x) - width), unchecked((2 * y) - height), width, height);
-        Point p = new Point(x, y);
-        Rectangle r = new Rectangle(x, y, width / 2, height / 2);
+        Rectangle rect = new(unchecked((2 * x) - width), unchecked((2 * y) - height), width, height);
+        Point p = new(x, y);
+        Rectangle r = new(x, y, width / 2, height / 2);
 
         Assert.False(rect.Contains(x, y));
         Assert.False(rect.Contains(p));
@@ -211,10 +211,10 @@ public void ContainsTest(int x, int y, int width, int height)
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void InflateTest(int x, int y, int width, int height)
     {
-        Rectangle inflatedRect, rect = new Rectangle(x, y, width, height);
+        Rectangle inflatedRect, rect = new(x, y, width, height);
         unchecked
         {
-            inflatedRect = new Rectangle(x - width, y - height, width + (2 * width), height + (2 * height));
+            inflatedRect = new(x - width, y - height, width + (2 * width), height + (2 * height));
         }
 
         Assert.Equal(inflatedRect, Rectangle.Inflate(rect, width, height));
@@ -222,10 +222,10 @@ public void InflateTest(int x, int y, int width, int height)
         rect.Inflate(width, height);
         Assert.Equal(inflatedRect, rect);
 
-        Size s = new Size(x, y);
+        Size s = new(x, y);
         unchecked
         {
-            inflatedRect = new Rectangle(rect.X - x, rect.Y - y, rect.Width + (2 * x), rect.Height + (2 * y));
+            inflatedRect = new(rect.X - x, rect.Y - y, rect.Width + (2 * x), rect.Height + (2 * y));
         }
 
         rect.Inflate(s);
@@ -238,7 +238,7 @@ public void InflateTest(int x, int y, int width, int height)
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void IntersectTest(int x, int y, int width, int height)
     {
-        Rectangle rect = new Rectangle(x, y, width, height);
+        Rectangle rect = new(x, y, width, height);
         Rectangle expectedRect = Rectangle.Intersect(rect, rect);
         rect.Intersect(rect);
         Assert.Equal(expectedRect, rect);
@@ -248,9 +248,9 @@ public void IntersectTest(int x, int y, int width, int height)
     [Fact]
     public void IntersectIntersectingRectsTest()
     {
-        Rectangle rect1 = new Rectangle(0, 0, 5, 5);
-        Rectangle rect2 = new Rectangle(1, 1, 3, 3);
-        Rectangle expected = new Rectangle(1, 1, 3, 3);
+        Rectangle rect1 = new(0, 0, 5, 5);
+        Rectangle rect2 = new(1, 1, 3, 3);
+        Rectangle expected = new(1, 1, 3, 3);
 
         Assert.Equal(expected, Rectangle.Intersect(rect1, rect2));
     }
@@ -262,15 +262,15 @@ public void IntersectIntersectingRectsTest()
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void UnionTest(int x, int y, int width, int height)
     {
-        Rectangle a = new Rectangle(x, y, width, height);
-        Rectangle b = new Rectangle(width, height, x, y);
+        Rectangle a = new(x, y, width, height);
+        Rectangle b = new(width, height, x, y);
 
         int x1 = Math.Min(a.X, b.X);
         int x2 = Math.Max(a.X + a.Width, b.X + b.Width);
         int y1 = Math.Min(a.Y, b.Y);
         int y2 = Math.Max(a.Y + a.Height, b.Y + b.Height);
 
-        Rectangle expectedRectangle = new Rectangle(x1, y1, x2 - x1, y2 - y1);
+        Rectangle expectedRectangle = new(x1, y1, x2 - x1, y2 - y1);
 
         Assert.Equal(expectedRectangle, Rectangle.Union(a, b));
     }
@@ -282,9 +282,9 @@ public void UnionTest(int x, int y, int width, int height)
     [InlineData(0, int.MinValue, int.MaxValue, 0)]
     public void OffsetTest(int x, int y, int width, int height)
     {
-        Rectangle r1 = new Rectangle(x, y, width, height);
-        Rectangle expectedRect = new Rectangle(x + width, y + height, width, height);
-        Point p = new Point(width, height);
+        Rectangle r1 = new(x, y, width, height);
+        Rectangle expectedRect = new(x + width, y + height, width, height);
+        Point p = new(width, height);
 
         r1.Offset(p);
         Assert.Equal(expectedRect, r1);
@@ -297,7 +297,7 @@ public void OffsetTest(int x, int y, int width, int height)
     [Fact]
     public void ToStringTest()
     {
-        Rectangle r = new Rectangle(5, -5, 0, 1);
+        Rectangle r = new(5, -5, 0, 1);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "Rectangle [ X={0}, Y={1}, Width={2}, Height={3} ]", r.X, r.Y, r.Width, r.Height), r.ToString());
     }
 
@@ -321,7 +321,7 @@ public void ToStringTest()
     [InlineData(0, 0, 0, 0)]
     public void DeconstructTest(int x, int y, int width, int height)
     {
-        Rectangle r = new Rectangle(x, y, width, height);
+        Rectangle r = new(x, y, width, height);
 
         (int dx, int dy, int dw, int dh) = r;
 
diff --git a/tests/ImageSharp.Tests/Primitives/SizeFTests.cs b/tests/ImageSharp.Tests/Primitives/SizeFTests.cs
index 3ab3b872fb..246f21b1ee 100644
--- a/tests/ImageSharp.Tests/Primitives/SizeFTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/SizeFTests.cs
@@ -20,13 +20,13 @@ public void DefaultConstructorTest()
     [InlineData(0, 0)]
     public void NonDefaultConstructorAndDimensionsTest(float width, float height)
     {
-        SizeF s1 = new SizeF(width, height);
-        PointF p1 = new PointF(width, height);
-        SizeF s2 = new SizeF(s1);
+        SizeF s1 = new(width, height);
+        PointF p1 = new(width, height);
+        SizeF s2 = new(s1);
 
         Assert.Equal(s1, s2);
-        Assert.Equal(s1, new SizeF(p1));
-        Assert.Equal(s2, new SizeF(p1));
+        Assert.Equal(s1, new(p1));
+        Assert.Equal(s2, new(p1));
 
         Assert.Equal(width, s1.Width);
         Assert.Equal(height, s1.Height);
@@ -62,10 +62,10 @@ public void IsEmptyRandomTest(float width, float height)
     [InlineData(0, 0)]
     public void ArithmeticTest(float width, float height)
     {
-        SizeF s1 = new SizeF(width, height);
-        SizeF s2 = new SizeF(height, width);
-        SizeF addExpected = new SizeF(width + height, width + height);
-        SizeF subExpected = new SizeF(width - height, height - width);
+        SizeF s1 = new(width, height);
+        SizeF s2 = new(height, width);
+        SizeF addExpected = new(width + height, width + height);
+        SizeF subExpected = new(width - height, height - width);
 
         Assert.Equal(addExpected, s1 + s2);
         Assert.Equal(addExpected, SizeF.Add(s1, s2));
@@ -81,8 +81,8 @@ public void ArithmeticTest(float width, float height)
     [InlineData(0, 0)]
     public void EqualityTest(float width, float height)
     {
-        SizeF sLeft = new SizeF(width, height);
-        SizeF sRight = new SizeF(height, width);
+        SizeF sLeft = new(width, height);
+        SizeF sRight = new(height, width);
 
         if (width == height)
         {
@@ -103,7 +103,7 @@ public void EqualityTest(float width, float height)
     [Fact]
     public void EqualityTest_NotSizeF()
     {
-        SizeF size = new SizeF(0, 0);
+        SizeF size = new(0, 0);
         Assert.False(size.Equals(null));
         Assert.False(size.Equals(0));
 
@@ -119,7 +119,7 @@ public void EqualityTest_NotSizeF()
     [Fact]
     public void GetHashCodeTest()
     {
-        SizeF size = new SizeF(10, 10);
+        SizeF size = new(10, 10);
         Assert.Equal(size.GetHashCode(), new SizeF(10, 10).GetHashCode());
         Assert.NotEqual(size.GetHashCode(), new SizeF(20, 10).GetHashCode());
         Assert.NotEqual(size.GetHashCode(), new SizeF(10, 20).GetHashCode());
@@ -132,11 +132,11 @@ public void GetHashCodeTest()
     [InlineData(0, 0)]
     public void ConversionTest(float width, float height)
     {
-        SizeF s1 = new SizeF(width, height);
+        SizeF s1 = new(width, height);
         PointF p1 = (PointF)s1;
-        Size s2 = new Size(unchecked((int)width), unchecked((int)height));
+        Size s2 = new(unchecked((int)width), unchecked((int)height));
 
-        Assert.Equal(new PointF(width, height), p1);
+        Assert.Equal(new(width, height), p1);
         Assert.Equal(p1, (PointF)s1);
         Assert.Equal(s2, (Size)s1);
     }
@@ -144,7 +144,7 @@ public void ConversionTest(float width, float height)
     [Fact]
     public void ToStringTest()
     {
-        SizeF sz = new SizeF(10, 5);
+        SizeF sz = new(10, 5);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "SizeF [ Width={0}, Height={1} ]", sz.Width, sz.Height), sz.ToString());
     }
 
@@ -172,10 +172,10 @@ public void ToStringTest()
     [InlineData(float.MinValue, float.MinValue)]
     public void MultiplicationTest(float dimension, float multiplier)
     {
-        SizeF sz1 = new SizeF(dimension, dimension);
+        SizeF sz1 = new(dimension, dimension);
         SizeF mulExpected;
 
-        mulExpected = new SizeF(dimension * multiplier, dimension * multiplier);
+        mulExpected = new(dimension * multiplier, dimension * multiplier);
 
         Assert.Equal(mulExpected, sz1 * multiplier);
         Assert.Equal(mulExpected, multiplier * sz1);
@@ -185,10 +185,10 @@ public void MultiplicationTest(float dimension, float multiplier)
     [InlineData(1111.1111f, 2222.2222f, 3333.3333f)]
     public void MultiplicationTestWidthHeightMultiplier(float width, float height, float multiplier)
     {
-        SizeF sz1 = new SizeF(width, height);
+        SizeF sz1 = new(width, height);
         SizeF mulExpected;
 
-        mulExpected = new SizeF(width * multiplier, height * multiplier);
+        mulExpected = new(width * multiplier, height * multiplier);
 
         Assert.Equal(mulExpected, sz1 * multiplier);
         Assert.Equal(mulExpected, multiplier * sz1);
@@ -215,8 +215,8 @@ public void MultiplicationTestWidthHeightMultiplier(float width, float height, f
     [InlineData(-1.0f, float.MaxValue)]
     public void DivideTestSizeFloat(float dimension, float divisor)
     {
-        SizeF size = new SizeF(dimension, dimension);
-        SizeF expected = new SizeF(dimension / divisor, dimension / divisor);
+        SizeF size = new(dimension, dimension);
+        SizeF expected = new(dimension / divisor, dimension / divisor);
         Assert.Equal(expected, size / divisor);
     }
 
@@ -224,8 +224,8 @@ public void DivideTestSizeFloat(float dimension, float divisor)
     [InlineData(-111.111f, 222.222f, 333.333f)]
     public void DivideTestSizeFloatWidthHeightDivisor(float width, float height, float divisor)
     {
-        SizeF size = new SizeF(width, height);
-        SizeF expected = new SizeF(width / divisor, height / divisor);
+        SizeF size = new(width, height);
+        SizeF expected = new(width / divisor, height / divisor);
         Assert.Equal(expected, size / divisor);
     }
 
@@ -236,7 +236,7 @@ public void DivideTestSizeFloatWidthHeightDivisor(float width, float height, flo
     [InlineData(0, 0)]
     public void DeconstructTest(float width, float height)
     {
-        SizeF s = new SizeF(width, height);
+        SizeF s = new(width, height);
 
         (float deconstructedWidth, float deconstructedHeight) = s;
 
diff --git a/tests/ImageSharp.Tests/Primitives/SizeTests.cs b/tests/ImageSharp.Tests/Primitives/SizeTests.cs
index 41457a8de5..6b366e183f 100644
--- a/tests/ImageSharp.Tests/Primitives/SizeTests.cs
+++ b/tests/ImageSharp.Tests/Primitives/SizeTests.cs
@@ -23,8 +23,8 @@ public void DefaultConstructorTest()
     [InlineData(0, 0)]
     public void NonDefaultConstructorTest(int width, int height)
     {
-        Size s1 = new Size(width, height);
-        Size s2 = new Size(new Point(width, height));
+        Size s1 = new(width, height);
+        Size s2 = new(new Point(width, height));
 
         Assert.Equal(s1, s2);
 
@@ -59,7 +59,7 @@ public void IsEmptyRandomTest(int width, int height)
     [InlineData(0, 0)]
     public void DimensionsTest(int width, int height)
     {
-        Size p = new Size(width, height);
+        Size p = new(width, height);
         Assert.Equal(width, p.Width);
         Assert.Equal(height, p.Height);
     }
@@ -72,7 +72,7 @@ public void DimensionsTest(int width, int height)
     public void PointFConversionTest(int width, int height)
     {
         SizeF sz = new Size(width, height);
-        Assert.Equal(new SizeF(width, height), sz);
+        Assert.Equal(new(width, height), sz);
     }
 
     [Theory]
@@ -83,7 +83,7 @@ public void PointFConversionTest(int width, int height)
     public void SizeConversionTest(int width, int height)
     {
         Point sz = (Point)new Size(width, height);
-        Assert.Equal(new Point(width, height), sz);
+        Assert.Equal(new(width, height), sz);
     }
 
     [Theory]
@@ -93,14 +93,14 @@ public void SizeConversionTest(int width, int height)
     [InlineData(0, 0)]
     public void ArithmeticTest(int width, int height)
     {
-        Size sz1 = new Size(width, height);
-        Size sz2 = new Size(height, width);
+        Size sz1 = new(width, height);
+        Size sz2 = new(height, width);
         Size addExpected, subExpected;
 
         unchecked
         {
-            addExpected = new Size(width + height, height + width);
-            subExpected = new Size(width - height, height - width);
+            addExpected = new(width + height, height + width);
+            subExpected = new(width - height, height - width);
         }
 
         Assert.Equal(addExpected, sz1 + sz2);
@@ -116,14 +116,14 @@ public void ArithmeticTest(int width, int height)
     [InlineData(0, 0)]
     public void PointFMathematicalTest(float width, float height)
     {
-        SizeF szF = new SizeF(width, height);
+        SizeF szF = new(width, height);
         Size pCeiling, pTruncate, pRound;
 
         unchecked
         {
-            pCeiling = new Size((int)MathF.Ceiling(width), (int)MathF.Ceiling(height));
-            pTruncate = new Size((int)width, (int)height);
-            pRound = new Size((int)MathF.Round(width), (int)MathF.Round(height));
+            pCeiling = new((int)MathF.Ceiling(width), (int)MathF.Ceiling(height));
+            pTruncate = new((int)width, (int)height);
+            pRound = new((int)MathF.Round(width), (int)MathF.Round(height));
         }
 
         Assert.Equal(pCeiling, Size.Ceiling(szF));
@@ -138,9 +138,9 @@ public void PointFMathematicalTest(float width, float height)
     [InlineData(0, 0)]
     public void EqualityTest(int width, int height)
     {
-        Size p1 = new Size(width, height);
-        Size p2 = new Size(unchecked(width - 1), unchecked(height - 1));
-        Size p3 = new Size(width, height);
+        Size p1 = new(width, height);
+        Size p2 = new(unchecked(width - 1), unchecked(height - 1));
+        Size p3 = new(width, height);
 
         Assert.True(p1 == p3);
         Assert.True(p1 != p2);
@@ -160,7 +160,7 @@ public void EqualityTest(int width, int height)
     [Fact]
     public void EqualityTest_NotSize()
     {
-        Size size = new Size(0, 0);
+        Size size = new(0, 0);
         Assert.False(size.Equals(null));
         Assert.False(size.Equals(0));
         Assert.False(size.Equals(new SizeF(0, 0)));
@@ -169,7 +169,7 @@ public void EqualityTest_NotSize()
     [Fact]
     public void GetHashCodeTest()
     {
-        Size size = new Size(10, 10);
+        Size size = new(10, 10);
         Assert.Equal(size.GetHashCode(), new Size(10, 10).GetHashCode());
         Assert.NotEqual(size.GetHashCode(), new Size(20, 10).GetHashCode());
         Assert.NotEqual(size.GetHashCode(), new Size(10, 20).GetHashCode());
@@ -178,7 +178,7 @@ public void GetHashCodeTest()
     [Fact]
     public void ToStringTest()
     {
-        Size sz = new Size(10, 5);
+        Size sz = new(10, 5);
         Assert.Equal(string.Format(CultureInfo.CurrentCulture, "Size [ Width={0}, Height={1} ]", sz.Width, sz.Height), sz.ToString());
     }
 
@@ -206,12 +206,12 @@ public void ToStringTest()
     [InlineData(int.MinValue, int.MinValue)]
     public void MultiplicationTestSizeInt(int dimension, int multiplier)
     {
-        Size sz1 = new Size(dimension, dimension);
+        Size sz1 = new(dimension, dimension);
         Size mulExpected;
 
         unchecked
         {
-            mulExpected = new Size(dimension * multiplier, dimension * multiplier);
+            mulExpected = new(dimension * multiplier, dimension * multiplier);
         }
 
         Assert.Equal(mulExpected, sz1 * multiplier);
@@ -222,12 +222,12 @@ public void MultiplicationTestSizeInt(int dimension, int multiplier)
     [InlineData(1000, 2000, 3000)]
     public void MultiplicationTestSizeIntWidthHeightMultiplier(int width, int height, int multiplier)
     {
-        Size sz1 = new Size(width, height);
+        Size sz1 = new(width, height);
         Size mulExpected;
 
         unchecked
         {
-            mulExpected = new Size(width * multiplier, height * multiplier);
+            mulExpected = new(width * multiplier, height * multiplier);
         }
 
         Assert.Equal(mulExpected, sz1 * multiplier);
@@ -258,10 +258,10 @@ public void MultiplicationTestSizeIntWidthHeightMultiplier(int width, int height
     [InlineData(int.MinValue, float.MinValue)]
     public void MultiplicationTestSizeFloat(int dimension, float multiplier)
     {
-        Size sz1 = new Size(dimension, dimension);
+        Size sz1 = new(dimension, dimension);
         SizeF mulExpected;
 
-        mulExpected = new SizeF(dimension * multiplier, dimension * multiplier);
+        mulExpected = new(dimension * multiplier, dimension * multiplier);
 
         Assert.Equal(mulExpected, sz1 * multiplier);
         Assert.Equal(mulExpected, multiplier * sz1);
@@ -271,10 +271,10 @@ public void MultiplicationTestSizeFloat(int dimension, float multiplier)
     [InlineData(1000, 2000, 30.33f)]
     public void MultiplicationTestSizeFloatWidthHeightMultiplier(int width, int height, float multiplier)
     {
-        Size sz1 = new Size(width, height);
+        Size sz1 = new(width, height);
         SizeF mulExpected;
 
-        mulExpected = new SizeF(width * multiplier, height * multiplier);
+        mulExpected = new(width * multiplier, height * multiplier);
 
         Assert.Equal(mulExpected, sz1 * multiplier);
         Assert.Equal(mulExpected, multiplier * sz1);
@@ -283,10 +283,10 @@ public void MultiplicationTestSizeFloatWidthHeightMultiplier(int width, int heig
     [Fact]
     public void DivideByZeroChecks()
     {
-        Size size = new Size(100, 100);
+        Size size = new(100, 100);
         Assert.Throws<DivideByZeroException>(() => size / 0);
 
-        SizeF expectedSizeF = new SizeF(float.PositiveInfinity, float.PositiveInfinity);
+        SizeF expectedSizeF = new(float.PositiveInfinity, float.PositiveInfinity);
         Assert.Equal(expectedSizeF, size / 0.0f);
     }
 
@@ -305,10 +305,10 @@ public void DivideByZeroChecks()
     [InlineData(int.MaxValue, -1)]
     public void DivideTestSizeInt(int dimension, int divisor)
     {
-        Size size = new Size(dimension, dimension);
+        Size size = new(dimension, dimension);
         Size expected;
 
-        expected = new Size(dimension / divisor, dimension / divisor);
+        expected = new(dimension / divisor, dimension / divisor);
 
         Assert.Equal(expected, size / divisor);
     }
@@ -317,10 +317,10 @@ public void DivideTestSizeInt(int dimension, int divisor)
     [InlineData(1111, 2222, 3333)]
     public void DivideTestSizeIntWidthHeightDivisor(int width, int height, int divisor)
     {
-        Size size = new Size(width, height);
+        Size size = new(width, height);
         Size expected;
 
-        expected = new Size(width / divisor, height / divisor);
+        expected = new(width / divisor, height / divisor);
 
         Assert.Equal(expected, size / divisor);
     }
@@ -341,10 +341,10 @@ public void DivideTestSizeIntWidthHeightDivisor(int width, int height, int divis
     [InlineData(int.MinValue, -1.0f)]
     public void DivideTestSizeFloat(int dimension, float divisor)
     {
-        SizeF size = new SizeF(dimension, dimension);
+        SizeF size = new(dimension, dimension);
         SizeF expected;
 
-        expected = new SizeF(dimension / divisor, dimension / divisor);
+        expected = new(dimension / divisor, dimension / divisor);
         Assert.Equal(expected, size / divisor);
     }
 
@@ -352,10 +352,10 @@ public void DivideTestSizeFloat(int dimension, float divisor)
     [InlineData(1111, 2222, -333.33f)]
     public void DivideTestSizeFloatWidthHeightDivisor(int width, int height, float divisor)
     {
-        SizeF size = new SizeF(width, height);
+        SizeF size = new(width, height);
         SizeF expected;
 
-        expected = new SizeF(width / divisor, height / divisor);
+        expected = new(width / divisor, height / divisor);
         Assert.Equal(expected, size / divisor);
     }
 
@@ -366,7 +366,7 @@ public void DivideTestSizeFloatWidthHeightDivisor(int width, int height, float d
     [InlineData(0, 0)]
     public void DeconstructTest(int width, int height)
     {
-        Size s = new Size(width, height);
+        Size s = new(width, height);
 
         (int deconstructedWidth, int deconstructedHeight) = s;
 
diff --git a/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs b/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
index 5e5887c923..74350f73b8 100644
--- a/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
+++ b/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
@@ -18,9 +18,9 @@ public abstract class BaseImageOperationsExtensionTest : IDisposable
 
     public BaseImageOperationsExtensionTest()
     {
-        this.options = new GraphicsOptions { Antialias = false };
-        this.source = new Image<Rgba32>(91 + 324, 123 + 56);
-        this.rect = new Rectangle(91, 123, 324, 56); // make this random?
+        this.options = new() { Antialias = false };
+        this.source = new(91 + 324, 123 + 56);
+        this.rect = new(91, 123, 324, 56); // make this random?
         this.internalOperations = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(this.source.Configuration, this.source, false);
         this.internalOperations.SetGraphicsOptions(this.options);
         this.operations = this.internalOperations;
diff --git a/tests/ImageSharp.Tests/Processing/Binarization/OrderedDitherFactoryTests.cs b/tests/ImageSharp.Tests/Processing/Binarization/OrderedDitherFactoryTests.cs
index c7eb959535..32b8bf276a 100644
--- a/tests/ImageSharp.Tests/Processing/Binarization/OrderedDitherFactoryTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Binarization/OrderedDitherFactoryTests.cs
@@ -10,14 +10,14 @@ public class OrderedDitherFactoryTests
 {
 #pragma warning disable SA1025 // Code should not contain multiple whitespace in a row
 
-    private static readonly DenseMatrix<uint> Expected2x2Matrix = new DenseMatrix<uint>(
+    private static readonly DenseMatrix<uint> Expected2x2Matrix = new(
     new uint[2, 2]
     {
         { 0, 2 },
         { 3, 1 }
     });
 
-    private static readonly DenseMatrix<uint> Expected3x3Matrix = new DenseMatrix<uint>(
+    private static readonly DenseMatrix<uint> Expected3x3Matrix = new(
     new uint[3, 3]
     {
         { 0, 5, 2 },
@@ -25,7 +25,7 @@ public class OrderedDitherFactoryTests
         { 3, 6, 1 }
     });
 
-    private static readonly DenseMatrix<uint> Expected4x4Matrix = new DenseMatrix<uint>(
+    private static readonly DenseMatrix<uint> Expected4x4Matrix = new(
     new uint[4, 4]
     {
         {  0, 8, 2, 10 },
@@ -34,7 +34,7 @@ public class OrderedDitherFactoryTests
         { 15, 7, 13, 5 }
     });
 
-    private static readonly DenseMatrix<uint> Expected8x8Matrix = new DenseMatrix<uint>(
+    private static readonly DenseMatrix<uint> Expected8x8Matrix = new(
     new uint[8, 8]
     {
         {  0, 32,  8, 40,  2, 34, 10, 42 },
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs
index 2cf1c744dc..d90ccee41d 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs
@@ -11,8 +11,8 @@ public class KernelSamplingMapTest
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7RepeatBorder()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(0, 0, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Repeat;
         int[] expected =
         {
@@ -30,8 +30,8 @@ public void KernalSamplingMap_Kernel5Image7x7RepeatBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7BounceBorder()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(0, 0, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
@@ -49,8 +49,8 @@ public void KernalSamplingMap_Kernel5Image7x7BounceBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7MirrorBorder()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(0, 0, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
@@ -68,8 +68,8 @@ public void KernalSamplingMap_Kernel5Image7x7MirrorBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7WrapBorder()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(0, 0, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
@@ -87,8 +87,8 @@ public void KernalSamplingMap_Kernel5Image7x7WrapBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image9x9BounceBorder()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(1, 1, 9, 9);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(1, 1, 9, 9);
         BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
@@ -108,8 +108,8 @@ public void KernalSamplingMap_Kernel5Image9x9BounceBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image9x9MirrorBorder()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(1, 1, 9, 9);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(1, 1, 9, 9);
         BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
@@ -129,8 +129,8 @@ public void KernalSamplingMap_Kernel5Image9x9MirrorBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image9x9WrapBorder()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(1, 1, 9, 9);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(1, 1, 9, 9);
         BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
@@ -150,8 +150,8 @@ public void KernalSamplingMap_Kernel5Image9x9WrapBorder()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7RepeatBorderTile()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(2, 2, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Repeat;
         int[] expected =
         {
@@ -169,8 +169,8 @@ public void KernalSamplingMap_Kernel5Image7x7RepeatBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7BounceBorderTile()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(2, 2, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
@@ -188,8 +188,8 @@ public void KernalSamplingMap_Kernel5Image7x7BounceBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7MirrorBorderTile()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(2, 2, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
@@ -207,8 +207,8 @@ public void KernalSamplingMap_Kernel5Image7x7MirrorBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel5Image7x7WrapBorderTile()
     {
-        Size kernelSize = new Size(5, 5);
-        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        Size kernelSize = new(5, 5);
+        Rectangle bounds = new(2, 2, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
@@ -226,8 +226,8 @@ public void KernalSamplingMap_Kernel5Image7x7WrapBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7RepeatBorder()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(0, 0, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Repeat;
         int[] expected =
         {
@@ -245,8 +245,8 @@ public void KernalSamplingMap_Kernel3Image7x7RepeatBorder()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7BounceBorder()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(0, 0, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
@@ -264,8 +264,8 @@ public void KernalSamplingMap_Kernel3Image7x7BounceBorder()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7MirrorBorder()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(0, 0, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
@@ -283,8 +283,8 @@ public void KernalSamplingMap_Kernel3Image7x7MirrorBorder()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7WrapBorder()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(0, 0, 7, 7);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(0, 0, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
@@ -302,8 +302,8 @@ public void KernalSamplingMap_Kernel3Image7x7WrapBorder()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7RepeatBorderTile()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(2, 2, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Repeat;
         int[] expected =
         {
@@ -321,8 +321,8 @@ public void KernalSamplingMap_Kernel3Image7x7RepeatBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7BounceBorderTile()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(2, 2, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Bounce;
         int[] expected =
         {
@@ -340,8 +340,8 @@ public void KernalSamplingMap_Kernel3Image7BounceBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7MirrorBorderTile()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(2, 2, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Mirror;
         int[] expected =
         {
@@ -359,8 +359,8 @@ public void KernalSamplingMap_Kernel3Image7MirrorBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x7WrapBorderTile()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(2, 2, 7, 7);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(2, 2, 7, 7);
         BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] expected =
         {
@@ -378,8 +378,8 @@ public void KernalSamplingMap_Kernel3Image7x7WrapBorderTile()
     [Fact]
     public void KernalSamplingMap_Kernel3Image7x5WrapBorderTile()
     {
-        Size kernelSize = new Size(3, 3);
-        Rectangle bounds = new Rectangle(2, 2, 7, 5);
+        Size kernelSize = new(3, 3);
+        Rectangle bounds = new(2, 2, 7, 5);
         BorderWrappingMode mode = BorderWrappingMode.Wrap;
         int[] xExpected =
         {
@@ -405,7 +405,7 @@ public void KernalSamplingMap_Kernel3Image7x5WrapBorderTile()
     private void AssertOffsets(Size kernelSize, Rectangle bounds, BorderWrappingMode xBorderMode, BorderWrappingMode yBorderMode, int[] xExpected, int[] yExpected)
     {
         // Arrange
-        KernelSamplingMap map = new KernelSamplingMap(Configuration.Default.MemoryAllocator);
+        KernelSamplingMap map = new(Configuration.Default.MemoryAllocator);
 
         // Act
         map.BuildSamplingOffsetMap(kernelSize.Height, kernelSize.Width, bounds, xBorderMode, yBorderMode);
diff --git a/tests/ImageSharp.Tests/Processing/Convolution/Processors/LaplacianKernelFactoryTests.cs b/tests/ImageSharp.Tests/Processing/Convolution/Processors/LaplacianKernelFactoryTests.cs
index 800cb06ac1..6c6fa6b2be 100644
--- a/tests/ImageSharp.Tests/Processing/Convolution/Processors/LaplacianKernelFactoryTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Convolution/Processors/LaplacianKernelFactoryTests.cs
@@ -7,9 +7,9 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution.Processors;
 
 public class LaplacianKernelFactoryTests
 {
-    private static readonly ApproximateFloatComparer ApproximateComparer = new ApproximateFloatComparer(0.0001F);
+    private static readonly ApproximateFloatComparer ApproximateComparer = new(0.0001F);
 
-    private static readonly DenseMatrix<float> Expected3x3Matrix = new DenseMatrix<float>(
+    private static readonly DenseMatrix<float> Expected3x3Matrix = new(
         new float[,]
             {
                 { -1, -1, -1 },
@@ -17,7 +17,7 @@ public class LaplacianKernelFactoryTests
                 { -1, -1, -1 }
             });
 
-    private static readonly DenseMatrix<float> Expected5x5Matrix = new DenseMatrix<float>(
+    private static readonly DenseMatrix<float> Expected5x5Matrix = new(
         new float[,]
             {
                 { -1, -1, -1, -1, -1 },
diff --git a/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs b/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
index 306caf8f27..9cfc3a3f09 100644
--- a/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs
@@ -31,28 +31,28 @@ public void Brightness_amount_rect_BrightnessProcessorDefaultsSet()
     [Fact]
     public void Brightness_scaled_vector()
     {
-        Image<Rgb24> rgbImage = new Image<Rgb24>(Configuration.Default, 100, 100, new Rgb24(0, 0, 0));
+        Image<Rgb24> rgbImage = new(Configuration.Default, 100, 100, new Rgb24(0, 0, 0));
 
         rgbImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2)));
 
-        Assert.Equal(new Rgb24(0, 0, 0), rgbImage[0, 0]);
+        Assert.Equal(new(0, 0, 0), rgbImage[0, 0]);
 
-        rgbImage = new Image<Rgb24>(Configuration.Default, 100, 100, new Rgb24(10, 10, 10));
+        rgbImage = new(Configuration.Default, 100, 100, new Rgb24(10, 10, 10));
 
         rgbImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2)));
 
-        Assert.Equal(new Rgb24(20, 20, 20), rgbImage[0, 0]);
+        Assert.Equal(new(20, 20, 20), rgbImage[0, 0]);
 
-        Image<HalfSingle> halfSingleImage = new Image<HalfSingle>(Configuration.Default, 100, 100, new HalfSingle(-1));
+        Image<HalfSingle> halfSingleImage = new(Configuration.Default, 100, 100, new HalfSingle(-1));
 
         halfSingleImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2)));
 
-        Assert.Equal(new HalfSingle(-1), halfSingleImage[0, 0]);
+        Assert.Equal(new(-1), halfSingleImage[0, 0]);
 
-        halfSingleImage = new Image<HalfSingle>(Configuration.Default, 100, 100, new HalfSingle(-0.5f));
+        halfSingleImage = new(Configuration.Default, 100, 100, new HalfSingle(-0.5f));
 
         halfSingleImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2)));
 
-        Assert.Equal(new HalfSingle(0), halfSingleImage[0, 0]);
+        Assert.Equal(new(0), halfSingleImage[0, 0]);
     }
 }
diff --git a/tests/ImageSharp.Tests/Processing/ImageOperationTests.cs b/tests/ImageSharp.Tests/Processing/ImageOperationTests.cs
index 4b66f47142..85b5465d93 100644
--- a/tests/ImageSharp.Tests/Processing/ImageOperationTests.cs
+++ b/tests/ImageSharp.Tests/Processing/ImageOperationTests.cs
@@ -22,13 +22,13 @@ public class ImageOperationTests : IDisposable
 
     public ImageOperationTests()
     {
-        this.provider = new FakeImageOperationsProvider();
+        this.provider = new();
 
-        Mock<IImageProcessor> processorMock = new Mock<IImageProcessor>();
+        Mock<IImageProcessor> processorMock = new();
         this.processorDefinition = processorMock.Object;
 
-        this.image = new Image<Rgba32>(
-            new Configuration
+        this.image = new(
+            new()
             {
                 ImageOperationsProvider = this.provider
             },
@@ -152,7 +152,7 @@ private static string GetExpectedExceptionText()
     {
         try
         {
-            Image<Rgba32> img = new Image<Rgba32>(1, 1);
+            Image<Rgba32> img = new(1, 1);
             img.Dispose();
             img.EnsureNotDisposed();
         }
diff --git a/tests/ImageSharp.Tests/Processing/ImageProcessingContextTests.cs b/tests/ImageSharp.Tests/Processing/ImageProcessingContextTests.cs
index 88707c60ff..06eb90005a 100644
--- a/tests/ImageSharp.Tests/Processing/ImageProcessingContextTests.cs
+++ b/tests/ImageSharp.Tests/Processing/ImageProcessingContextTests.cs
@@ -23,18 +23,18 @@ public class ImageProcessingContextTests : IDisposable
 
     private readonly Mock<ICloningImageProcessor<Rgba32>> cloningProcessorImpl;
 
-    private static readonly Rectangle Bounds = new Rectangle(3, 3, 5, 5);
+    private static readonly Rectangle Bounds = new(3, 3, 5, 5);
 
     public ImageProcessingContextTests()
     {
-        this.processorDefinition = new Mock<IImageProcessor>();
-        this.cloningProcessorDefinition = new Mock<ICloningImageProcessor>();
-        this.regularProcessorImpl = new Mock<IImageProcessor<Rgba32>>();
-        this.cloningProcessorImpl = new Mock<ICloningImageProcessor<Rgba32>>();
+        this.processorDefinition = new();
+        this.cloningProcessorDefinition = new();
+        this.regularProcessorImpl = new();
+        this.cloningProcessorImpl = new();
     }
 
     // bool throwException, bool useBounds
-    public static readonly TheoryData<bool, bool> ProcessorTestData = new TheoryData<bool, bool>()
+    public static readonly TheoryData<bool, bool> ProcessorTestData = new()
     {
         { false, false },
         { false, true },
diff --git a/tests/ImageSharp.Tests/Processing/Normalization/HistogramEqualizationTests.cs b/tests/ImageSharp.Tests/Processing/Normalization/HistogramEqualizationTests.cs
index afa3a99fce..e37cd5db1f 100644
--- a/tests/ImageSharp.Tests/Processing/Normalization/HistogramEqualizationTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Normalization/HistogramEqualizationTests.cs
@@ -32,14 +32,14 @@ public void GlobalHistogramEqualization_WithDifferentLuminanceLevels(int luminan
             70,  87,  69,  68,  65,  73,  78,  90
         };
 
-        using (Image<Rgba32> image = new Image<Rgba32>(8, 8))
+        using (Image<Rgba32> image = new(8, 8))
         {
             for (int y = 0; y < 8; y++)
             {
                 for (int x = 0; x < 8; x++)
                 {
                     byte luminance = pixels[(y * 8) + x];
-                    image[x, y] = new Rgba32(luminance, luminance, luminance);
+                    image[x, y] = new(luminance, luminance, luminance);
                 }
             }
 
@@ -56,7 +56,7 @@ public void GlobalHistogramEqualization_WithDifferentLuminanceLevels(int luminan
             };
 
             // Act
-            image.Mutate(x => x.HistogramEqualization(new HistogramEqualizationOptions
+            image.Mutate(x => x.HistogramEqualization(new()
             {
                 LuminanceLevels = luminanceLevels,
                 Method = HistogramEqualizationMethod.Global
@@ -83,7 +83,7 @@ public void GlobalHistogramEqualization_CompareToReferenceOutput<TPixel>(TestIma
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            HistogramEqualizationOptions options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new()
             {
                 Method = HistogramEqualizationMethod.Global,
                 LuminanceLevels = 256,
@@ -101,7 +101,7 @@ public void Adaptive_SlidingWindow_15Tiles_WithClipping<TPixel>(TestImageProvide
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            HistogramEqualizationOptions options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new()
             {
                 Method = HistogramEqualizationMethod.AdaptiveSlidingWindow,
                 LuminanceLevels = 256,
@@ -121,7 +121,7 @@ public void Adaptive_TileInterpolation_10Tiles_WithClipping<TPixel>(TestImagePro
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            HistogramEqualizationOptions options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new()
             {
                 Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
                 LuminanceLevels = 256,
@@ -141,7 +141,7 @@ public void AutoLevel_SeparateChannels_CompareToReferenceOutput<TPixel>(TestImag
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            HistogramEqualizationOptions options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new()
             {
                 Method = HistogramEqualizationMethod.AutoLevel,
                 LuminanceLevels = 256,
@@ -160,7 +160,7 @@ public void AutoLevel_SynchronizedChannels_CompareToReferenceOutput<TPixel>(Test
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            HistogramEqualizationOptions options = new HistogramEqualizationOptions
+            HistogramEqualizationOptions options = new()
             {
                 Method = HistogramEqualizationMethod.AutoLevel,
                 LuminanceLevels = 256,
@@ -187,7 +187,7 @@ public void Issue984<TPixel>(TestImageProvider<TPixel> provider)
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            HistogramEqualizationOptions options = new HistogramEqualizationOptions()
+            HistogramEqualizationOptions options = new()
             {
                 Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
                 LuminanceLevels = 256,
@@ -214,7 +214,7 @@ public unsafe void Issue1640<TPixel>(TestImageProvider<TPixel> provider)
         // https://github.com/SixLabors/ImageSharp/discussions/1640
         // Test using isolated memory to ensure clean buffers for reference
         provider.Configuration = Configuration.CreateDefaultInstance();
-        HistogramEqualizationOptions options = new HistogramEqualizationOptions
+        HistogramEqualizationOptions options = new()
         {
             Method = HistogramEqualizationMethod.AdaptiveTileInterpolation,
             LuminanceLevels = 4096,
diff --git a/tests/ImageSharp.Tests/Processing/Normalization/MagickCompareTests.cs b/tests/ImageSharp.Tests/Processing/Normalization/MagickCompareTests.cs
index 2b609a9b2a..50c177cc0c 100644
--- a/tests/ImageSharp.Tests/Processing/Normalization/MagickCompareTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Normalization/MagickCompareTests.cs
@@ -49,7 +49,7 @@ private static FileStream LoadAsStream<TPixel>(TestImageProvider<TPixel> provide
             ?? throw new InvalidOperationException("CompareToMagick() works only with file providers!");
 
         TestFile testFile = TestFile.Create(path);
-        return new FileStream(testFile.FullPath, FileMode.Open);
+        return new(testFile.FullPath, FileMode.Open);
     }
 
     private static Image<TPixel> ConvertImageFromMagick<TPixel>(MagickImage magickImage)
diff --git a/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs b/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
index be92633341..c7881597ab 100644
--- a/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
@@ -45,7 +45,7 @@ public void Glow_Radux_GlowProcessorWithDefaultValues()
     [Fact]
     public void Glow_Rect_GlowProcessorWithDefaultValues()
     {
-        Rectangle rect = new Rectangle(12, 123, 43, 65);
+        Rectangle rect = new(12, 123, 43, 65);
         this.operations.Glow(rect);
         GlowProcessor p = this.Verify<GlowProcessor>(rect);
 
diff --git a/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs b/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
index 14dcc7438e..e222c566ff 100644
--- a/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Overlays/VignetteTest.cs
@@ -48,7 +48,7 @@ public void Vignette_Radux_VignetteProcessorWithDefaultValues()
     [Fact]
     public void Vignette_Rect_VignetteProcessorWithDefaultValues()
     {
-        Rectangle rect = new Rectangle(12, 123, 43, 65);
+        Rectangle rect = new(12, 123, 43, 65);
         this.operations.Vignette(rect);
         VignetteProcessor p = this.Verify<VignetteProcessor>(rect);
 
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
index 18f62c1717..64dd7a8669 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryDitherTests.cs
@@ -17,7 +17,7 @@ public class BinaryDitherTests
             TestImages.Png.CalliphoraPartial, TestImages.Png.Bike
         };
 
-    public static readonly TheoryData<string, IDither> OrderedDitherers = new TheoryData<string, IDither>
+    public static readonly TheoryData<string, IDither> OrderedDitherers = new()
     {
         { "Bayer8x8", KnownDitherings.Bayer8x8 },
         { "Bayer4x4", KnownDitherings.Bayer4x4 },
@@ -25,7 +25,7 @@ public class BinaryDitherTests
         { "Bayer2x2", KnownDitherings.Bayer2x2 }
     };
 
-    public static readonly TheoryData<string, IDither> ErrorDiffusers = new TheoryData<string, IDither>
+    public static readonly TheoryData<string, IDither> ErrorDiffusers = new()
     {
         { "Atkinson", KnownDitherings.Atkinson },
         { "Burks", KnownDitherings.Burks },
@@ -102,7 +102,7 @@ public void ApplyDitherFilterInBox<TPixel>(TestImageProvider<TPixel> provider)
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            Rectangle bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
+            Rectangle bounds = new(10, 10, image.Width / 2, image.Height / 2);
 
             image.Mutate(x => x.BinaryDither(DefaultDitherer, bounds));
             image.DebugSave(provider);
@@ -119,7 +119,7 @@ public void ApplyDiffusionFilterInBox<TPixel>(TestImageProvider<TPixel> provider
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            Rectangle bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
+            Rectangle bounds = new(10, 10, image.Width / 2, image.Height / 2);
 
             image.Mutate(x => x.BinaryDither(DefaultErrorDiffuser, bounds));
             image.DebugSave(provider);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
index a94c759751..9c63d0f7cc 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Binarization/BinaryThresholdTest.cs
@@ -12,8 +12,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Binarization;
 public class BinaryThresholdTest
 {
     public static readonly TheoryData<float> BinaryThresholdValues
-        = new TheoryData<float>
-    {
+        = new()
+        {
         .25F,
         .75F
     };
@@ -46,7 +46,7 @@ public void ImageShouldApplyBinaryThresholdInBox<TPixel>(TestImageProvider<TPixe
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            Rectangle bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
+            Rectangle bounds = new(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
 
             image.Mutate(x => x.BinaryThreshold(value, bounds));
             image.DebugSave(provider, value);
@@ -76,7 +76,7 @@ public void ImageShouldApplyBinarySaturationThresholdInBox<TPixel>(TestImageProv
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            Rectangle bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
+            Rectangle bounds = new(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
 
             image.Mutate(x => x.BinaryThreshold(value, BinaryThresholdMode.Saturation, bounds));
             image.DebugSave(provider, value);
@@ -114,7 +114,7 @@ public void ImageShouldApplyBinaryMaxChromaThresholdInBox<TPixel>(TestImageProvi
         using (Image<TPixel> source = provider.GetImage())
         using (Image<TPixel> image = source.Clone())
         {
-            Rectangle bounds = new Rectangle(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
+            Rectangle bounds = new(image.Width / 8, image.Height / 8, 6 * image.Width / 8, 6 * image.Width / 8);
 
             image.Mutate(x => x.BinaryThreshold(value, BinaryThresholdMode.MaxChroma, bounds));
             image.DebugSave(provider, value);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/Basic1ParameterConvolutionTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/Basic1ParameterConvolutionTests.cs
index 13ddf85c1e..455aa48ae0 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/Basic1ParameterConvolutionTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/Basic1ParameterConvolutionTests.cs
@@ -12,7 +12,7 @@ public abstract class Basic1ParameterConvolutionTests
 {
     private static readonly ImageComparer ValidatorComparer = ImageComparer.TolerantPercentage(0.05F);
 
-    public static readonly TheoryData<int> Values = new TheoryData<int> { 3, 5 };
+    public static readonly TheoryData<int> Values = new() { 3, 5 };
 
     public static readonly string[] InputImages =
     {
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
index f045c981eb..9c1ffbbef8 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
@@ -108,9 +108,9 @@ public void Serialize(IXunitSerializationInfo info)
 
     public static readonly TheoryData<BokehBlurInfo> BokehBlurValues = new()
     {
-        new BokehBlurInfo { Radius = 8, Components = 1, Gamma = 1 },
-        new BokehBlurInfo { Radius = 16, Components = 1, Gamma = 3 },
-        new BokehBlurInfo { Radius = 16, Components = 2, Gamma = 3 }
+        new() { Radius = 8, Components = 1, Gamma = 1 },
+        new() { Radius = 16, Components = 1, Gamma = 3 },
+        new() { Radius = 16, Components = 2, Gamma = 3 }
     };
 
     public static readonly string[] TestFiles =
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/ConvolutionTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/ConvolutionTests.cs
index 0cb56b732d..468965f1e2 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/ConvolutionTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/ConvolutionTests.cs
@@ -12,7 +12,7 @@ public class ConvolutionTests
 {
     private static readonly ImageComparer ValidatorComparer = ImageComparer.TolerantPercentage(0.05F);
 
-    public static readonly TheoryData<DenseMatrix<float>> Values = new TheoryData<DenseMatrix<float>>
+    public static readonly TheoryData<DenseMatrix<float>> Values = new()
     {
         // Sharpening kernel.
         new float[,]
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
index 2da74377a4..04344e1300 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/DetectEdgesTest.cs
@@ -22,16 +22,16 @@ public class DetectEdgesTest
     public const PixelTypes CommonNonDefaultPixelTypes = PixelTypes.Rgba32 | PixelTypes.Bgra32 | PixelTypes.RgbaVector;
 
     public static readonly TheoryData<EdgeDetectorKernel, string> DetectEdgesFilters
-        = new TheoryData<EdgeDetectorKernel, string>
-    {
+        = new()
+        {
         { KnownEdgeDetectorKernels.Laplacian3x3, nameof(KnownEdgeDetectorKernels.Laplacian3x3) },
         { KnownEdgeDetectorKernels.Laplacian5x5, nameof(KnownEdgeDetectorKernels.Laplacian5x5) },
         { KnownEdgeDetectorKernels.LaplacianOfGaussian, nameof(KnownEdgeDetectorKernels.LaplacianOfGaussian) },
     };
 
     public static readonly TheoryData<EdgeDetector2DKernel, string> DetectEdges2DFilters
-        = new TheoryData<EdgeDetector2DKernel, string>
-    {
+        = new()
+        {
         { KnownEdgeDetectorKernels.Kayyali, nameof(KnownEdgeDetectorKernels.Kayyali) },
         { KnownEdgeDetectorKernels.Prewitt, nameof(KnownEdgeDetectorKernels.Prewitt) },
         { KnownEdgeDetectorKernels.RobertsCross, nameof(KnownEdgeDetectorKernels.RobertsCross) },
@@ -40,8 +40,8 @@ public static readonly TheoryData<EdgeDetector2DKernel, string> DetectEdges2DFil
     };
 
     public static readonly TheoryData<EdgeDetectorCompassKernel, string> DetectEdgesCompassFilters
-        = new TheoryData<EdgeDetectorCompassKernel, string>
-    {
+        = new()
+        {
         { KnownEdgeDetectorKernels.Kirsch, nameof(KnownEdgeDetectorKernels.Kirsch) },
         { KnownEdgeDetectorKernels.Robinson, nameof(KnownEdgeDetectorKernels.Robinson) },
     };
@@ -55,7 +55,7 @@ public void DetectEdges_WorksOnWrappedMemoryImage<TPixel>(TestImageProvider<TPix
             ctx =>
                 {
                     Size size = ctx.GetCurrentSize();
-                    Rectangle bounds = new Rectangle(10, 10, size.Width / 2, size.Height / 2);
+                    Rectangle bounds = new(10, 10, size.Width / 2, size.Height / 2);
                     ctx.DetectEdges(bounds);
                 },
             comparer: OpaqueComparer,
@@ -158,7 +158,7 @@ public void DetectEdges_InBox<TPixel>(TestImageProvider<TPixel> provider)
     {
         using (Image<TPixel> image = provider.GetImage())
         {
-            Rectangle bounds = new Rectangle(10, 10, image.Width / 2, image.Height / 2);
+            Rectangle bounds = new(10, 10, image.Width / 2, image.Height / 2);
 
             image.Mutate(x => x.DetectEdges(bounds));
             image.DebugSave(provider);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
index 9e47f54cc9..3cc9653347 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Dithering/DitherTests.cs
@@ -17,7 +17,7 @@ public class DitherTests
     public static readonly string[] CommonTestImages = { TestImages.Png.CalliphoraPartial, TestImages.Png.Bike };
 
     public static readonly TheoryData<IDither, string> ErrorDiffusers
-        = new TheoryData<IDither, string>
+        = new()
         {
             { KnownDitherings.Atkinson, nameof(KnownDitherings.Atkinson) },
             { KnownDitherings.Burks, nameof(KnownDitherings.Burks) },
@@ -31,7 +31,7 @@ public static readonly TheoryData<IDither, string> ErrorDiffusers
         };
 
     public static readonly TheoryData<IDither, string> OrderedDitherers
-        = new TheoryData<IDither, string>
+        = new()
         {
             { KnownDitherings.Bayer2x2, nameof(KnownDitherings.Bayer2x2) },
             { KnownDitherings.Bayer4x4, nameof(KnownDitherings.Bayer4x4) },
@@ -41,7 +41,7 @@ public static readonly TheoryData<IDither, string> OrderedDitherers
         };
 
     public static readonly TheoryData<IDither> DefaultInstanceDitherers
-        = new TheoryData<IDither>
+        = new()
         {
             default(ErrorDither),
             default(OrderedDither)
@@ -186,7 +186,7 @@ public void ShouldThrowForDefaultDitherInstance(IDither dither)
     {
         void Command()
         {
-            using Image<Rgba32> image = new Image<Rgba32>(10, 10);
+            using Image<Rgba32> image = new(10, 10);
             image.Mutate(x => x.Dither(dither));
         }
 
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Effects/OilPaintTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Effects/OilPaintTest.cs
index 10811a559e..06d3850a4f 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Effects/OilPaintTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Effects/OilPaintTest.cs
@@ -11,8 +11,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects;
 [GroupOutput("Effects")]
 public class OilPaintTest
 {
-    public static readonly TheoryData<int, int> OilPaintValues = new TheoryData<int, int>
-                                                                     {
+    public static readonly TheoryData<int, int> OilPaintValues = new()
+    {
                                                                          { 15, 10 },
                                                                          { 6, 5 }
                                                                      };
@@ -49,7 +49,7 @@ public void InBox<TPixel>(TestImageProvider<TPixel> provider, int levels, int br
     [Fact]
     public void Issue2518_PixelComponentOutsideOfRange_ThrowsImageProcessingException()
     {
-        using Image<RgbaVector> image = new(10, 10, new RgbaVector(1, 1, 100));
+        using Image<RgbaVector> image = new(10, 10, new(1, 1, 100));
         Assert.Throws<ImageProcessingException>(() => image.Mutate(ctx => ctx.OilPaint()));
     }
 }
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
index 193ee8e1c2..963394e7d5 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelShaderTest.cs
@@ -24,7 +24,7 @@ public void FullImage<TPixel>(TestImageProvider<TPixel> provider)
                 {
                     Vector4 v4 = span[i];
                     float avg = (v4.X + v4.Y + v4.Z) / 3f;
-                    span[i] = new Vector4(avg);
+                    span[i] = new(avg);
                 }
             }),
             appendPixelTypeToFileName: false);
@@ -43,7 +43,7 @@ public void InBox<TPixel>(TestImageProvider<TPixel> provider)
                     {
                         Vector4 v4 = span[i];
                         float avg = (v4.X + v4.Y + v4.Z) / 3f;
-                        span[i] = new Vector4(avg);
+                        span[i] = new(avg);
                     }
                 },
                 rect));
@@ -71,7 +71,7 @@ public void PositionAwareFullImage<TPixel>(TestImageProvider<TPixel> provider)
 
                         Vector4 v4 = span[i];
                         float avg = (v4.X + v4.Y + v4.Z) / 3f;
-                        Vector4 gray = new Vector4(avg, avg, avg, a);
+                        Vector4 gray = new(avg, avg, avg, a);
 
                         span[i] = Vector4.Clamp(gray, Vector4.Zero, Vector4.One);
                     }
@@ -101,7 +101,7 @@ public void PositionAwareInBox<TPixel>(TestImageProvider<TPixel> provider)
 
                         Vector4 v4 = span[i];
                         float avg = (v4.X + v4.Y + v4.Z) / 3f;
-                        Vector4 gray = new Vector4(avg, avg, avg, a);
+                        Vector4 gray = new(avg, avg, avg, a);
 
                         span[i] = Vector4.Clamp(gray, Vector4.Zero, Vector4.One);
                     }
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelateTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelateTest.cs
index 29b9524030..fff7ba0182 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelateTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Effects/PixelateTest.cs
@@ -10,7 +10,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Effects;
 [GroupOutput("Effects")]
 public class PixelateTest
 {
-    public static readonly TheoryData<int> PixelateValues = new TheoryData<int> { 4, 8 };
+    public static readonly TheoryData<int> PixelateValues = new() { 4, 8 };
 
     [Theory]
     [WithFile(TestImages.Png.Ducky, nameof(PixelateValues), PixelTypes.Rgba32)]
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/BrightnessTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/BrightnessTest.cs
index 7da96d13dd..4663aa868d 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/BrightnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/BrightnessTest.cs
@@ -14,7 +14,7 @@ public class BrightnessTest
     private readonly ImageComparer imageComparer = ImageComparer.Tolerant(0.007F);
 
     public static readonly TheoryData<float> BrightnessValues
-    = new TheoryData<float>
+    = new()
     {
         .5F,
         1.5F
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/ColorBlindnessTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/ColorBlindnessTest.cs
index 0727a5b979..1f2afb97f5 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/ColorBlindnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/ColorBlindnessTest.cs
@@ -14,7 +14,7 @@ public class ColorBlindnessTest
     private readonly ImageComparer imageComparer = ImageComparer.Tolerant(0.03F);
 
     public static readonly TheoryData<ColorBlindnessMode> ColorBlindnessFilters
-    = new TheoryData<ColorBlindnessMode>
+    = new()
     {
         ColorBlindnessMode.Achromatomaly,
         ColorBlindnessMode.Achromatopsia,
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/ContrastTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/ContrastTest.cs
index 5e2a7f55d1..6ff10bbd8e 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/ContrastTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/ContrastTest.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters;
 public class ContrastTest
 {
     public static readonly TheoryData<float> ContrastValues
-    = new TheoryData<float>
+    = new()
     {
         .5F,
         1.5F
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/GrayscaleTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/GrayscaleTest.cs
index 50a2621524..15ef7f7c37 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/GrayscaleTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/GrayscaleTest.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters;
 public class GrayscaleTest
 {
     public static readonly TheoryData<GrayscaleMode> GrayscaleModeTypes
-        = new TheoryData<GrayscaleMode>
+        = new()
         {
             GrayscaleMode.Bt601,
             GrayscaleMode.Bt709
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/HueTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/HueTest.cs
index 65ac4245d7..1838cc33db 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/HueTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/HueTest.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters;
 public class HueTest
 {
     public static readonly TheoryData<int> HueValues
-    = new TheoryData<int>
+    = new()
     {
         180,
         -180
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/LightnessTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/LightnessTest.cs
index 39e69aa4a5..49e2c85467 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/LightnessTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/LightnessTest.cs
@@ -14,7 +14,7 @@ public class LightnessTest
     private readonly ImageComparer imageComparer = ImageComparer.Tolerant(0.007F);
 
     public static readonly TheoryData<float> LightnessValues
-    = new TheoryData<float>
+    = new()
     {
         .5F,
         1.5F
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/OpacityTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/OpacityTest.cs
index 10ddf3a47d..8a1bbfe3f9 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/OpacityTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/OpacityTest.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters;
 public class OpacityTest
 {
     public static readonly TheoryData<float> AlphaValues
-    = new TheoryData<float>
+    = new()
     {
         20 / 100F,
         80 / 100F
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Filters/SaturateTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Filters/SaturateTest.cs
index 8632d46259..642c798196 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Filters/SaturateTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Filters/SaturateTest.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Filters;
 public class SaturateTest
 {
     public static readonly TheoryData<float> SaturationValues
-    = new TheoryData<float>
+    = new()
     {
         .5F,
         1.5F,
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
index 0e766ab1a2..cabfe30598 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/OctreeQuantizerTests.cs
@@ -13,24 +13,24 @@ public class OctreeQuantizerTests
     [Fact]
     public void OctreeQuantizerConstructor()
     {
-        QuantizerOptions expected = new QuantizerOptions { MaxColors = 128 };
-        OctreeQuantizer quantizer = new OctreeQuantizer(expected);
+        QuantizerOptions expected = new() { MaxColors = 128 };
+        OctreeQuantizer quantizer = new(expected);
 
         Assert.Equal(expected.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(QuantizerConstants.DefaultDither, quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = null };
-        quantizer = new OctreeQuantizer(expected);
+        expected = new() { Dither = null };
+        quantizer = new(expected);
         Assert.Equal(QuantizerConstants.MaxColors, quantizer.Options.MaxColors);
         Assert.Null(quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = KnownDitherings.Atkinson };
-        quantizer = new OctreeQuantizer(expected);
+        expected = new() { Dither = KnownDitherings.Atkinson };
+        quantizer = new(expected);
         Assert.Equal(QuantizerConstants.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(KnownDitherings.Atkinson, quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = KnownDitherings.Atkinson, MaxColors = 0 };
-        quantizer = new OctreeQuantizer(expected);
+        expected = new() { Dither = KnownDitherings.Atkinson, MaxColors = 0 };
+        quantizer = new(expected);
         Assert.Equal(QuantizerConstants.MinColors, quantizer.Options.MaxColors);
         Assert.Equal(KnownDitherings.Atkinson, quantizer.Options.Dither);
     }
@@ -38,7 +38,7 @@ public void OctreeQuantizerConstructor()
     [Fact]
     public void OctreeQuantizerCanCreateFrameQuantizer()
     {
-        OctreeQuantizer quantizer = new OctreeQuantizer();
+        OctreeQuantizer quantizer = new();
         IQuantizer<Rgba32> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
@@ -46,14 +46,14 @@ public void OctreeQuantizerCanCreateFrameQuantizer()
         Assert.Equal(QuantizerConstants.DefaultDither, frameQuantizer.Options.Dither);
         frameQuantizer.Dispose();
 
-        quantizer = new OctreeQuantizer(new QuantizerOptions { Dither = null });
+        quantizer = new(new() { Dither = null });
         frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
         Assert.Null(frameQuantizer.Options.Dither);
         frameQuantizer.Dispose();
 
-        quantizer = new OctreeQuantizer(new QuantizerOptions { Dither = KnownDitherings.Atkinson });
+        quantizer = new(new() { Dither = KnownDitherings.Atkinson });
         frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
         Assert.NotNull(frameQuantizer);
         Assert.Equal(KnownDitherings.Atkinson, frameQuantizer.Options.Dither);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
index e2515f8d8f..ed92546054 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
@@ -15,24 +15,24 @@ public class PaletteQuantizerTests
     [Fact]
     public void PaletteQuantizerConstructor()
     {
-        QuantizerOptions expected = new QuantizerOptions { MaxColors = 128 };
-        PaletteQuantizer quantizer = new PaletteQuantizer(Palette, expected);
+        QuantizerOptions expected = new() { MaxColors = 128 };
+        PaletteQuantizer quantizer = new(Palette, expected);
 
         Assert.Equal(expected.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(QuantizerConstants.DefaultDither, quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = null };
-        quantizer = new PaletteQuantizer(Palette, expected);
+        expected = new() { Dither = null };
+        quantizer = new(Palette, expected);
         Assert.Equal(QuantizerConstants.MaxColors, quantizer.Options.MaxColors);
         Assert.Null(quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = KnownDitherings.Atkinson };
-        quantizer = new PaletteQuantizer(Palette, expected);
+        expected = new() { Dither = KnownDitherings.Atkinson };
+        quantizer = new(Palette, expected);
         Assert.Equal(QuantizerConstants.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(KnownDitherings.Atkinson, quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = KnownDitherings.Atkinson, MaxColors = 0 };
-        quantizer = new PaletteQuantizer(Palette, expected);
+        expected = new() { Dither = KnownDitherings.Atkinson, MaxColors = 0 };
+        quantizer = new(Palette, expected);
         Assert.Equal(QuantizerConstants.MinColors, quantizer.Options.MaxColors);
         Assert.Equal(KnownDitherings.Atkinson, quantizer.Options.Dither);
     }
@@ -40,7 +40,7 @@ public void PaletteQuantizerConstructor()
     [Fact]
     public void PaletteQuantizerCanCreateFrameQuantizer()
     {
-        PaletteQuantizer quantizer = new PaletteQuantizer(Palette);
+        PaletteQuantizer quantizer = new(Palette);
         IQuantizer<Rgba32> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
@@ -48,14 +48,14 @@ public void PaletteQuantizerCanCreateFrameQuantizer()
         Assert.Equal(QuantizerConstants.DefaultDither, frameQuantizer.Options.Dither);
         frameQuantizer.Dispose();
 
-        quantizer = new PaletteQuantizer(Palette, new QuantizerOptions { Dither = null });
+        quantizer = new(Palette, new() { Dither = null });
         frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
         Assert.Null(frameQuantizer.Options.Dither);
         frameQuantizer.Dispose();
 
-        quantizer = new PaletteQuantizer(Palette, new QuantizerOptions { Dither = KnownDitherings.Atkinson });
+        quantizer = new(Palette, new() { Dither = KnownDitherings.Atkinson });
         frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
         Assert.NotNull(frameQuantizer);
         Assert.Equal(KnownDitherings.Atkinson, frameQuantizer.Options.Dither);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
index 03ec0c1e67..6e43fe2525 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/WuQuantizerTests.cs
@@ -13,24 +13,24 @@ public class WuQuantizerTests
     [Fact]
     public void WuQuantizerConstructor()
     {
-        QuantizerOptions expected = new QuantizerOptions { MaxColors = 128 };
-        WuQuantizer quantizer = new WuQuantizer(expected);
+        QuantizerOptions expected = new() { MaxColors = 128 };
+        WuQuantizer quantizer = new(expected);
 
         Assert.Equal(expected.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(QuantizerConstants.DefaultDither, quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = null };
-        quantizer = new WuQuantizer(expected);
+        expected = new() { Dither = null };
+        quantizer = new(expected);
         Assert.Equal(QuantizerConstants.MaxColors, quantizer.Options.MaxColors);
         Assert.Null(quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = KnownDitherings.Atkinson };
-        quantizer = new WuQuantizer(expected);
+        expected = new() { Dither = KnownDitherings.Atkinson };
+        quantizer = new(expected);
         Assert.Equal(QuantizerConstants.MaxColors, quantizer.Options.MaxColors);
         Assert.Equal(KnownDitherings.Atkinson, quantizer.Options.Dither);
 
-        expected = new QuantizerOptions { Dither = KnownDitherings.Atkinson, MaxColors = 0 };
-        quantizer = new WuQuantizer(expected);
+        expected = new() { Dither = KnownDitherings.Atkinson, MaxColors = 0 };
+        quantizer = new(expected);
         Assert.Equal(QuantizerConstants.MinColors, quantizer.Options.MaxColors);
         Assert.Equal(KnownDitherings.Atkinson, quantizer.Options.Dither);
     }
@@ -38,7 +38,7 @@ public void WuQuantizerConstructor()
     [Fact]
     public void WuQuantizerCanCreateFrameQuantizer()
     {
-        WuQuantizer quantizer = new WuQuantizer();
+        WuQuantizer quantizer = new();
         IQuantizer<Rgba32> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
@@ -46,14 +46,14 @@ public void WuQuantizerCanCreateFrameQuantizer()
         Assert.Equal(QuantizerConstants.DefaultDither, frameQuantizer.Options.Dither);
         frameQuantizer.Dispose();
 
-        quantizer = new WuQuantizer(new QuantizerOptions { Dither = null });
+        quantizer = new(new() { Dither = null });
         frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
 
         Assert.NotNull(frameQuantizer);
         Assert.Null(frameQuantizer.Options.Dither);
         frameQuantizer.Dispose();
 
-        quantizer = new WuQuantizer(new QuantizerOptions { Dither = KnownDitherings.Atkinson });
+        quantizer = new(new() { Dither = KnownDitherings.Atkinson });
         frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(Configuration.Default);
         Assert.NotNull(frameQuantizer);
         Assert.Equal(KnownDitherings.Atkinson, frameQuantizer.Options.Dither);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AffineTransformTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AffineTransformTests.cs
index a7855e23aa..34a8b1e587 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AffineTransformTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AffineTransformTests.cs
@@ -213,7 +213,7 @@ public void WorksWithDiscoBuffers<TPixel>(TestImageProvider<TPixel> provider, in
     public void Issue1911()
     {
         using Image<Rgba32> image = new(100, 100);
-        image.Mutate(x => x = x.Transform(new Rectangle(0, 0, 99, 100), Matrix3x2.Identity, new Size(99, 100), KnownResamplers.Lanczos2));
+        image.Mutate(x => x = x.Transform(new(0, 0, 99, 100), Matrix3x2.Identity, new(99, 100), KnownResamplers.Lanczos2));
 
         Assert.Equal(99, image.Width);
         Assert.Equal(100, image.Height);
@@ -227,7 +227,7 @@ public void Issue2753<TPixel>(TestImageProvider<TPixel> provider)
         using Image<TPixel> image = provider.GetImage();
 
         AffineTransformBuilder builder =
-            new AffineTransformBuilder().AppendRotationDegrees(270, new Vector2(3.5f, 3.5f));
+            new AffineTransformBuilder().AppendRotationDegrees(270, new(3.5f, 3.5f));
         image.Mutate(x => x.BackgroundColor(Color.Red));
         image.Mutate(x => x = x.Transform(builder));
 
@@ -246,7 +246,7 @@ public void Identity<TPixel>(TestImageProvider<TPixel> provider)
 
         Matrix3x2 m = Matrix3x2.Identity;
         Rectangle r = new(25, 25, 50, 50);
-        image.Mutate(x => x.Transform(r, m, new Size(100, 100), KnownResamplers.Bicubic));
+        image.Mutate(x => x.Transform(r, m, new(100, 100), KnownResamplers.Bicubic));
         image.DebugSave(provider);
         image.CompareToReferenceOutput(ValidatorComparer, provider);
     }
@@ -260,9 +260,9 @@ public void Transform_With_Custom_Dimensions<TPixel>(TestImageProvider<TPixel> p
     {
         using Image<TPixel> image = provider.GetImage();
 
-        Matrix3x2 m = Matrix3x2.CreateRotation(radians, new Vector2(50, 50));
+        Matrix3x2 m = Matrix3x2.CreateRotation(radians, new(50, 50));
         Rectangle r = new(25, 25, 50, 50);
-        image.Mutate(x => x.Transform(r, m, new Size(100, 100), KnownResamplers.Bicubic));
+        image.Mutate(x => x.Transform(r, m, new(100, 100), KnownResamplers.Bicubic));
         image.DebugSave(provider, testOutputDetails: radians);
         image.CompareToReferenceOutput(ValidatorComparer, provider, testOutputDetails: radians);
     }
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
index 2c162f3cb9..21e218d4c1 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs
@@ -44,7 +44,7 @@ public void AutoOrient_WorksForAllExifOrientations<TPixel>(TestImageProvider<TPi
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        image.Metadata.ExifProfile = new ExifProfile();
+        image.Metadata.ExifProfile = new();
         image.Metadata.ExifProfile.SetValue(ExifTag.Orientation, orientation);
 
         image.Mutate(x => x.AutoOrient());
@@ -57,7 +57,7 @@ public void AutoOrient_WorksForAllExifOrientations<TPixel>(TestImageProvider<TPi
     public void AutoOrient_WorksWithCorruptExifData<TPixel>(TestImageProvider<TPixel> provider, ExifDataType dataType, byte[] orientation)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        ExifProfile profile = new ExifProfile();
+        ExifProfile profile = new();
         profile.SetValue(ExifTag.JPEGTables, orientation);
 
         byte[] bytes = profile.ToByteArray();
@@ -79,7 +79,7 @@ public void AutoOrient_WorksWithCorruptExifData<TPixel>(TestImageProvider<TPixel
 
         using Image<TPixel> image = provider.GetImage();
         using Image<TPixel> reference = image.Clone();
-        image.Metadata.ExifProfile = new ExifProfile(bytes);
+        image.Metadata.ExifProfile = new(bytes);
         image.Mutate(x => x.AutoOrient());
         image.DebugSave(provider, $"{dataType}-{orientationCode}", appendPixelTypeToFileName: false);
         ImageComparer.Exact.VerifySimilarity(image, reference);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
index 619610cc26..f4a0aeb0cc 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/CropTest.cs
@@ -17,7 +17,7 @@ public class CropTest
     public void Crop<TPixel>(TestImageProvider<TPixel> provider, int x, int y, int w, int h)
         where TPixel : unmanaged, IPixel<TPixel>
     {
-        Rectangle rect = new Rectangle(x, y, w, h);
+        Rectangle rect = new(x, y, w, h);
         FormattableString info = $"X{x}Y{y}.W{w}H{h}";
         provider.RunValidatingProcessorTest(
             ctx => ctx.Crop(rect),
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
index d587bc7e05..3e986f0cba 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/EntropyCropTest.cs
@@ -10,7 +10,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms;
 [GroupOutput("Transforms")]
 public class EntropyCropTest
 {
-    public static readonly TheoryData<float> EntropyCropValues = new TheoryData<float> { .25F, .75F };
+    public static readonly TheoryData<float> EntropyCropValues = new() { .25F, .75F };
 
     public static readonly string[] InputImages =
         {
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/FlipTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/FlipTests.cs
index 717582274f..5c545147e1 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/FlipTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/FlipTests.cs
@@ -12,8 +12,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms;
 public class FlipTests
 {
     public static readonly TheoryData<FlipMode> FlipValues =
-        new TheoryData<FlipMode>
-            {
+        new()
+        {
                 FlipMode.None,
                 FlipMode.Vertical,
                 FlipMode.Horizontal,
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
index 73bac7a290..96e7702d8e 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeHelperTests.cs
@@ -34,33 +34,33 @@ public void CalculateResizeWorkerHeightInWindowBands(
     [Fact]
     public void CalculateMinRectangleWhenSourceIsSmallerThanTarget()
     {
-        Size sourceSize = new Size(200, 100);
-        Size target = new Size(400, 200);
+        Size sourceSize = new(200, 100);
+        Size target = new(400, 200);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
-            new ResizeOptions
+            new()
             {
                 Mode = ResizeMode.Min,
                 Size = target
             });
 
         Assert.Equal(sourceSize, size);
-        Assert.Equal(new Rectangle(0, 0, sourceSize.Width, sourceSize.Height), rectangle);
+        Assert.Equal(new(0, 0, sourceSize.Width, sourceSize.Height), rectangle);
     }
 
     [Fact]
     public void MaxSizeAndRectangleAreCorrect()
     {
-        Size sourceSize = new Size(5072, 6761);
-        Size target = new Size(0, 450);
+        Size sourceSize = new(5072, 6761);
+        Size target = new(0, 450);
 
-        Size expectedSize = new Size(338, 450);
-        Rectangle expectedRectangle = new Rectangle(Point.Empty, expectedSize);
+        Size expectedSize = new(338, 450);
+        Rectangle expectedRectangle = new(Point.Empty, expectedSize);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
-            new ResizeOptions
+            new()
             {
                 Mode = ResizeMode.Max,
                 Size = target
@@ -73,15 +73,15 @@ public void MaxSizeAndRectangleAreCorrect()
     [Fact]
     public void CropSizeAndRectangleAreCorrect()
     {
-        Size sourceSize = new Size(100, 100);
-        Size target = new Size(25, 50);
+        Size sourceSize = new(100, 100);
+        Size target = new(25, 50);
 
-        Size expectedSize = new Size(25, 50);
-        Rectangle expectedRectangle = new Rectangle(-12, 0, 50, 50);
+        Size expectedSize = new(25, 50);
+        Rectangle expectedRectangle = new(-12, 0, 50, 50);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
-            new ResizeOptions
+            new()
             {
                 Mode = ResizeMode.Crop,
                 Size = target
@@ -94,15 +94,15 @@ public void CropSizeAndRectangleAreCorrect()
     [Fact]
     public void BoxPadSizeAndRectangleAreCorrect()
     {
-        Size sourceSize = new Size(100, 100);
-        Size target = new Size(120, 110);
+        Size sourceSize = new(100, 100);
+        Size target = new(120, 110);
 
-        Size expectedSize = new Size(120, 110);
-        Rectangle expectedRectangle = new Rectangle(10, 5, 100, 100);
+        Size expectedSize = new(120, 110);
+        Rectangle expectedRectangle = new(10, 5, 100, 100);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
-            new ResizeOptions
+            new()
             {
                 Mode = ResizeMode.BoxPad,
                 Size = target
@@ -115,15 +115,15 @@ public void BoxPadSizeAndRectangleAreCorrect()
     [Fact]
     public void PadSizeAndRectangleAreCorrect()
     {
-        Size sourceSize = new Size(100, 100);
-        Size target = new Size(120, 110);
+        Size sourceSize = new(100, 100);
+        Size target = new(120, 110);
 
-        Size expectedSize = new Size(120, 110);
-        Rectangle expectedRectangle = new Rectangle(5, 0, 110, 110);
+        Size expectedSize = new(120, 110);
+        Rectangle expectedRectangle = new(5, 0, 110, 110);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
-            new ResizeOptions
+            new()
             {
                 Mode = ResizeMode.Pad,
                 Size = target
@@ -136,15 +136,15 @@ public void PadSizeAndRectangleAreCorrect()
     [Fact]
     public void StretchSizeAndRectangleAreCorrect()
     {
-        Size sourceSize = new Size(100, 100);
-        Size target = new Size(57, 32);
+        Size sourceSize = new(100, 100);
+        Size target = new(57, 32);
 
-        Size expectedSize = new Size(57, 32);
-        Rectangle expectedRectangle = new Rectangle(Point.Empty, expectedSize);
+        Size expectedSize = new(57, 32);
+        Rectangle expectedRectangle = new(Point.Empty, expectedSize);
 
         (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(
             sourceSize,
-            new ResizeOptions
+            new()
             {
                 Mode = ResizeMode.Stretch,
                 Size = target
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
index 2048b9809d..2c897588ea 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeKernelMapTests.ReferenceKernelMap.cs
@@ -39,7 +39,7 @@ public static ReferenceKernelMap Calculate<TResampler>(in TResampler sampler, in
 
             double radius = tolerantMath.Ceiling(scale * sampler.Radius);
 
-            List<ReferenceKernel> result = new List<ReferenceKernel>();
+            List<ReferenceKernel> result = new();
 
             for (int i = 0; i < destinationSize; i++)
             {
@@ -80,10 +80,10 @@ public static ReferenceKernelMap Calculate<TResampler>(in TResampler sampler, in
 
                 float[] floatVals = values.Select(v => (float)v).ToArray();
 
-                result.Add(new ReferenceKernel(left, floatVals));
+                result.Add(new(left, floatVals));
             }
 
-            return new ReferenceKernelMap(result.ToArray());
+            return new(result.ToArray());
         }
     }
 
@@ -103,7 +103,7 @@ public ReferenceKernel(int left, float[] values)
 
         public static implicit operator ReferenceKernel(ResizeKernel orig)
         {
-            return new ReferenceKernel(orig.StartIndex, orig.Values.ToArray());
+            return new(orig.StartIndex, orig.Values.ToArray());
         }
     }
 }
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
index d1b005ee4e..b4cf089757 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
@@ -78,7 +78,7 @@ public void Resize_BasicSmall<TPixel>(TestImageProvider<TPixel> provider, int wN
         // resizing: (15, 12) -> (10, 6)
         // kernel dimensions: (3, 4)
         using Image<TPixel> image = provider.GetImage();
-        Size destSize = new Size(image.Width * wN / wD, image.Height * hN / hD);
+        Size destSize = new(image.Width * wN / wD, image.Height * hN / hD);
         image.Mutate(x => x.Resize(destSize, KnownResamplers.Bicubic, false));
         FormattableString outputInfo = $"({wN}÷{wD},{hN}÷{hD})";
         image.DebugSave(provider, outputInfo, appendPixelTypeToFileName: false);
@@ -106,7 +106,7 @@ public void WorkingBufferSizeHintInBytes_IsAppliedCorrectly<TPixel>(
         Configuration configuration = Configuration.CreateDefaultInstance();
 
         int workingBufferSizeHintInBytes = workingBufferLimitInRows * destSize.Width * SizeOfVector4;
-        TestMemoryAllocator allocator = new TestMemoryAllocator();
+        TestMemoryAllocator allocator = new();
         allocator.EnableNonThreadSafeLogging();
         configuration.MemoryAllocator = allocator;
         configuration.WorkingBufferSizeHintInBytes = workingBufferSizeHintInBytes;
@@ -211,7 +211,7 @@ public void Resize_PremultiplyAlpha<TPixel>(TestImageProvider<TPixel> provider,
         provider.RunValidatingProcessorTest(
             x =>
             {
-                ResizeOptions resizeOptions = new ResizeOptions()
+                ResizeOptions resizeOptions = new()
                 {
                     Size = x.GetCurrentSize() / 2,
                     Mode = ResizeMode.Crop,
@@ -346,7 +346,7 @@ public void Resize_WorksWithAllResamplers<TPixel>(
                             "invalid dimensional input for Resize_WorksWithAllResamplers!");
                     }
 
-                    newSize = new SizeF(specificDestWidth.Value, specificDestHeight.Value);
+                    newSize = new(specificDestWidth.Value, specificDestHeight.Value);
                     destSizeInfo = $"{newSize.Width}x{newSize.Height}";
                 }
 
@@ -365,12 +365,12 @@ public void ResizeFromSourceRectangle<TPixel>(TestImageProvider<TPixel> provider
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        Rectangle sourceRectangle = new Rectangle(
+        Rectangle sourceRectangle = new(
             image.Width / 8,
             image.Height / 8,
             image.Width / 4,
             image.Height / 4);
-        Rectangle destRectangle = new Rectangle(image.Width / 4, image.Height / 4, image.Width / 2, image.Height / 2);
+        Rectangle destRectangle = new(image.Width / 4, image.Height / 4, image.Width / 2, image.Height / 2);
 
         image.Mutate(
             x => x.Resize(
@@ -437,9 +437,9 @@ public void ResizeWithBoxPadMode<TPixel>(TestImageProvider<TPixel> provider)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        ResizeOptions options = new ResizeOptions
+        ResizeOptions options = new()
         {
-            Size = new Size(image.Width + 200, image.Height + 200),
+            Size = new(image.Width + 200, image.Height + 200),
             Mode = ResizeMode.BoxPad,
             PadColor = Color.HotPink
         };
@@ -456,7 +456,7 @@ public void ResizeWithCropHeightMode<TPixel>(TestImageProvider<TPixel> provider)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        ResizeOptions options = new ResizeOptions { Size = new Size(image.Width, image.Height / 2) };
+        ResizeOptions options = new() { Size = new(image.Width, image.Height / 2) };
 
         image.Mutate(x => x.Resize(options));
 
@@ -470,7 +470,7 @@ public void ResizeWithCropWidthMode<TPixel>(TestImageProvider<TPixel> provider)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        ResizeOptions options = new ResizeOptions { Size = new Size(image.Width / 2, image.Height) };
+        ResizeOptions options = new() { Size = new(image.Width / 2, image.Height) };
 
         image.Mutate(x => x.Resize(options));
 
@@ -484,9 +484,9 @@ public void CanResizeLargeImageWithCropMode<TPixel>(TestImageProvider<TPixel> pr
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        ResizeOptions options = new ResizeOptions
+        ResizeOptions options = new()
         {
-            Size = new Size(480, 600),
+            Size = new(480, 600),
             Mode = ResizeMode.Crop
         };
 
@@ -502,7 +502,7 @@ public void ResizeWithMaxMode<TPixel>(TestImageProvider<TPixel> provider)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        ResizeOptions options = new ResizeOptions { Size = new Size(300, 300), Mode = ResizeMode.Max };
+        ResizeOptions options = new() { Size = new(300, 300), Mode = ResizeMode.Max };
 
         image.Mutate(x => x.Resize(options));
 
@@ -516,9 +516,9 @@ public void ResizeWithMinMode<TPixel>(TestImageProvider<TPixel> provider)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        ResizeOptions options = new ResizeOptions
+        ResizeOptions options = new()
         {
-            Size = new Size((int)Math.Round(image.Width * .75F), (int)Math.Round(image.Height * .95F)),
+            Size = new((int)Math.Round(image.Width * .75F), (int)Math.Round(image.Height * .95F)),
             Mode = ResizeMode.Min
         };
 
@@ -534,9 +534,9 @@ public void ResizeWithPadMode<TPixel>(TestImageProvider<TPixel> provider)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        ResizeOptions options = new ResizeOptions
+        ResizeOptions options = new()
         {
-            Size = new Size(image.Width + 200, image.Height),
+            Size = new(image.Width + 200, image.Height),
             Mode = ResizeMode.Pad,
             PadColor = Color.Lavender
         };
@@ -553,9 +553,9 @@ public void ResizeWithStretchMode<TPixel>(TestImageProvider<TPixel> provider)
         where TPixel : unmanaged, IPixel<TPixel>
     {
         using Image<TPixel> image = provider.GetImage();
-        ResizeOptions options = new ResizeOptions
+        ResizeOptions options = new()
         {
-            Size = new Size(image.Width / 2, image.Height),
+            Size = new(image.Width / 2, image.Height),
             Mode = ResizeMode.Stretch
         };
 
@@ -586,8 +586,8 @@ public void CanResizeExifIssueImages<TPixel>(TestImageProvider<TPixel> provider)
     [Fact]
     public void Issue1195()
     {
-        using Image<Rgba32> image = new Image<Rgba32>(2, 300);
-        Size size = new Size(50, 50);
+        using Image<Rgba32> image = new(2, 300);
+        Size size = new(50, 50);
         image.Mutate(x => x
             .Resize(
                 new ResizeOptions
@@ -605,8 +605,8 @@ public void Issue1195()
     [InlineData(3, 7)]
     public void Issue1342(int width, int height)
     {
-        using Image<Rgba32> image = new Image<Rgba32>(1, 1);
-        Size size = new Size(width, height);
+        using Image<Rgba32> image = new(1, 1);
+        Size size = new(width, height);
         image.Mutate(x => x
             .Resize(
                 new ResizeOptions
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateFlipTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateFlipTests.cs
index 55d26974aa..cc3ea03220 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateFlipTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateFlipTests.cs
@@ -12,8 +12,8 @@ public class RotateFlipTests
     public static readonly string[] FlipFiles = { TestImages.Bmp.F };
 
     public static readonly TheoryData<RotateMode, FlipMode> RotateFlipValues
-        = new TheoryData<RotateMode, FlipMode>
-    {
+        = new()
+        {
         { RotateMode.None, FlipMode.Vertical },
         { RotateMode.None, FlipMode.Horizontal },
         { RotateMode.Rotate90, FlipMode.None },
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateTests.cs
index b150da1d8e..7c3a97a444 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/RotateTests.cs
@@ -11,14 +11,14 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms;
 public class RotateTests
 {
     public static readonly TheoryData<float> RotateAngles
-        = new TheoryData<float>
-    {
+        = new()
+        {
         50, -50, 170, -170
     };
 
     public static readonly TheoryData<RotateMode> RotateEnumValues
-        = new TheoryData<RotateMode>
-    {
+        = new()
+        {
         RotateMode.None,
         RotateMode.Rotate90,
         RotateMode.Rotate180,
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/SkewTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/SkewTests.cs
index 1e217ae24a..30dec4685f 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/SkewTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/SkewTests.cs
@@ -33,8 +33,8 @@ public class SkewTests
                                                              nameof(KnownResamplers.Welch),
                                                          };
 
-    public static readonly TheoryData<float, float> SkewValues = new TheoryData<float, float>
-                                                                     {
+    public static readonly TheoryData<float, float> SkewValues = new()
+    {
                                                                          { 20, 10 },
                                                                          { -20, -10 }
                                                                      };
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/SwizzleTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/SwizzleTests.cs
index de02502e2b..b831b0a6c1 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/SwizzleTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/SwizzleTests.cs
@@ -16,13 +16,12 @@ private struct InvertXAndYSwizzler : ISwizzler
     {
         public InvertXAndYSwizzler(Size sourceSize)
         {
-            this.DestinationSize = new Size(sourceSize.Height, sourceSize.Width);
+            this.DestinationSize = new(sourceSize.Height, sourceSize.Width);
         }
 
         public Size DestinationSize { get; }
 
-        public Point Transform(Point point)
-            => new Point(point.Y, point.X);
+        public Point Transform(Point point) => new(point.Y, point.X);
     }
 
     [Theory]
@@ -35,7 +34,7 @@ public void InvertXAndYSwizzle<TPixel>(TestImageProvider<TPixel> provider)
         using Image<TPixel> expectedImage = provider.GetImage();
         using Image<TPixel> image = provider.GetImage();
 
-        image.Mutate(ctx => ctx.Swizzle(new InvertXAndYSwizzler(new Size(image.Width, image.Height))));
+        image.Mutate(ctx => ctx.Swizzle(new InvertXAndYSwizzler(new(image.Width, image.Height))));
 
         image.DebugSave(
             provider,
@@ -43,7 +42,7 @@ public void InvertXAndYSwizzle<TPixel>(TestImageProvider<TPixel> provider)
             appendPixelTypeToFileName: false,
             appendSourceFileOrDescription: true);
 
-        image.Mutate(ctx => ctx.Swizzle(new InvertXAndYSwizzler(new Size(image.Width, image.Height))));
+        image.Mutate(ctx => ctx.Swizzle(new InvertXAndYSwizzler(new(image.Width, image.Height))));
 
         image.DebugSave(
             provider,
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformBuilderTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformBuilderTests.cs
index 4b1ca92dd6..232571d4d0 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformBuilderTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformBuilderTests.cs
@@ -8,8 +8,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms;
 
 public class AffineTransformBuilderTests : TransformBuilderTestBase<AffineTransformBuilder>
 {
-    protected override AffineTransformBuilder CreateBuilder()
-        => new AffineTransformBuilder();
+    protected override AffineTransformBuilder CreateBuilder() => new();
 
     protected override void AppendRotationDegrees(AffineTransformBuilder builder, float degrees)
         => builder.AppendRotationDegrees(degrees);
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs b/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
index 41750eddd2..6e35fca290 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/CropTest.cs
@@ -17,7 +17,7 @@ public void CropWidthHeightCropProcessorWithRectangleSet(int width, int height)
         this.operations.Crop(width, height);
         CropProcessor processor = this.Verify<CropProcessor>();
 
-        Assert.Equal(new Rectangle(0, 0, width, height), processor.CropRectangle);
+        Assert.Equal(new(0, 0, width, height), processor.CropRectangle);
     }
 
     [Theory]
@@ -25,7 +25,7 @@ public void CropWidthHeightCropProcessorWithRectangleSet(int width, int height)
     [InlineData(12, 123, 6, 2)]
     public void CropRectangleCropProcessorWithRectangleSet(int x, int y, int width, int height)
     {
-        Rectangle cropRectangle = new Rectangle(x, y, width, height);
+        Rectangle cropRectangle = new(x, y, width, height);
         this.operations.Crop(cropRectangle);
         CropProcessor processor = this.Verify<CropProcessor>();
 
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformBuilderTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformBuilderTests.cs
index 7d0c0dc58f..a0380033fd 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformBuilderTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformBuilderTests.cs
@@ -9,8 +9,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms;
 [Trait("Category", "Processors")]
 public class ProjectiveTransformBuilderTests : TransformBuilderTestBase<ProjectiveTransformBuilder>
 {
-    protected override ProjectiveTransformBuilder CreateBuilder()
-        => new ProjectiveTransformBuilder();
+    protected override ProjectiveTransformBuilder CreateBuilder() => new();
 
     protected override void AppendRotationDegrees(ProjectiveTransformBuilder builder, float degrees)
         => builder.AppendRotationDegrees(degrees);
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
index e7a6c792c8..0eb32dff75 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
@@ -20,7 +20,7 @@ public class ProjectiveTransformTests
 
     private ITestOutputHelper Output { get; }
 
-    public static readonly TheoryData<string> ResamplerNames = new TheoryData<string>
+    public static readonly TheoryData<string> ResamplerNames = new()
     {
         nameof(KnownResamplers.Bicubic),
         nameof(KnownResamplers.Box),
@@ -39,7 +39,7 @@ public class ProjectiveTransformTests
         nameof(KnownResamplers.Welch),
     };
 
-    public static readonly TheoryData<TaperSide, TaperCorner> TaperMatrixData = new TheoryData<TaperSide, TaperCorner>
+    public static readonly TheoryData<TaperSide, TaperCorner> TaperMatrixData = new()
     {
         { TaperSide.Bottom, TaperCorner.Both },
         { TaperSide.Bottom, TaperCorner.LeftOrTop },
@@ -57,10 +57,10 @@ public class ProjectiveTransformTests
 
     public static readonly TheoryData<PointF, PointF, PointF, PointF> QuadDistortionData = new()
     {
-        { new PointF(0, 0), new PointF(150, 0), new PointF(150, 150), new PointF(0, 150) }, // source == destination
-        { new PointF(25, 50), new PointF(210, 25), new PointF(140, 210), new PointF(15, 125) }, // Distortion
-        { new PointF(-50, -50), new PointF(200, -50), new PointF(200, 200), new PointF(-50, 200) }, // Scaling
-        { new PointF(150, 0), new PointF(150, 150), new PointF(0, 150), new PointF(0, 0) }, // Rotation
+        { new(0, 0), new(150, 0), new(150, 150), new(0, 150) }, // source == destination
+        { new(25, 50), new(210, 25), new(140, 210), new(15, 125) }, // Distortion
+        { new(-50, -50), new(200, -50), new(200, 200), new(-50, 200) }, // Scaling
+        { new(150, 0), new(150, 150), new(0, 150), new(0, 0) }, // Rotation
     };
 
     public ProjectiveTransformTests(ITestOutputHelper output) => this.Output = output;
@@ -174,8 +174,8 @@ public void PerspectiveTransformMatchesCSS<TPixel>(TestImageProvider<TPixel> pro
     [Fact]
     public void Issue1911()
     {
-        using Image<Rgba32> image = new Image<Rgba32>(100, 100);
-        image.Mutate(x => x = x.Transform(new Rectangle(0, 0, 99, 100), Matrix4x4.Identity, new Size(99, 100), KnownResamplers.Lanczos2));
+        using Image<Rgba32> image = new(100, 100);
+        image.Mutate(x => x = x.Transform(new(0, 0, 99, 100), Matrix4x4.Identity, new(99, 100), KnownResamplers.Lanczos2));
 
         Assert.Equal(99, image.Width);
         Assert.Equal(100, image.Height);
@@ -190,7 +190,7 @@ public void Identity<TPixel>(TestImageProvider<TPixel> provider)
 
         Matrix4x4 m = Matrix4x4.Identity;
         Rectangle r = new(25, 25, 50, 50);
-        image.Mutate(x => x.Transform(r, m, new Size(100, 100), KnownResamplers.Bicubic));
+        image.Mutate(x => x.Transform(r, m, new(100, 100), KnownResamplers.Bicubic));
         image.DebugSave(provider);
         image.CompareToReferenceOutput(ValidatorComparer, provider);
     }
@@ -204,9 +204,9 @@ public void Transform_With_Custom_Dimensions<TPixel>(TestImageProvider<TPixel> p
     {
         using Image<TPixel> image = provider.GetImage();
 
-        Matrix4x4 m = Matrix4x4.CreateRotationX(radians, new Vector3(50, 50, 1F)) * Matrix4x4.CreateRotationY(radians, new Vector3(50, 50, 1F));
+        Matrix4x4 m = Matrix4x4.CreateRotationX(radians, new(50, 50, 1F)) * Matrix4x4.CreateRotationY(radians, new(50, 50, 1F));
         Rectangle r = new(25, 25, 50, 50);
-        image.Mutate(x => x.Transform(r, m, new Size(100, 100), KnownResamplers.Bicubic));
+        image.Mutate(x => x.Transform(r, m, new(100, 100), KnownResamplers.Bicubic));
         image.DebugSave(provider, testOutputDetails: radians);
         image.CompareToReferenceOutput(ValidatorComparer, provider, testOutputDetails: radians);
     }
@@ -246,7 +246,7 @@ private static IResampler GetResampler(string name)
 
         if (property is null)
         {
-            throw new Exception($"No resampler named {name}");
+            throw new($"No resampler named {name}");
         }
 
         return (IResampler)property.GetValue(null);
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
index 9ee43e2e71..d38658bbdb 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs
@@ -64,9 +64,9 @@ public void ResizeWithOptions()
         bool compand = true;
         ResizeMode mode = ResizeMode.Stretch;
 
-        ResizeOptions resizeOptions = new ResizeOptions
+        ResizeOptions resizeOptions = new()
         {
-            Size = new Size(width, height),
+            Size = new(width, height),
             Sampler = sampler,
             Compand = compand,
             Mode = mode
@@ -93,7 +93,7 @@ public void HwIntrinsics_Resize()
     {
         static void RunTest()
         {
-            using Image<Rgba32> image = new Image<Rgba32>(50, 50);
+            using Image<Rgba32> image = new(50, 50);
             image.Mutate(img => img.Resize(25, 25));
 
             Assert.Equal(25, image.Width);
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/SwizzleTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/SwizzleTests.cs
index 432bb5cacb..a4f4f152bb 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/SwizzleTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/SwizzleTests.cs
@@ -13,13 +13,12 @@ private struct InvertXAndYSwizzler : ISwizzler
     {
         public InvertXAndYSwizzler(Size sourceSize)
         {
-            this.DestinationSize = new Size(sourceSize.Height, sourceSize.Width);
+            this.DestinationSize = new(sourceSize.Height, sourceSize.Width);
         }
 
         public Size DestinationSize { get; }
 
-        public Point Transform(Point point)
-            => new Point(point.Y, point.X);
+        public Point Transform(Point point) => new(point.Y, point.X);
     }
 
     [Fact]
@@ -28,7 +27,7 @@ public void InvertXAndYSwizzlerSetsCorrectSizes()
         int width = 5;
         int height = 10;
 
-        this.operations.Swizzle(new InvertXAndYSwizzler(new Size(width, height)));
+        this.operations.Swizzle(new InvertXAndYSwizzler(new(width, height)));
         SwizzleProcessor<InvertXAndYSwizzler> processor = this.Verify<SwizzleProcessor<InvertXAndYSwizzler>>();
 
         Assert.Equal(processor.Swizzler.DestinationSize.Width, height);
diff --git a/tests/ImageSharp.Tests/ProfilingBenchmarks/LoadResizeSaveProfilingBenchmarks.cs b/tests/ImageSharp.Tests/ProfilingBenchmarks/LoadResizeSaveProfilingBenchmarks.cs
index fa3fcec41b..209dd361ec 100644
--- a/tests/ImageSharp.Tests/ProfilingBenchmarks/LoadResizeSaveProfilingBenchmarks.cs
+++ b/tests/ImageSharp.Tests/ProfilingBenchmarks/LoadResizeSaveProfilingBenchmarks.cs
@@ -28,7 +28,7 @@ public void LoadResizeSave(string imagePath)
 
         byte[] imageBytes = TestFile.Create(imagePath).Bytes;
 
-        using MemoryStream ms = new MemoryStream();
+        using MemoryStream ms = new();
         this.Measure(
             30,
             () =>
diff --git a/tests/ImageSharp.Tests/ProfilingBenchmarks/ResizeProfilingBenchmarks.cs b/tests/ImageSharp.Tests/ProfilingBenchmarks/ResizeProfilingBenchmarks.cs
index df531ae4c6..bab11b0f9d 100644
--- a/tests/ImageSharp.Tests/ProfilingBenchmarks/ResizeProfilingBenchmarks.cs
+++ b/tests/ImageSharp.Tests/ProfilingBenchmarks/ResizeProfilingBenchmarks.cs
@@ -28,7 +28,7 @@ public void ResizeBicubic(int width, int height)
             this.ExecutionCount,
             () =>
                 {
-                    using (Image<Rgba32> image = new Image<Rgba32>(this.configuration, width, height))
+                    using (Image<Rgba32> image = new(this.configuration, width, height))
                     {
                         image.Mutate(x => x.Resize(width / 5, height / 5));
                     }
diff --git a/tests/ImageSharp.Tests/Quantization/QuantizedImageTests.cs b/tests/ImageSharp.Tests/Quantization/QuantizedImageTests.cs
index b59542482b..18bcbffae3 100644
--- a/tests/ImageSharp.Tests/Quantization/QuantizedImageTests.cs
+++ b/tests/ImageSharp.Tests/Quantization/QuantizedImageTests.cs
@@ -106,7 +106,7 @@ public void Issue1505<TPixel>(TestImageProvider<TPixel> provider)
     {
         using Image<TPixel> image = provider.GetImage();
         OctreeQuantizer octreeQuantizer = new();
-        IQuantizer<TPixel> quantizer = octreeQuantizer.CreatePixelSpecificQuantizer<TPixel>(Configuration.Default, new QuantizerOptions() { MaxColors = 128 });
+        IQuantizer<TPixel> quantizer = octreeQuantizer.CreatePixelSpecificQuantizer<TPixel>(Configuration.Default, new() { MaxColors = 128 });
         ImageFrame<TPixel> frame = image.Frames[0];
         quantizer.BuildPaletteAndQuantizeFrame(frame, frame.Bounds);
     }
diff --git a/tests/ImageSharp.Tests/Quantization/WuQuantizerTests.cs b/tests/ImageSharp.Tests/Quantization/WuQuantizerTests.cs
index 74f2fc3b42..f500f2b654 100644
--- a/tests/ImageSharp.Tests/Quantization/WuQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Quantization/WuQuantizerTests.cs
@@ -12,7 +12,7 @@ public class WuQuantizerTests
     public void SinglePixelOpaque()
     {
         Configuration config = Configuration.Default;
-        WuQuantizer quantizer = new(new QuantizerOptions { Dither = null });
+        WuQuantizer quantizer = new(new() { Dither = null });
 
         using Image<Rgba32> image = new(config, 1, 1, Color.Black.ToPixel<Rgba32>());
         ImageFrame<Rgba32> frame = image.Frames.RootFrame;
@@ -32,7 +32,7 @@ public void SinglePixelOpaque()
     public void SinglePixelTransparent()
     {
         Configuration config = Configuration.Default;
-        WuQuantizer quantizer = new(new QuantizerOptions { Dither = null });
+        WuQuantizer quantizer = new(new() { Dither = null });
 
         using Image<Rgba32> image = new(config, 1, 1, default(Rgba32));
         ImageFrame<Rgba32> frame = image.Frames.RootFrame;
@@ -49,19 +49,19 @@ public void SinglePixelTransparent()
     }
 
     [Fact]
-    public void GrayScale() => TestScale(c => new Rgba32(c, c, c, 128));
+    public void GrayScale() => TestScale(c => new(c, c, c, 128));
 
     [Fact]
-    public void RedScale() => TestScale(c => new Rgba32(c, 0, 0, 128));
+    public void RedScale() => TestScale(c => new(c, 0, 0, 128));
 
     [Fact]
-    public void GreenScale() => TestScale(c => new Rgba32(0, c, 0, 128));
+    public void GreenScale() => TestScale(c => new(0, c, 0, 128));
 
     [Fact]
-    public void BlueScale() => TestScale(c => new Rgba32(0, 0, c, 128));
+    public void BlueScale() => TestScale(c => new(0, 0, c, 128));
 
     [Fact]
-    public void AlphaScale() => TestScale(c => new Rgba32(0, 0, 0, c));
+    public void AlphaScale() => TestScale(c => new(0, 0, 0, c));
 
     [Fact]
     public void Palette256()
@@ -75,11 +75,11 @@ public void Palette256()
             byte b = (byte)(((i / 16) % 4) * 85);
             byte a = (byte)((i / 64) * 85);
 
-            image[0, i] = new Rgba32(r, g, b, a);
+            image[0, i] = new(r, g, b, a);
         }
 
         Configuration config = Configuration.Default;
-        WuQuantizer quantizer = new(new QuantizerOptions { Dither = null });
+        WuQuantizer quantizer = new(new() { Dither = null });
 
         ImageFrame<Rgba32> frame = image.Frames.RootFrame;
 
@@ -125,7 +125,7 @@ public void LowVariance<TPixel>(TestImageProvider<TPixel> provider)
         // See https://github.com/SixLabors/ImageSharp/issues/866
         using Image<TPixel> image = provider.GetImage();
         Configuration config = Configuration.Default;
-        WuQuantizer quantizer = new(new QuantizerOptions { Dither = null });
+        WuQuantizer quantizer = new(new() { Dither = null });
         ImageFrame<TPixel> frame = image.Frames.RootFrame;
 
         using IQuantizer<TPixel> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<TPixel>(config);
@@ -152,7 +152,7 @@ private static void TestScale(Func<byte, Rgba32> pixelBuilder)
         }
 
         Configuration config = Configuration.Default;
-        WuQuantizer quantizer = new(new QuantizerOptions { Dither = null });
+        WuQuantizer quantizer = new(new() { Dither = null });
 
         ImageFrame<Rgba32> frame = image.Frames.RootFrame;
         using (IQuantizer<Rgba32> frameQuantizer = quantizer.CreatePixelSpecificQuantizer<Rgba32>(config))
diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataLut.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataLut.cs
index 7a778f269b..fa78fde699 100644
--- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataLut.cs
+++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataLut.cs
@@ -18,7 +18,7 @@ private static IccLut CreateLUT8Val()
             result[i] = i / 255f;
         }
 
-        return new IccLut(result);
+        return new(result);
     }
 
     private static byte[] CreateLUT8()
diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataNonPrimitives.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataNonPrimitives.cs
index c476f2e6c7..e49b6bab99 100644
--- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataNonPrimitives.cs
+++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataNonPrimitives.cs
@@ -9,9 +9,9 @@ namespace SixLabors.ImageSharp.Tests;
 
 internal static class IccTestDataNonPrimitives
 {
-    public static readonly DateTime DateTime_ValMin = new DateTime(1, 1, 1, 0, 0, 0, DateTimeKind.Utc);
-    public static readonly DateTime DateTime_ValMax = new DateTime(9999, 12, 31, 23, 59, 59, DateTimeKind.Utc);
-    public static readonly DateTime DateTime_ValRand1 = new DateTime(1990, 11, 26, 3, 19, 47, DateTimeKind.Utc);
+    public static readonly DateTime DateTime_ValMin = new(1, 1, 1, 0, 0, 0, DateTimeKind.Utc);
+    public static readonly DateTime DateTime_ValMax = new(9999, 12, 31, 23, 59, 59, DateTimeKind.Utc);
+    public static readonly DateTime DateTime_ValRand1 = new(1990, 11, 26, 3, 19, 47, DateTimeKind.Utc);
 
     public static readonly byte[] DateTime_Min =
     {
@@ -60,10 +60,10 @@ internal static class IccTestDataNonPrimitives
         new object[] { DateTime_Rand1, DateTime_ValRand1 },
     };
 
-    public static readonly IccVersion VersionNumber_ValMin = new IccVersion(0, 0, 0);
-    public static readonly IccVersion VersionNumber_Val211 = new IccVersion(2, 1, 1);
-    public static readonly IccVersion VersionNumber_Val430 = new IccVersion(4, 3, 0);
-    public static readonly IccVersion VersionNumber_ValMax = new IccVersion(255, 15, 15);
+    public static readonly IccVersion VersionNumber_ValMin = new(0, 0, 0);
+    public static readonly IccVersion VersionNumber_Val211 = new(2, 1, 1);
+    public static readonly IccVersion VersionNumber_Val430 = new(4, 3, 0);
+    public static readonly IccVersion VersionNumber_ValMax = new(255, 15, 15);
 
     public static readonly byte[] VersionNumber_Min = { 0x00, 0x00, 0x00, 0x00 };
     public static readonly byte[] VersionNumber_211 = { 0x02, 0x11, 0x00, 0x00 };
@@ -78,13 +78,13 @@ internal static class IccTestDataNonPrimitives
         new object[] { VersionNumber_Max, VersionNumber_ValMax },
     };
 
-    public static readonly Vector3 XyzNumber_ValMin = new Vector3(IccTestDataPrimitives.Fix16_ValMin, IccTestDataPrimitives.Fix16_ValMin, IccTestDataPrimitives.Fix16_ValMin);
-    public static readonly Vector3 XyzNumber_Val0 = new Vector3(0, 0, 0);
-    public static readonly Vector3 XyzNumber_Val1 = new Vector3(1, 1, 1);
-    public static readonly Vector3 XyzNumber_ValVar1 = new Vector3(1, 2, 3);
-    public static readonly Vector3 XyzNumber_ValVar2 = new Vector3(4, 5, 6);
-    public static readonly Vector3 XyzNumber_ValVar3 = new Vector3(7, 8, 9);
-    public static readonly Vector3 XyzNumber_ValMax = new Vector3(IccTestDataPrimitives.Fix16_ValMax, IccTestDataPrimitives.Fix16_ValMax, IccTestDataPrimitives.Fix16_ValMax);
+    public static readonly Vector3 XyzNumber_ValMin = new(IccTestDataPrimitives.Fix16_ValMin, IccTestDataPrimitives.Fix16_ValMin, IccTestDataPrimitives.Fix16_ValMin);
+    public static readonly Vector3 XyzNumber_Val0 = new(0, 0, 0);
+    public static readonly Vector3 XyzNumber_Val1 = new(1, 1, 1);
+    public static readonly Vector3 XyzNumber_ValVar1 = new(1, 2, 3);
+    public static readonly Vector3 XyzNumber_ValVar2 = new(4, 5, 6);
+    public static readonly Vector3 XyzNumber_ValVar3 = new(7, 8, 9);
+    public static readonly Vector3 XyzNumber_ValMax = new(IccTestDataPrimitives.Fix16_ValMax, IccTestDataPrimitives.Fix16_ValMax, IccTestDataPrimitives.Fix16_ValMax);
 
     public static readonly byte[] XyzNumber_Min = ArrayHelper.Concat(IccTestDataPrimitives.Fix16_Min, IccTestDataPrimitives.Fix16_Min, IccTestDataPrimitives.Fix16_Min);
     public static readonly byte[] XyzNumber_0 = ArrayHelper.Concat(IccTestDataPrimitives.Fix16_0, IccTestDataPrimitives.Fix16_0, IccTestDataPrimitives.Fix16_0);
@@ -102,9 +102,9 @@ internal static class IccTestDataNonPrimitives
         new object[] { XyzNumber_Max, XyzNumber_ValMax },
     };
 
-    public static readonly IccProfileId ProfileId_ValMin = new IccProfileId(0, 0, 0, 0);
-    public static readonly IccProfileId ProfileId_ValRand = new IccProfileId(IccTestDataPrimitives.UInt32_ValRand1, IccTestDataPrimitives.UInt32_ValRand2, IccTestDataPrimitives.UInt32_ValRand3, IccTestDataPrimitives.UInt32_ValRand4);
-    public static readonly IccProfileId ProfileId_ValMax = new IccProfileId(uint.MaxValue, uint.MaxValue, uint.MaxValue, uint.MaxValue);
+    public static readonly IccProfileId ProfileId_ValMin = new(0, 0, 0, 0);
+    public static readonly IccProfileId ProfileId_ValRand = new(IccTestDataPrimitives.UInt32_ValRand1, IccTestDataPrimitives.UInt32_ValRand2, IccTestDataPrimitives.UInt32_ValRand3, IccTestDataPrimitives.UInt32_ValRand4);
+    public static readonly IccProfileId ProfileId_ValMax = new(uint.MaxValue, uint.MaxValue, uint.MaxValue, uint.MaxValue);
 
     public static readonly byte[] ProfileId_Min = ArrayHelper.Concat(IccTestDataPrimitives.UInt32_0, IccTestDataPrimitives.UInt32_0, IccTestDataPrimitives.UInt32_0, IccTestDataPrimitives.UInt32_0);
     public static readonly byte[] ProfileId_Rand = ArrayHelper.Concat(IccTestDataPrimitives.UInt32_Rand1, IccTestDataPrimitives.UInt32_Rand2, IccTestDataPrimitives.UInt32_Rand3, IccTestDataPrimitives.UInt32_Rand4);
@@ -117,9 +117,9 @@ internal static class IccTestDataNonPrimitives
         new object[] { ProfileId_Max, ProfileId_ValMax },
     };
 
-    public static readonly IccPositionNumber PositionNumber_ValMin = new IccPositionNumber(0, 0);
-    public static readonly IccPositionNumber PositionNumber_ValRand = new IccPositionNumber(IccTestDataPrimitives.UInt32_ValRand1, IccTestDataPrimitives.UInt32_ValRand2);
-    public static readonly IccPositionNumber PositionNumber_ValMax = new IccPositionNumber(uint.MaxValue, uint.MaxValue);
+    public static readonly IccPositionNumber PositionNumber_ValMin = new(0, 0);
+    public static readonly IccPositionNumber PositionNumber_ValRand = new(IccTestDataPrimitives.UInt32_ValRand1, IccTestDataPrimitives.UInt32_ValRand2);
+    public static readonly IccPositionNumber PositionNumber_ValMax = new(uint.MaxValue, uint.MaxValue);
 
     public static readonly byte[] PositionNumber_Min = ArrayHelper.Concat(IccTestDataPrimitives.UInt32_0, IccTestDataPrimitives.UInt32_0);
     public static readonly byte[] PositionNumber_Rand = ArrayHelper.Concat(IccTestDataPrimitives.UInt32_Rand1, IccTestDataPrimitives.UInt32_Rand2);
@@ -132,17 +132,17 @@ internal static class IccTestDataNonPrimitives
         new object[] { PositionNumber_Max, PositionNumber_ValMax },
     };
 
-    public static readonly IccResponseNumber ResponseNumber_ValMin = new IccResponseNumber(0, IccTestDataPrimitives.Fix16_ValMin);
-    public static readonly IccResponseNumber ResponseNumber_Val1 = new IccResponseNumber(1, 1);
-    public static readonly IccResponseNumber ResponseNumber_Val2 = new IccResponseNumber(2, 2);
-    public static readonly IccResponseNumber ResponseNumber_Val3 = new IccResponseNumber(3, 3);
-    public static readonly IccResponseNumber ResponseNumber_Val4 = new IccResponseNumber(4, 4);
-    public static readonly IccResponseNumber ResponseNumber_Val5 = new IccResponseNumber(5, 5);
-    public static readonly IccResponseNumber ResponseNumber_Val6 = new IccResponseNumber(6, 6);
-    public static readonly IccResponseNumber ResponseNumber_Val7 = new IccResponseNumber(7, 7);
-    public static readonly IccResponseNumber ResponseNumber_Val8 = new IccResponseNumber(8, 8);
-    public static readonly IccResponseNumber ResponseNumber_Val9 = new IccResponseNumber(9, 9);
-    public static readonly IccResponseNumber ResponseNumber_ValMax = new IccResponseNumber(ushort.MaxValue, IccTestDataPrimitives.Fix16_ValMax);
+    public static readonly IccResponseNumber ResponseNumber_ValMin = new(0, IccTestDataPrimitives.Fix16_ValMin);
+    public static readonly IccResponseNumber ResponseNumber_Val1 = new(1, 1);
+    public static readonly IccResponseNumber ResponseNumber_Val2 = new(2, 2);
+    public static readonly IccResponseNumber ResponseNumber_Val3 = new(3, 3);
+    public static readonly IccResponseNumber ResponseNumber_Val4 = new(4, 4);
+    public static readonly IccResponseNumber ResponseNumber_Val5 = new(5, 5);
+    public static readonly IccResponseNumber ResponseNumber_Val6 = new(6, 6);
+    public static readonly IccResponseNumber ResponseNumber_Val7 = new(7, 7);
+    public static readonly IccResponseNumber ResponseNumber_Val8 = new(8, 8);
+    public static readonly IccResponseNumber ResponseNumber_Val9 = new(9, 9);
+    public static readonly IccResponseNumber ResponseNumber_ValMax = new(ushort.MaxValue, IccTestDataPrimitives.Fix16_ValMax);
 
     public static readonly byte[] ResponseNumber_Min = ArrayHelper.Concat(IccTestDataPrimitives.UInt16_0, IccTestDataPrimitives.Fix16_Min);
     public static readonly byte[] ResponseNumber_1 = ArrayHelper.Concat(IccTestDataPrimitives.UInt16_1, IccTestDataPrimitives.Fix16_1);
@@ -164,17 +164,17 @@ internal static class IccTestDataNonPrimitives
         new object[] { ResponseNumber_Max, ResponseNumber_ValMax },
     };
 
-    public static readonly IccNamedColor NamedColor_ValMin = new IccNamedColor(
+    public static readonly IccNamedColor NamedColor_ValMin = new(
         ArrayHelper.Fill('A', 31),
         new ushort[] { 0, 0, 0 },
         new ushort[] { 0, 0, 0 });
 
-    public static readonly IccNamedColor NamedColor_ValRand = new IccNamedColor(
+    public static readonly IccNamedColor NamedColor_ValRand = new(
         ArrayHelper.Fill('5', 31),
         new ushort[] { 10794, 10794, 10794 },
         new ushort[] { 17219, 17219, 17219, 17219, 17219 });
 
-    public static readonly IccNamedColor NamedColor_ValMax = new IccNamedColor(
+    public static readonly IccNamedColor NamedColor_ValMax = new(
         ArrayHelper.Fill('4', 31),
         new ushort[] { ushort.MaxValue, ushort.MaxValue, ushort.MaxValue },
         new ushort[] { ushort.MaxValue, ushort.MaxValue, ushort.MaxValue, ushort.MaxValue });
@@ -216,11 +216,11 @@ private static byte[] CreateNamedColor(int devCoordCount, byte name, byte pCS, b
         new object[] { NamedColor_Max, NamedColor_ValMax, 4u },
     };
 
-    private static readonly CultureInfo CultureEnUs = new CultureInfo("en-US");
-    private static readonly CultureInfo CultureDeAT = new CultureInfo("de-AT");
+    private static readonly CultureInfo CultureEnUs = new("en-US");
+    private static readonly CultureInfo CultureDeAT = new("de-AT");
 
-    private static readonly IccLocalizedString LocalizedString_Rand1 = new IccLocalizedString(CultureEnUs, IccTestDataPrimitives.Unicode_ValRand2);
-    private static readonly IccLocalizedString LocalizedString_Rand2 = new IccLocalizedString(CultureDeAT, IccTestDataPrimitives.Unicode_ValRand3);
+    private static readonly IccLocalizedString LocalizedString_Rand1 = new(CultureEnUs, IccTestDataPrimitives.Unicode_ValRand2);
+    private static readonly IccLocalizedString LocalizedString_Rand2 = new(CultureDeAT, IccTestDataPrimitives.Unicode_ValRand3);
 
     private static readonly IccLocalizedString[] LocalizedString_RandArr1 = new IccLocalizedString[]
     {
@@ -228,7 +228,7 @@ private static byte[] CreateNamedColor(int devCoordCount, byte name, byte pCS, b
         LocalizedString_Rand2,
     };
 
-    private static readonly IccMultiLocalizedUnicodeTagDataEntry MultiLocalizedUnicode_Val = new IccMultiLocalizedUnicodeTagDataEntry(LocalizedString_RandArr1);
+    private static readonly IccMultiLocalizedUnicodeTagDataEntry MultiLocalizedUnicode_Val = new(LocalizedString_RandArr1);
     private static readonly byte[] MultiLocalizedUnicode_Arr = ArrayHelper.Concat(
         IccTestDataPrimitives.UInt32_2,
         new byte[] { 0x00, 0x00, 0x00, 0x0C }, // 12
@@ -241,7 +241,7 @@ private static byte[] CreateNamedColor(int devCoordCount, byte name, byte pCS, b
         IccTestDataPrimitives.Unicode_Rand2,
         IccTestDataPrimitives.Unicode_Rand3);
 
-    public static readonly IccTextDescriptionTagDataEntry TextDescription_Val1 = new IccTextDescriptionTagDataEntry(
+    public static readonly IccTextDescriptionTagDataEntry TextDescription_Val1 = new(
         IccTestDataPrimitives.Ascii_ValRand,
         IccTestDataPrimitives.Unicode_ValRand1,
         ArrayHelper.Fill('A', 66),
@@ -260,7 +260,7 @@ private static byte[] CreateNamedColor(int devCoordCount, byte name, byte pCS, b
         ArrayHelper.Fill((byte)0x41, 66),
         new byte[] { 0x00 }); // Null terminator
 
-    public static readonly IccProfileDescription ProfileDescription_ValRand1 = new IccProfileDescription(
+    public static readonly IccProfileDescription ProfileDescription_ValRand1 = new(
         1,
         2,
         IccDeviceAttribute.ChromaBlackWhite | IccDeviceAttribute.ReflectivityMatte,
@@ -268,7 +268,7 @@ private static byte[] CreateNamedColor(int devCoordCount, byte name, byte pCS, b
         MultiLocalizedUnicode_Val.Texts,
         MultiLocalizedUnicode_Val.Texts);
 
-    public static readonly IccProfileDescription ProfileDescription_ValRand2 = new IccProfileDescription(
+    public static readonly IccProfileDescription ProfileDescription_ValRand2 = new(
         1,
         2,
         IccDeviceAttribute.ChromaBlackWhite | IccDeviceAttribute.ReflectivityMatte,
@@ -311,8 +311,8 @@ private static byte[] CreateNamedColor(int devCoordCount, byte name, byte pCS, b
         new object[] { ProfileDescription_Rand1, ProfileDescription_ValRand1 },
     };
 
-    public static readonly IccColorantTableEntry ColorantTableEntry_ValRand1 = new IccColorantTableEntry(ArrayHelper.Fill('A', 31), 1, 2, 3);
-    public static readonly IccColorantTableEntry ColorantTableEntry_ValRand2 = new IccColorantTableEntry(ArrayHelper.Fill('4', 31), 4, 5, 6);
+    public static readonly IccColorantTableEntry ColorantTableEntry_ValRand1 = new(ArrayHelper.Fill('A', 31), 1, 2, 3);
+    public static readonly IccColorantTableEntry ColorantTableEntry_ValRand2 = new(ArrayHelper.Fill('4', 31), 4, 5, 6);
 
     public static readonly byte[] ColorantTableEntry_Rand1 = ArrayHelper.Concat(
         ArrayHelper.Fill((byte)0x41, 31),
@@ -334,8 +334,8 @@ private static byte[] CreateNamedColor(int devCoordCount, byte name, byte pCS, b
         new object[] { ColorantTableEntry_Rand2, ColorantTableEntry_ValRand2 },
     };
 
-    public static readonly IccScreeningChannel ScreeningChannel_ValRand1 = new IccScreeningChannel(4, 6, IccScreeningSpotType.Cross);
-    public static readonly IccScreeningChannel ScreeningChannel_ValRand2 = new IccScreeningChannel(8, 5, IccScreeningSpotType.Diamond);
+    public static readonly IccScreeningChannel ScreeningChannel_ValRand1 = new(4, 6, IccScreeningSpotType.Cross);
+    public static readonly IccScreeningChannel ScreeningChannel_ValRand2 = new(8, 5, IccScreeningSpotType.Diamond);
 
     public static readonly byte[] ScreeningChannel_Rand1 = ArrayHelper.Concat(
         IccTestDataPrimitives.Fix16_4,
diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs
index 69d375cedf..6fff18195e 100644
--- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs
+++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs
@@ -356,7 +356,7 @@ private static IccLocalizedString CreateLocalizedString(string language, string
         {
             try
             {
-                culture = new CultureInfo(language);
+                culture = new(language);
             }
             catch (CultureNotFoundException)
             {
@@ -367,7 +367,7 @@ private static IccLocalizedString CreateLocalizedString(string language, string
         {
             try
             {
-                culture = new CultureInfo($"{language}-{country}");
+                culture = new($"{language}-{country}");
             }
             catch (CultureNotFoundException)
             {
diff --git a/tests/ImageSharp.Tests/TestFile.cs b/tests/ImageSharp.Tests/TestFile.cs
index a53e508067..01c5fdae3b 100644
--- a/tests/ImageSharp.Tests/TestFile.cs
+++ b/tests/ImageSharp.Tests/TestFile.cs
@@ -79,7 +79,7 @@ public static string GetInputFileFullPath(string file)
     /// The <see cref="TestFile"/>.
     /// </returns>
     public static TestFile Create(string file)
-        => Cache.GetOrAdd(file, (string fileName) => new TestFile(GetInputFileFullPath(fileName)));
+        => Cache.GetOrAdd(file, (string fileName) => new(GetInputFileFullPath(fileName)));
 
     /// <summary>
     /// Gets the file name.
diff --git a/tests/ImageSharp.Tests/TestFontUtilities.cs b/tests/ImageSharp.Tests/TestFontUtilities.cs
index 01b1faa45a..32cac0b052 100644
--- a/tests/ImageSharp.Tests/TestFontUtilities.cs
+++ b/tests/ImageSharp.Tests/TestFontUtilities.cs
@@ -37,7 +37,7 @@ public static string GetPath(string file)
     /// </returns>
     private static string GetFontsDirectory()
     {
-        List<string> directories = new List<string>
+        List<string> directories = new()
         {
              "TestFonts/", // Here for code coverage tests.
              "tests/ImageSharp.Tests/TestFonts/", // from travis/build script
@@ -59,7 +59,7 @@ private static string GetFontsDirectory()
             return directory;
         }
 
-        throw new System.Exception($"Unable to find Fonts directory at any of these locations [{string.Join(", ", directories)}]");
+        throw new($"Unable to find Fonts directory at any of these locations [{string.Join(", ", directories)}]");
     }
 
     /// <summary>
diff --git a/tests/ImageSharp.Tests/TestFormat.cs b/tests/ImageSharp.Tests/TestFormat.cs
index a3a8f296c4..8b2a9a9be0 100644
--- a/tests/ImageSharp.Tests/TestFormat.cs
+++ b/tests/ImageSharp.Tests/TestFormat.cs
@@ -24,8 +24,8 @@ public class TestFormat : IImageFormatConfigurationModule, IImageFormat
 
     public TestFormat()
     {
-        this.Encoder = new TestEncoder(this);
-        this.Decoder = new TestDecoder(this);
+        this.Encoder = new(this);
+        this.Decoder = new(this);
     }
 
     public List<DecodeOperation> DecodeCalls { get; } = new();
@@ -38,7 +38,7 @@ public TestFormat()
 
     public MemoryStream CreateStream(byte[] marker = null)
     {
-        MemoryStream ms = new MemoryStream();
+        MemoryStream ms = new();
         byte[] data = this.header;
         ms.Write(data, 0, data.Length);
         if (marker != null)
@@ -54,7 +54,7 @@ public Stream CreateAsyncSemaphoreStream(SemaphoreSlim notifyWaitPositionReached
     {
         byte[] buffer = new byte[size];
         this.header.CopyTo(buffer, 0);
-        SemaphoreReadMemoryStream semaphoreStream = new SemaphoreReadMemoryStream(buffer, waitAfterPosition, notifyWaitPositionReachedSemaphore, continueSemaphore);
+        SemaphoreReadMemoryStream semaphoreStream = new(buffer, waitAfterPosition, notifyWaitPositionReachedSemaphore, continueSemaphore);
         return seeakable ? semaphoreStream : new AsyncStreamWrapper(semaphoreStream, () => false);
     }
 
@@ -220,7 +220,7 @@ protected override Image<TPixel> Decode<TPixel>(TestDecoderOptions options, Stre
             using MemoryStream ms = new();
             stream.CopyTo(ms, configuration.StreamProcessingBufferSize);
             byte[] marker = ms.ToArray().Skip(this.testFormat.header.Length).ToArray();
-            this.testFormat.DecodeCalls.Add(new DecodeOperation
+            this.testFormat.DecodeCalls.Add(new()
             {
                 Marker = marker,
                 Config = configuration,
diff --git a/tests/ImageSharp.Tests/TestUtilities/ByteBuffer.cs b/tests/ImageSharp.Tests/TestUtilities/ByteBuffer.cs
index 45e1425c75..548354450c 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ByteBuffer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ByteBuffer.cs
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities;
 
 public class ByteBuffer
 {
-    private readonly List<byte> bytes = new List<byte>();
+    private readonly List<byte> bytes = new();
     private readonly bool isLittleEndian;
 
     public ByteBuffer(bool isLittleEndian)
diff --git a/tests/ImageSharp.Tests/TestUtilities/EofHitCounter.cs b/tests/ImageSharp.Tests/TestUtilities/EofHitCounter.cs
index c5ffdd6489..45a5ab5f58 100644
--- a/tests/ImageSharp.Tests/TestUtilities/EofHitCounter.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/EofHitCounter.cs
@@ -31,7 +31,7 @@ public static EofHitCounter RunDecoder(byte[] imageData)
     {
         BufferedReadStream stream = new(Configuration.Default, new MemoryStream(imageData));
         Image image = Image.Load(stream);
-        return new EofHitCounter(stream, image);
+        return new(stream, image);
     }
 
     public static EofHitCounter RunDecoder<T, TO>(byte[] imageData, T decoder, TO options)
@@ -40,7 +40,7 @@ public static EofHitCounter RunDecoder<T, TO>(byte[] imageData, T decoder, TO op
     {
         BufferedReadStream stream = new(options.GeneralOptions.Configuration, new MemoryStream(imageData));
         Image image = decoder.Decode(options, stream);
-        return new EofHitCounter(stream, image);
+        return new(stream, image);
     }
 
     public void Dispose()
diff --git a/tests/ImageSharp.Tests/TestUtilities/FeatureTesting/FeatureTestRunner.cs b/tests/ImageSharp.Tests/TestUtilities/FeatureTesting/FeatureTestRunner.cs
index 63126dcbca..a02ea399f3 100644
--- a/tests/ImageSharp.Tests/TestUtilities/FeatureTesting/FeatureTestRunner.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/FeatureTesting/FeatureTestRunner.cs
@@ -67,7 +67,7 @@ public static void RunWithHwIntrinsicsFeature(
 
                 RemoteExecutor.Invoke(
                     action,
-                    new RemoteInvokeOptions
+                    new()
                     {
                         StartInfo = processStartInfo
                     })
@@ -109,7 +109,7 @@ public static void RunWithHwIntrinsicsFeature(
                 RemoteExecutor.Invoke(
                     action,
                     intrinsic.Key.ToString(),
-                    new RemoteInvokeOptions
+                    new()
                     {
                         StartInfo = processStartInfo
                     })
@@ -153,7 +153,7 @@ public static void RunWithHwIntrinsicsFeature<T>(
                 RemoteExecutor.Invoke(
                     action,
                     BasicSerializer.Serialize(serializable),
-                    new RemoteInvokeOptions
+                    new()
                     {
                         StartInfo = processStartInfo
                     })
@@ -198,7 +198,7 @@ public static void RunWithHwIntrinsicsFeature<T>(
                     action,
                     BasicSerializer.Serialize(serializable),
                     intrinsic.Key.ToString(),
-                    new RemoteInvokeOptions
+                    new()
                     {
                         StartInfo = processStartInfo
                     })
@@ -247,7 +247,7 @@ public static void RunWithHwIntrinsicsFeature<T, T2>(
                     action,
                     BasicSerializer.Serialize(arg1),
                     BasicSerializer.Serialize(arg2),
-                    new RemoteInvokeOptions
+                    new()
                     {
                         StartInfo = processStartInfo
                     })
@@ -294,7 +294,7 @@ public static void RunWithHwIntrinsicsFeature<T>(
                     action,
                     BasicSerializer.Serialize(arg1),
                     arg2,
-                    new RemoteInvokeOptions
+                    new()
                     {
                         StartInfo = processStartInfo
                     })
@@ -338,7 +338,7 @@ public static void RunWithHwIntrinsicsFeature<T>(
                 RemoteExecutor.Invoke(
                     action,
                     serializable.ToString(),
-                    new RemoteInvokeOptions
+                    new()
                     {
                         StartInfo = processStartInfo
                     })
@@ -385,7 +385,7 @@ public static void RunWithHwIntrinsicsFeature<T>(
                     action,
                     arg0.ToString(),
                     arg1.ToString(),
-                    new RemoteInvokeOptions
+                    new()
                     {
                         StartInfo = processStartInfo
                     })
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
index d5168b78bf..12f8ef773c 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
 
 public class ExactImageComparer : ImageComparer
 {
-    public static ExactImageComparer Instance { get; } = new ExactImageComparer();
+    public static ExactImageComparer Instance { get; } = new();
 
     public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TPixelA, TPixelB>(
         int index,
@@ -26,7 +26,7 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
         Rgba64[] aBuffer = new Rgba64[width];
         Rgba64[] bBuffer = new Rgba64[width];
 
-        List<PixelDifference> differences = new List<PixelDifference>();
+        List<PixelDifference> differences = new();
         Configuration configuration = expected.Configuration;
         Buffer2D<TPixelA> expectedBuffer = expected.PixelBuffer;
         Buffer2D<TPixelB> actualBuffer = actual.PixelBuffer;
@@ -46,12 +46,12 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
 
                 if (aPixel != bPixel)
                 {
-                    PixelDifference diff = new PixelDifference(new Point(x, y), aPixel, bPixel);
+                    PixelDifference diff = new(new(x, y), aPixel, bPixel);
                     differences.Add(diff);
                 }
             }
         }
 
-        return new ImageSimilarityReport<TPixelA, TPixelB>(index, expected, actual, differences);
+        return new(index, expected, actual, differences);
     }
 }
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
index 7d0443bc7a..dee12915b4 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
@@ -147,7 +147,7 @@ public static void VerifySimilarityIgnoreRegion<TPixelA, TPixelB>(
         IEnumerable<ImageSimilarityReport<TPixelA, TPixelB>> reports = comparer.CompareImages(expected, actual);
         if (reports.Any())
         {
-            List<ImageSimilarityReport<TPixelA, TPixelB>> cleanedReports = new List<ImageSimilarityReport<TPixelA, TPixelB>>(reports.Count());
+            List<ImageSimilarityReport<TPixelA, TPixelB>> cleanedReports = new(reports.Count());
             foreach (ImageSimilarityReport<TPixelA, TPixelB> r in reports)
             {
                 IEnumerable<PixelDifference> outsideChanges = r.Differences.Where(
@@ -159,7 +159,7 @@ public static void VerifySimilarityIgnoreRegion<TPixelA, TPixelB>(
 
                 if (outsideChanges.Any())
                 {
-                    cleanedReports.Add(new ImageSimilarityReport<TPixelA, TPixelB>(r.Index, r.ExpectedImage, r.ActualImage, outsideChanges, null));
+                    cleanedReports.Add(new(r.Index, r.ExpectedImage, r.ActualImage, outsideChanges, null));
                 }
             }
 
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparingUtils.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparingUtils.cs
index 05f65cfbbc..410ada05a2 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparingUtils.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparingUtils.cs
@@ -19,7 +19,7 @@ public static void CompareWithReferenceDecoder<TPixel>(
             ?? throw new InvalidOperationException("CompareToOriginal() works only with file providers!");
 
         TestFile testFile = TestFile.Create(path);
-        using Image<Rgba32> magickImage = DecodeWithMagick<Rgba32>(new FileInfo(testFile.FullPath));
+        using Image<Rgba32> magickImage = DecodeWithMagick<Rgba32>(new(testFile.FullPath));
         if (useExactComparer)
         {
             ImageComparer.Exact.VerifySimilarity(magickImage, image);
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageSimilarityReport.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageSimilarityReport.cs
index 8c72bbf543..1594258e04 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageSimilarityReport.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageSimilarityReport.cs
@@ -61,7 +61,7 @@ public override string ToString()
 
     private string PrintDifference()
     {
-        StringBuilder sb = new StringBuilder();
+        StringBuilder sb = new();
         if (this.TotalNormalizedDifference.HasValue)
         {
             sb.AppendLine();
@@ -103,7 +103,7 @@ public ImageSimilarityReport(
     }
 
     public static ImageSimilarityReport<TPixelA, TPixelB> Empty =>
-        new ImageSimilarityReport<TPixelA, TPixelB>(0, null, null, Enumerable.Empty<PixelDifference>(), 0f);
+        new(0, null, null, Enumerable.Empty<PixelDifference>(), 0f);
 
     public new ImageFrame<TPixelA> ExpectedImage => (ImageFrame<TPixelA>)base.ExpectedImage;
 
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
index 3d4d1ab8d9..004c26a8f0 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
@@ -70,7 +70,7 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
 
         float totalDifference = 0F;
 
-        List<PixelDifference> differences = new List<PixelDifference>();
+        List<PixelDifference> differences = new();
         Configuration configuration = expected.Configuration;
         Buffer2D<TPixelA> expectedBuffer = expected.PixelBuffer;
         Buffer2D<TPixelB> actualBuffer = actual.PixelBuffer;
@@ -89,7 +89,7 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
 
                 if (d > this.PerPixelManhattanThreshold)
                 {
-                    PixelDifference diff = new PixelDifference(new Point(x, y), aBuffer[x], bBuffer[x]);
+                    PixelDifference diff = new(new(x, y), aBuffer[x], bBuffer[x]);
                     differences.Add(diff);
 
                     totalDifference += d;
@@ -102,7 +102,7 @@ public override ImageSimilarityReport<TPixelA, TPixelB> CompareImagesOrFrames<TP
 
         if (normalizedDifference > this.ImageThreshold)
         {
-            return new ImageSimilarityReport<TPixelA, TPixelB>(index, expected, actual, differences, normalizedDifference);
+            return new(index, expected, actual, differences, normalizedDifference);
         }
         else
         {
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/BasicTestPatternProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/BasicTestPatternProvider.cs
index 813ed505d8..d861d293b9 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/BasicTestPatternProvider.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/BasicTestPatternProvider.cs
@@ -78,6 +78,6 @@ public override TPixel GetExpectedBasicTestPatternPixelAt(int x, int y)
             return x < midX ? BottomLeftColor : BottomRightColor;
         }
 
-        private static TPixel GetBottomRightColor() => TPixel.FromScaledVector4(new Vector4(1f, 0f, 1f, 0.5f));
+        private static TPixel GetBottomRightColor() => TPixel.FromScaledVector4(new(1f, 0f, 1f, 0.5f));
     }
 }
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/BlankProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/BlankProvider.cs
index 5a31707bf9..c8c3e09c34 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/BlankProvider.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/BlankProvider.cs
@@ -33,7 +33,7 @@ public BlankProvider()
 
         protected int Width { get; private set; }
 
-        public override Image<TPixel> GetImage() => new Image<TPixel>(this.Configuration, this.Width, this.Height);
+        public override Image<TPixel> GetImage() => new(this.Configuration, this.Width, this.Height);
 
         public override void Deserialize(IXunitSerializationInfo info)
         {
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs
index 4cd452e55d..caa54feae5 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs
@@ -32,7 +32,7 @@ public Key(
                 ISpecializedDecoderOptions specialized)
             {
                 Type customType = customDecoder?.GetType();
-                this.commonValues = new Tuple<PixelTypes, string, Type>(
+                this.commonValues = new(
                     pixelType,
                     filePath,
                     customType);
@@ -45,7 +45,7 @@ private static Dictionary<string, object> GetDecoderParameters(
             {
                 Type type = options.GetType();
 
-                Dictionary<string, object> data = new Dictionary<string, object>();
+                Dictionary<string, object> data = new();
 
                 while (type != null && type != typeof(object))
                 {
@@ -196,7 +196,7 @@ public override Image<TPixel> GetImage(IImageDecoder decoder, DecoderOptions opt
                 return this.DecodeImage(decoder, options);
             }
 
-            Key key = new Key(this.PixelType, this.FilePath, decoder, options, null);
+            Key key = new(this.PixelType, this.FilePath, decoder, options, null);
             Image<TPixel> cachedImage = Cache.GetOrAdd(key, _ => this.DecodeImage(decoder, options));
 
             return cachedImage.Clone(this.Configuration);
@@ -233,7 +233,7 @@ public override Image<TPixel> GetImage<T>(ISpecializedImageDecoder<T> decoder, T
                 return this.DecodeImage(decoder, options);
             }
 
-            Key key = new Key(this.PixelType, this.FilePath, decoder, options.GeneralOptions, options);
+            Key key = new(this.PixelType, this.FilePath, decoder, options.GeneralOptions, options);
             Image<TPixel> cachedImage = Cache.GetOrAdd(key, _ => this.DecodeImage(decoder, options));
 
             return cachedImage.Clone(this.Configuration);
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestImageProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestImageProvider.cs
index 8f22fb2b29..88ebd6c7f6 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestImageProvider.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestImageProvider.cs
@@ -152,7 +152,7 @@ protected TestImageProvider<TPixel> Init(
         this.MethodName = methodName;
         this.OutputSubfolderName = outputSubfolderName;
 
-        this.Utility = new ImagingTestCaseUtility
+        this.Utility = new()
         {
             SourceFileOrDescription = this.SourceFileOrDescription,
             PixelTypeName = this.PixelType.ToString()
diff --git a/tests/ImageSharp.Tests/TestUtilities/MeasureFixture.cs b/tests/ImageSharp.Tests/TestUtilities/MeasureFixture.cs
index b5fad39292..81f16cf6b9 100644
--- a/tests/ImageSharp.Tests/TestUtilities/MeasureFixture.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/MeasureFixture.cs
@@ -60,7 +60,7 @@ public class MeasureGuard : IDisposable
 {
     private readonly string operation;
 
-    private readonly Stopwatch stopwatch = new Stopwatch();
+    private readonly Stopwatch stopwatch = new();
 
     public MeasureGuard(ITestOutputHelper output, string operation)
     {
diff --git a/tests/ImageSharp.Tests/TestUtilities/PausedMemoryStream.cs b/tests/ImageSharp.Tests/TestUtilities/PausedMemoryStream.cs
index d1149dd004..049fda727b 100644
--- a/tests/ImageSharp.Tests/TestUtilities/PausedMemoryStream.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/PausedMemoryStream.cs
@@ -92,9 +92,9 @@ public override async Task CopyToAsync(Stream destination, int bufferSize, Cance
         try
         {
             int bytesRead;
-            while ((bytesRead = await this.ReadAsync(new Memory<byte>(buffer), cancellationToken).ConfigureAwait(false)) != 0)
+            while ((bytesRead = await this.ReadAsync(new(buffer), cancellationToken).ConfigureAwait(false)) != 0)
             {
-                await destination.WriteAsync(new ReadOnlyMemory<byte>(buffer, 0, bytesRead), cancellationToken).ConfigureAwait(false);
+                await destination.WriteAsync(new(buffer, 0, bytesRead), cancellationToken).ConfigureAwait(false);
             }
         }
         finally
diff --git a/tests/ImageSharp.Tests/TestUtilities/PausedStream.cs b/tests/ImageSharp.Tests/TestUtilities/PausedStream.cs
index 42ed6b0d5e..54aa77be27 100644
--- a/tests/ImageSharp.Tests/TestUtilities/PausedStream.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/PausedStream.cs
@@ -94,9 +94,9 @@ public override async Task CopyToAsync(Stream destination, int bufferSize, Cance
         try
         {
             int bytesRead;
-            while ((bytesRead = await this.ReadAsync(new Memory<byte>(buffer), cancellationToken).ConfigureAwait(false)) != 0)
+            while ((bytesRead = await this.ReadAsync(new(buffer), cancellationToken).ConfigureAwait(false)) != 0)
             {
-                await destination.WriteAsync(new ReadOnlyMemory<byte>(buffer, 0, bytesRead), cancellationToken).ConfigureAwait(false);
+                await destination.WriteAsync(new(buffer, 0, bytesRead), cancellationToken).ConfigureAwait(false);
             }
         }
         finally
diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs
index 74015a4eff..e646725fc2 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs
@@ -32,15 +32,15 @@ public MagickReferenceDecoder(IImageFormat imageFormat, bool validate)
         this.validate = validate;
     }
 
-    public static MagickReferenceDecoder Png { get; } = new MagickReferenceDecoder(PngFormat.Instance);
+    public static MagickReferenceDecoder Png { get; } = new(PngFormat.Instance);
 
-    public static MagickReferenceDecoder Bmp { get; } = new MagickReferenceDecoder(BmpFormat.Instance);
+    public static MagickReferenceDecoder Bmp { get; } = new(BmpFormat.Instance);
 
-    public static MagickReferenceDecoder Jpeg { get; } = new MagickReferenceDecoder(JpegFormat.Instance);
+    public static MagickReferenceDecoder Jpeg { get; } = new(JpegFormat.Instance);
 
-    public static MagickReferenceDecoder Tiff { get; } = new MagickReferenceDecoder(TiffFormat.Instance);
+    public static MagickReferenceDecoder Tiff { get; } = new(TiffFormat.Instance);
 
-    public static MagickReferenceDecoder WebP { get; } = new MagickReferenceDecoder(WebpFormat.Instance);
+    public static MagickReferenceDecoder WebP { get; } = new(WebpFormat.Instance);
 
     protected override Image<TPixel> Decode<TPixel>(DecoderOptions options, Stream stream, CancellationToken cancellationToken)
     {
diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs
index 78014b7af5..8a8efbac59 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs
@@ -27,7 +27,7 @@ internal static unsafe Image<TPixel> From32bppArgbSystemDrawingBitmap<TPixel>(Bi
         int w = bmp.Width;
         int h = bmp.Height;
 
-        System.Drawing.Rectangle fullRect = new System.Drawing.Rectangle(0, 0, w, h);
+        System.Drawing.Rectangle fullRect = new(0, 0, w, h);
 
         if (bmp.PixelFormat != PixelFormat.Format32bppArgb)
         {
@@ -37,7 +37,7 @@ internal static unsafe Image<TPixel> From32bppArgbSystemDrawingBitmap<TPixel>(Bi
         }
 
         BitmapData data = bmp.LockBits(fullRect, ImageLockMode.ReadWrite, bmp.PixelFormat);
-        Image<TPixel> image = new Image<TPixel>(w, h);
+        Image<TPixel> image = new(w, h);
         try
         {
             byte* sourcePtrBase = (byte*)data.Scan0;
diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs
index 14a655823d..9a893f093f 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs
@@ -18,9 +18,9 @@ public class SystemDrawingReferenceDecoder : ImageDecoder
     public SystemDrawingReferenceDecoder(IImageFormat imageFormat)
         => this.imageFormat = imageFormat;
 
-    public static SystemDrawingReferenceDecoder Png { get; } = new SystemDrawingReferenceDecoder(PngFormat.Instance);
+    public static SystemDrawingReferenceDecoder Png { get; } = new(PngFormat.Instance);
 
-    public static SystemDrawingReferenceDecoder Bmp { get; } = new SystemDrawingReferenceDecoder(BmpFormat.Instance);
+    public static SystemDrawingReferenceDecoder Bmp { get; } = new(BmpFormat.Instance);
 
     protected override ImageInfo Identify(DecoderOptions options, Stream stream, CancellationToken cancellationToken)
     {
diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceEncoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceEncoder.cs
index 0789ab2634..f9769b891e 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceEncoder.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceEncoder.cs
@@ -15,9 +15,9 @@ public class SystemDrawingReferenceEncoder : IImageEncoder
     public SystemDrawingReferenceEncoder(ImageFormat imageFormat)
         => this.imageFormat = imageFormat;
 
-    public static SystemDrawingReferenceEncoder Png { get; } = new SystemDrawingReferenceEncoder(ImageFormat.Png);
+    public static SystemDrawingReferenceEncoder Png { get; } = new(ImageFormat.Png);
 
-    public static SystemDrawingReferenceEncoder Bmp { get; } = new SystemDrawingReferenceEncoder(ImageFormat.Bmp);
+    public static SystemDrawingReferenceEncoder Bmp { get; } = new(ImageFormat.Bmp);
 
     public bool SkipMetadata { get; init; }
 
diff --git a/tests/ImageSharp.Tests/TestUtilities/SixLaborsXunitTestFramework.cs b/tests/ImageSharp.Tests/TestUtilities/SixLaborsXunitTestFramework.cs
index 873d5bfde9..d8b0ff7856 100644
--- a/tests/ImageSharp.Tests/TestUtilities/SixLaborsXunitTestFramework.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/SixLaborsXunitTestFramework.cs
@@ -18,7 +18,7 @@ public class SixLaborsXunitTestFramework : XunitTestFramework
     public SixLaborsXunitTestFramework(IMessageSink messageSink)
         : base(messageSink)
     {
-        DiagnosticMessage message = new DiagnosticMessage(HostEnvironmentInfo.GetInformation());
+        DiagnosticMessage message = new(HostEnvironmentInfo.GetInformation());
         messageSink.OnMessage(message);
     }
 }
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs b/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs
index a641c7fcc7..aa94ce4696 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs
@@ -19,9 +19,9 @@ public static partial class TestEnvironment
 
     private const string ToolsDirectoryRelativePath = @"tests\Images\External\tools";
 
-    private static readonly Lazy<string> SolutionDirectoryFullPathLazy = new Lazy<string>(GetSolutionDirectoryFullPathImpl);
+    private static readonly Lazy<string> SolutionDirectoryFullPathLazy = new(GetSolutionDirectoryFullPathImpl);
 
-    private static readonly Lazy<Version> NetCoreVersionLazy = new Lazy<Version>(GetNetCoreVersion);
+    private static readonly Lazy<Version> NetCoreVersionLazy = new(GetNetCoreVersion);
 
     static TestEnvironment() => PrepareRemoteExecutor();
 
@@ -52,8 +52,7 @@ public static partial class TestEnvironment
 
     internal static string SolutionDirectoryFullPath => SolutionDirectoryFullPathLazy.Value;
 
-    private static readonly FileInfo TestAssemblyFile =
-        new FileInfo(typeof(TestEnvironment).GetTypeInfo().Assembly.Location);
+    private static readonly FileInfo TestAssemblyFile = new(typeof(TestEnvironment).GetTypeInfo().Assembly.Location);
 
     private static string GetSolutionDirectoryFullPathImpl()
     {
@@ -199,7 +198,7 @@ private static void EnsureRemoteExecutorIs32Bit()
             "Microsoft SDKs",
             "Windows");
 
-        FileInfo corFlagsFile = Find(new DirectoryInfo(windowsSdksDir), "CorFlags.exe");
+        FileInfo corFlagsFile = Find(new(windowsSdksDir), "CorFlags.exe");
 
         string remoteExecutorPath = Path.Combine(TestAssemblyFile.DirectoryName, "Microsoft.DotNet.RemoteExecutor.exe");
 
@@ -215,7 +214,7 @@ private static void EnsureRemoteExecutorIs32Bit()
 
         string args = $"{remoteExecutorTmpPath} /32Bit+ /Force";
 
-        ProcessStartInfo si = new ProcessStartInfo()
+        ProcessStartInfo si = new()
         {
             FileName = corFlagsFile.FullName,
             Arguments = args,
@@ -231,7 +230,7 @@ private static void EnsureRemoteExecutorIs32Bit()
 
         if (proc.ExitCode != 0)
         {
-            throw new Exception(
+            throw new(
                 $@"Failed to run {si.FileName} {si.Arguments}:\n STDOUT: {standardOutput}\n STDERR: {standardError}");
         }
 
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs b/tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs
index 05abedbd8e..e3fbb400fe 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs
@@ -694,7 +694,7 @@ internal static AllocatorBufferCapacityConfigurator LimitAllocatorBufferCapacity
     {
         TestMemoryAllocator allocator = new();
         provider.Configuration.MemoryAllocator = allocator;
-        return new AllocatorBufferCapacityConfigurator(allocator, Unsafe.SizeOf<TPixel>());
+        return new(allocator, Unsafe.SizeOf<TPixel>());
     }
 
     private class MakeOpaqueProcessor : IImageProcessor
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestMemoryAllocator.cs b/tests/ImageSharp.Tests/TestUtilities/TestMemoryAllocator.cs
index a0ff4a466e..6ef2c1824f 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestMemoryAllocator.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestMemoryAllocator.cs
@@ -33,8 +33,8 @@ public TestMemoryAllocator(byte dirtyValue = 42)
 
     public void EnableNonThreadSafeLogging()
     {
-        this.allocationLog = new List<AllocationRequest>();
-        this.returnLog = new List<ReturnRequest>();
+        this.allocationLog = new();
+        this.returnLog = new();
     }
 
     public override IMemoryOwner<T> Allocate<T>(int length, AllocationOptions options = AllocationOptions.None)
@@ -61,7 +61,7 @@ private T[] AllocateArray<T>(int length, AllocationOptions options)
     private void Return<T>(BasicArrayBuffer<T> buffer)
         where T : struct
     {
-        this.returnLog?.Add(new ReturnRequest(buffer.Array.GetHashCode()));
+        this.returnLog?.Add(new(buffer.Array.GetHashCode()));
     }
 
     public struct AllocationRequest
@@ -83,7 +83,7 @@ public static AllocationRequest Create<T>(AllocationOptions allocationOptions, i
         {
             Type type = typeof(T);
             int elementSize = Marshal.SizeOf(type);
-            return new AllocationRequest(type, allocationOptions, length, length * elementSize, buffer.GetHashCode());
+            return new(type, allocationOptions, length, length * elementSize, buffer.GetHashCode());
         }
 
         public Type ElementType { get; }
@@ -150,7 +150,7 @@ public override unsafe MemoryHandle Pin(int elementIndex = 0)
             }
 
             void* ptr = (void*)this.pinHandle.AddrOfPinnedObject();
-            return new MemoryHandle(ptr, pinnable: this);
+            return new(ptr, pinnable: this);
         }
 
         public override void Unpin()
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestMemoryManager.cs b/tests/ImageSharp.Tests/TestUtilities/TestMemoryManager.cs
index 7f25fd5aa1..2604aa1de9 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestMemoryManager.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestMemoryManager.cs
@@ -36,7 +36,7 @@ public static TestMemoryManager<T> CreateAsCopyOf(Span<T> copyThisBuffer)
     {
         T[] pixelArray = new T[copyThisBuffer.Length];
         copyThisBuffer.CopyTo(pixelArray);
-        return new TestMemoryManager<T>(pixelArray);
+        return new(pixelArray);
     }
 
     protected override void Dispose(bool disposing)
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestPixel.cs b/tests/ImageSharp.Tests/TestUtilities/TestPixel.cs
index f0344e2b9c..42b2b2a256 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestPixel.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestPixel.cs
@@ -35,7 +35,7 @@ public TestPixel(float red, float green, float blue, float alpha)
 
     public float Alpha { get; set; }
 
-    public TPixel AsPixel() => TPixel.FromScaledVector4(new Vector4(this.Red, this.Green, this.Blue, this.Alpha));
+    public TPixel AsPixel() => TPixel.FromScaledVector4(new(this.Red, this.Green, this.Blue, this.Alpha));
 
     internal Span<TPixel> AsSpan() => new([this.AsPixel()]);
 
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestUtils.cs b/tests/ImageSharp.Tests/TestUtilities/TestUtils.cs
index fbdfb9d619..39c8c4c944 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestUtils.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestUtils.cs
@@ -69,7 +69,7 @@ internal static byte[] FillImageWithRandomBytes(Image<La16> image)
                 Span<La16> row = accessor.GetRowSpan(y);
                 for (int x = 0; x < row.Length; x++)
                 {
-                    row[x] = new La16(expected[cnt++], expected[cnt++]);
+                    row[x] = new(expected[cnt++], expected[cnt++]);
                 }
             }
         });
@@ -393,7 +393,7 @@ public static IDither GetDither(string name)
 
         if (property is null)
         {
-            throw new Exception($"No dither named '{name}");
+            throw new($"No dither named '{name}");
         }
 
         return (IDither)property.GetValue(null);
diff --git a/tests/ImageSharp.Tests/TestUtilities/TestVector4.cs b/tests/ImageSharp.Tests/TestUtilities/TestVector4.cs
index 350333965a..4130d89da1 100644
--- a/tests/ImageSharp.Tests/TestUtilities/TestVector4.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/TestVector4.cs
@@ -35,7 +35,7 @@ public static implicit operator Vector4(TestVector4 d)
 
     public Vector4 AsVector()
     {
-        return new Vector4(this.X, this.Y, this.Z, this.W);
+        return new(this.X, this.Y, this.Z, this.W);
     }
 
     public void Deserialize(IXunitSerializationInfo info)
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/BasicSerializerTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/BasicSerializerTests.cs
index f4944992a1..1b5b43f033 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/BasicSerializerTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/BasicSerializerTests.cs
@@ -51,7 +51,7 @@ public override void Serialize(IXunitSerializationInfo info)
     [Fact]
     public void SerializeDeserialize_ShouldPreserveValues()
     {
-        DerivedObj obj = new DerivedObj() { Length = 123.1, Name = "Lol123!", Lives = 7, Strength = 4.8 };
+        DerivedObj obj = new() { Length = 123.1, Name = "Lol123!", Lives = 7, Strength = 4.8 };
 
         string str = BasicSerializer.Serialize(obj);
         BaseObj mirrorBase = BasicSerializer.Deserialize<BaseObj>(str);
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/ImageComparerTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/ImageComparerTests.cs
index 349dd258eb..649c626a14 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/ImageComparerTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/ImageComparerTests.cs
@@ -72,7 +72,7 @@ public void TolerantImageComparer_DoesNotApproveSimilarityAboveTolerance<TPixel>
                     () => comparer.VerifySimilarity(image, clone));
 
                 PixelDifference diff = ex.Reports.Single().Differences.Single();
-                Assert.Equal(new Point(3, 1), diff.Position);
+                Assert.Equal(new(3, 1), diff.Position);
             }
         }
     }
@@ -131,7 +131,7 @@ public void VerifySimilarity_WhenAnImageFrameIsDifferent_Reports<TPixel>(TestIma
                 IEnumerable<ImageSimilarityReport> reports = ImageComparer.Exact.CompareImages(image, clone);
 
                 PixelDifference difference = reports.Single().Differences.Single();
-                Assert.Equal(new Point(42, 43), difference.Position);
+                Assert.Equal(new(42, 43), difference.Position);
             }
         }
     }
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/ReferenceDecoderBenchmarks.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/ReferenceDecoderBenchmarks.cs
index 90e7261942..4329a6be35 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/ReferenceDecoderBenchmarks.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/ReferenceDecoderBenchmarks.cs
@@ -76,7 +76,7 @@ public void BenchmarkSystemDrawingBmpDecoder<TPixel>(TestImageProvider<TPixel> p
 
     private void BenchmarkDecoderImpl(IEnumerable<string> testFiles, IImageDecoder decoder, string info, int times = DefaultExecutionCount)
     {
-        MeasureFixture measure = new MeasureFixture(this.Output);
+        MeasureFixture measure = new(this.Output);
         measure.Measure(
             times,
             () =>
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/SemaphoreReadMemoryStreamTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/SemaphoreReadMemoryStreamTests.cs
index e080bda9b6..f0a5f4eb42 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/SemaphoreReadMemoryStreamTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/SemaphoreReadMemoryStreamTests.cs
@@ -5,8 +5,8 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests;
 
 public class SemaphoreReadMemoryStreamTests
 {
-    private readonly SemaphoreSlim continueSemaphore = new SemaphoreSlim(0);
-    private readonly SemaphoreSlim notifyWaitPositionReachedSemaphore = new SemaphoreSlim(0);
+    private readonly SemaphoreSlim continueSemaphore = new(0);
+    private readonly SemaphoreSlim notifyWaitPositionReachedSemaphore = new(0);
     private readonly byte[] buffer = new byte[128];
 
     [Fact]
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/SystemDrawingReferenceCodecTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/SystemDrawingReferenceCodecTests.cs
index 4a88cfb1b4..555041890a 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/SystemDrawingReferenceCodecTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/SystemDrawingReferenceCodecTests.cs
@@ -36,7 +36,7 @@ public void From32bppArgbSystemDrawingBitmap<TPixel>(TestImageProvider<TPixel> d
     {
         string path = TestFile.GetInputFileFullPath(TestImages.Png.Splash);
 
-        using Bitmap sdBitmap = new System.Drawing.Bitmap(path);
+        using Bitmap sdBitmap = new(path);
         using Image<TPixel> image = SystemDrawingBridge.From32bppArgbSystemDrawingBitmap<TPixel>(sdBitmap);
         image.DebugSave(dummyProvider);
     }
@@ -50,7 +50,7 @@ private static string SavePng<TPixel>(TestImageProvider<TPixel> provider, PngCol
             sourceImage.Mutate(c => c.MakeOpaque());
         }
 
-        PngEncoder encoder = new PngEncoder { ColorType = pngColorType };
+        PngEncoder encoder = new() { ColorType = pngColorType };
         return provider.Utility.SaveTestOutputFile(sourceImage, "png", encoder);
     }
 
@@ -66,7 +66,7 @@ public void From32bppArgbSystemDrawingBitmap2<TPixel>(TestImageProvider<TPixel>
 
         string path = SavePng(provider, PngColorType.RgbWithAlpha);
 
-        using Bitmap sdBitmap = new System.Drawing.Bitmap(path);
+        using Bitmap sdBitmap = new(path);
         using Image<TPixel> original = provider.GetImage();
         using Image<TPixel> resaved = SystemDrawingBridge.From32bppArgbSystemDrawingBitmap<TPixel>(sdBitmap);
         ImageComparer comparer = ImageComparer.Exact;
@@ -81,7 +81,7 @@ public void From24bppRgbSystemDrawingBitmap<TPixel>(TestImageProvider<TPixel> pr
         string path = SavePng(provider, PngColorType.Rgb);
 
         using Image<TPixel> original = provider.GetImage();
-        using Bitmap sdBitmap = new System.Drawing.Bitmap(path);
+        using Bitmap sdBitmap = new(path);
         using Image<TPixel> resaved = SystemDrawingBridge.From24bppRgbSystemDrawingBitmap<TPixel>(sdBitmap);
         ImageComparer comparer = ImageComparer.Exact;
         comparer.VerifySimilarity(original, resaved);
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/TestUtilityExtensionsTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/TestUtilityExtensionsTests.cs
index 46fb7159e8..520f40e72a 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/TestUtilityExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/TestUtilityExtensionsTests.cs
@@ -83,7 +83,7 @@ private static void AssertContainsPixelType<T>(
         PixelTypes pt,
         IEnumerable<KeyValuePair<PixelTypes, Type>> pixelTypesExp)
     {
-        Assert.Contains(new KeyValuePair<PixelTypes, Type>(pt, typeof(T)), pixelTypesExp);
+        Assert.Contains(new(pt, typeof(T)), pixelTypesExp);
     }
 
     [Fact]

From 031dd3fa7e92bdffbf59bc500325e0c1b79e28d3 Mon Sep 17 00:00:00 2001
From: Stefan Nikolei <stefan@nikolei.eu>
Date: Thu, 30 Jan 2025 15:17:09 +0100
Subject: [PATCH 6/6] Remove unneccessary nullable annotations

---
 src/ImageSharp/Advanced/ParallelRowIterator.cs |  8 ++++----
 .../Formats/Jpeg/Components/Block8x8.cs        |  2 +-
 .../Jpeg/JpegEncoderCore.FrameConfig.cs        | 16 ++++++++--------
 .../Compressors/DeflateCompressor.cs           |  2 +-
 .../Compressors/TiffJpegCompressor.cs          |  4 ++--
 .../Decompressors/DeflateTiffCompression.cs    |  2 +-
 .../Decompressors/LzwTiffCompression.cs        |  2 +-
 .../ModifiedHuffmanTiffCompression.cs          |  2 +-
 .../Decompressors/T4TiffCompression.cs         |  2 +-
 .../Decompressors/T6TiffCompression.cs         |  2 +-
 .../Formats/Webp/Lossless/CostManager.cs       |  2 +-
 src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs  | 18 +++++++++---------
 .../GraphicOptionsDefaultsExtensions.cs        |  6 +++---
 src/ImageSharp/ImageFrame.LoadPixelData.cs     |  2 +-
 src/ImageSharp/Image{TPixel}.cs                |  2 +-
 ...niformUnmanagedMemoryPool.LifetimeGuards.cs |  2 +-
 ...niformUnmanagedMemoryPoolMemoryAllocator.cs |  4 ++--
 .../Allocators/UnmanagedMemoryAllocator.cs     |  2 +-
 .../MemoryGroup{T}.Owned.cs                    |  8 ++++----
 .../DiscontiguousBuffers/MemoryGroup{T}.cs     |  6 +++---
 .../Profiles/Exif/Values/ExifLong8Array.cs     | 10 +++++-----
 .../Profiles/Exif/Values/ExifNumberArray.cs    |  8 ++++----
 .../Profiles/Exif/Values/ExifRationalArray.cs  |  2 +-
 .../Profiles/Exif/Values/ExifShortArray.cs     |  4 ++--
 .../Exif/Values/ExifSignedShortArray.cs        |  2 +-
 .../ICC/DataReader/IccDataReader.Curves.cs     |  4 ++--
 .../ICC/DataReader/IccDataReader.Lut.cs        | 10 +++++-----
 .../ICC/DataReader/IccDataReader.Matrix.cs     |  4 ++--
 .../IccDataReader.MultiProcessElement.cs       |  2 +-
 .../DataReader/IccDataReader.NonPrimitives.cs  |  2 +-
 .../ICC/DataReader/IccDataReader.Primitives.cs |  2 +-
 .../IccTextDescriptionTagDataEntry.cs          |  2 +-
 src/ImageSharp/Primitives/RectangleF.cs        |  6 +++---
 src/ImageSharp/Primitives/ValueSize.cs         |  4 ++--
 .../Extensions/Transforms/PadExtensions.cs     |  2 +-
 .../Extensions/Transforms/ResizeExtensions.cs  |  4 ++--
 .../Convolution/BoxBlurProcessor{TPixel}.cs    |  4 ++--
 .../EdgeDetector2DProcessor{TPixel}.cs         |  2 +-
 .../Parameters/BokehBlurKernelDataProvider.cs  |  4 ++--
 .../Resize/ResizeProcessor{TPixel}.cs          |  6 +++---
 tests/ImageSharp.Tests/Memory/Buffer2DTests.cs |  4 ++--
 .../BaseImageOperationsExtensionTest.cs        |  2 +-
 .../TestDataIcc/IccTestDataTagDataEntry.cs     |  6 +++---
 43 files changed, 95 insertions(+), 95 deletions(-)

diff --git a/src/ImageSharp/Advanced/ParallelRowIterator.cs b/src/ImageSharp/Advanced/ParallelRowIterator.cs
index fd84e31f80..2a5c31dbe0 100644
--- a/src/ImageSharp/Advanced/ParallelRowIterator.cs
+++ b/src/ImageSharp/Advanced/ParallelRowIterator.cs
@@ -65,7 +65,7 @@ public static void IterateRows<T>(
         }
 
         int verticalStep = DivideCeil(rectangle.Height, numOfSteps);
-        ParallelOptions? parallelOptions = new() { MaxDegreeOfParallelism = numOfSteps };
+        ParallelOptions parallelOptions = new() { MaxDegreeOfParallelism = numOfSteps };
         RowOperationWrapper<T> wrappingOperation = new(top, bottom, verticalStep, in operation);
 
         Parallel.For(
@@ -135,7 +135,7 @@ public static void IterateRows<T, TBuffer>(
         }
 
         int verticalStep = DivideCeil(height, numOfSteps);
-        ParallelOptions? parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
+        ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
         RowOperationWrapper<T, TBuffer> wrappingOperation = new RowOperationWrapper<T, TBuffer>(top, bottom, verticalStep, bufferLength, allocator, in operation);
 
         Parallel.For(
@@ -192,7 +192,7 @@ public static void IterateRowIntervals<T>(
         }
 
         int verticalStep = DivideCeil(rectangle.Height, numOfSteps);
-        ParallelOptions? parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
+        ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
         RowIntervalOperationWrapper<T> wrappingOperation = new RowIntervalOperationWrapper<T>(top, bottom, verticalStep, in operation);
 
         Parallel.For(
@@ -259,7 +259,7 @@ public static void IterateRowIntervals<T, TBuffer>(
         }
 
         int verticalStep = DivideCeil(height, numOfSteps);
-        ParallelOptions? parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
+        ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = numOfSteps };
         RowIntervalOperationWrapper<T, TBuffer> wrappingOperation = new RowIntervalOperationWrapper<T, TBuffer>(top, bottom, verticalStep, bufferLength, allocator, in operation);
 
         Parallel.For(
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs b/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
index 0e560df426..177803ea55 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Block8x8.cs
@@ -140,7 +140,7 @@ public void LoadFrom(Span<int> source)
     /// <inheritdoc />
     public override string ToString()
     {
-        StringBuilder? sb = new();
+        StringBuilder sb = new();
         sb.Append('[');
         for (int i = 0; i < Size; i++)
         {
diff --git a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
index 30f7f034ed..15a80224e5 100644
--- a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
+++ b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
@@ -13,15 +13,15 @@ internal sealed unsafe partial class JpegEncoderCore
 {
     private static JpegFrameConfig[] CreateFrameConfigs()
     {
-        JpegHuffmanTableConfig? defaultLuminanceHuffmanDC = new(@class: 0, destIndex: 0, HuffmanSpec.LuminanceDC);
-        JpegHuffmanTableConfig? defaultLuminanceHuffmanAC = new(@class: 1, destIndex: 0, HuffmanSpec.LuminanceAC);
-        JpegHuffmanTableConfig? defaultChrominanceHuffmanDC = new(@class: 0, destIndex: 1, HuffmanSpec.ChrominanceDC);
-        JpegHuffmanTableConfig? defaultChrominanceHuffmanAC = new(@class: 1, destIndex: 1, HuffmanSpec.ChrominanceAC);
+        JpegHuffmanTableConfig defaultLuminanceHuffmanDC = new(@class: 0, destIndex: 0, HuffmanSpec.LuminanceDC);
+        JpegHuffmanTableConfig defaultLuminanceHuffmanAC = new(@class: 1, destIndex: 0, HuffmanSpec.LuminanceAC);
+        JpegHuffmanTableConfig defaultChrominanceHuffmanDC = new(@class: 0, destIndex: 1, HuffmanSpec.ChrominanceDC);
+        JpegHuffmanTableConfig defaultChrominanceHuffmanAC = new(@class: 1, destIndex: 1, HuffmanSpec.ChrominanceAC);
 
-        JpegQuantizationTableConfig? defaultLuminanceQuantTable = new(0, Quantization.LuminanceTable);
-        JpegQuantizationTableConfig? defaultChrominanceQuantTable = new(1, Quantization.ChrominanceTable);
+        JpegQuantizationTableConfig defaultLuminanceQuantTable = new(0, Quantization.LuminanceTable);
+        JpegQuantizationTableConfig defaultChrominanceQuantTable = new(1, Quantization.ChrominanceTable);
 
-        JpegHuffmanTableConfig[]? yCbCrHuffmanConfigs = new JpegHuffmanTableConfig[]
+        JpegHuffmanTableConfig[] yCbCrHuffmanConfigs = new JpegHuffmanTableConfig[]
         {
             defaultLuminanceHuffmanDC,
             defaultLuminanceHuffmanAC,
@@ -29,7 +29,7 @@ private static JpegFrameConfig[] CreateFrameConfigs()
             defaultChrominanceHuffmanAC,
         };
 
-        JpegQuantizationTableConfig[]? yCbCrQuantTableConfigs = new JpegQuantizationTableConfig[]
+        JpegQuantizationTableConfig[] yCbCrQuantTableConfigs = new JpegQuantizationTableConfig[]
         {
             defaultLuminanceQuantTable,
             defaultChrominanceQuantTable,
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
index 0ff0480f89..3debd373c4 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/DeflateCompressor.cs
@@ -29,7 +29,7 @@ public override void Initialize(int rowsPerStrip)
     public override void CompressStrip(Span<byte> rows, int height)
     {
         this.memoryStream.Seek(0, SeekOrigin.Begin);
-        using (ZlibDeflateStream? stream = new(this.Allocator, this.memoryStream, this.compressionLevel))
+        using (ZlibDeflateStream stream = new(this.Allocator, this.memoryStream, this.compressionLevel))
         {
             if (this.Predictor == TiffPredictor.Horizontal)
             {
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
index 23c0ad8a4b..1ad69b2c8f 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffJpegCompressor.cs
@@ -29,8 +29,8 @@ public override void CompressStrip(Span<byte> rows, int height)
         int pixelCount = rows.Length / 3;
         int width = pixelCount / height;
 
-        using MemoryStream? memoryStream = new();
-        Image<Rgb24>? image = Image.LoadPixelData<Rgb24>(rows, width, height);
+        using MemoryStream memoryStream = new();
+        Image<Rgb24> image = Image.LoadPixelData<Rgb24>(rows, width, height);
         image.Save(memoryStream, new JpegEncoder()
         {
             ColorType = JpegColorType.Rgb
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
index d8be7f7df1..97591573fc 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/DeflateTiffCompression.cs
@@ -42,7 +42,7 @@ public DeflateTiffCompression(MemoryAllocator memoryAllocator, int width, int bi
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
         long pos = stream.Position;
-        using (ZlibInflateStream? deframeStream = new(
+        using (ZlibInflateStream deframeStream = new(
             stream,
             () =>
             {
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
index 093a5987cd..4ad751e636 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/LzwTiffCompression.cs
@@ -36,7 +36,7 @@ public LzwTiffCompression(MemoryAllocator memoryAllocator, int width, int bitsPe
     /// <inheritdoc/>
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
-        TiffLzwDecoder? decoder = new(stream);
+        TiffLzwDecoder decoder = new(stream);
         decoder.DecodePixels(buffer);
 
         if (this.Predictor == TiffPredictor.Horizontal)
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
index a6ab28121d..ccdf9b0b7d 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/ModifiedHuffmanTiffCompression.cs
@@ -41,7 +41,7 @@ public ModifiedHuffmanTiffCompression(MemoryAllocator allocator, TiffFillOrder f
     /// <inheritdoc/>
     protected override void Decompress(BufferedReadStream stream, int byteCount, int stripHeight, Span<byte> buffer, CancellationToken cancellationToken)
     {
-        ModifiedHuffmanBitReader? bitReader = new(stream, this.FillOrder, byteCount);
+        ModifiedHuffmanBitReader bitReader = new(stream, this.FillOrder, byteCount);
 
         buffer.Clear();
         nint bitsWritten = 0;
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
index a5669ec1f4..d9e49aa754 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T4TiffCompression.cs
@@ -60,7 +60,7 @@ protected override void Decompress(BufferedReadStream stream, int byteCount, int
         }
 
         bool eolPadding = this.faxCompressionOptions.HasFlag(FaxCompressionOptions.EolPadding);
-        T4BitReader? bitReader = new(stream, this.FillOrder, byteCount, eolPadding);
+        T4BitReader bitReader = new(stream, this.FillOrder, byteCount, eolPadding);
 
         buffer.Clear();
         nint bitsWritten = 0;
diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
index d9a34869a2..c0ec49d8e7 100644
--- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
+++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/T6TiffCompression.cs
@@ -57,7 +57,7 @@ protected override void Decompress(BufferedReadStream stream, int byteCount, int
         Span<byte> scanLine = scanLineBuffer.GetSpan()[..this.width];
         Span<byte> referenceScanLineSpan = scanLineBuffer.GetSpan().Slice(this.width, this.width);
 
-        T6BitReader? bitReader = new(stream, this.FillOrder, byteCount);
+        T6BitReader bitReader = new(stream, this.FillOrder, byteCount);
 
         CcittReferenceScanline referenceScanLine = new(this.isWhiteZero, this.width);
         nint bitsWritten = 0;
diff --git a/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs b/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
index aed5ce2dbb..2b2286e044 100644
--- a/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
+++ b/src/ImageSharp/Formats/Webp/Lossless/CostManager.cs
@@ -49,7 +49,7 @@ public CostManager(MemoryAllocator memoryAllocator, IMemoryOwner<ushort> distArr
         }
 
         // Fill in the cache intervals.
-        CostCacheInterval? cur = new()
+        CostCacheInterval cur = new()
         {
             Start = 0,
             End = 1,
diff --git a/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs b/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
index 620e5aeb49..ed1ed52abf 100644
--- a/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
+++ b/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs
@@ -36,8 +36,8 @@ public static void PickBestIntra16(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Se
         int tlambda = dqm.TLambda;
         Span<byte> src = it.YuvIn.AsSpan(Vp8EncIterator.YOffEnc);
         Span<int> scratch = it.Scratch3;
-        Vp8ModeScore? rdTmp = new();
-        Vp8Residual? res = new();
+        Vp8ModeScore rdTmp = new();
+        Vp8Residual res = new();
         Vp8ModeScore rdCur = rdTmp;
         Vp8ModeScore rdBest = rd;
         int mode;
@@ -107,7 +107,7 @@ public static bool PickBestIntra4(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Seg
         Span<byte> bestBlocks = it.YuvOut2.AsSpan(Vp8EncIterator.YOffEnc);
         Span<int> scratch = it.Scratch3;
         int totalHeaderBits = 0;
-        Vp8ModeScore? rdBest = new();
+        Vp8ModeScore rdBest = new();
 
         if (maxI4HeaderBits == 0)
         {
@@ -118,9 +118,9 @@ public static bool PickBestIntra4(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Seg
         rdBest.H = 211;  // '211' is the value of VP8BitCost(0, 145)
         rdBest.SetRdScore(dqm.LambdaMode);
         it.StartI4();
-        Vp8ModeScore? rdi4 = new();
-        Vp8ModeScore? rdTmp = new();
-        Vp8Residual? res = new();
+        Vp8ModeScore rdi4 = new();
+        Vp8ModeScore rdTmp = new();
+        Vp8Residual res = new();
         Span<short> tmpLevels = stackalloc short[16];
         do
         {
@@ -220,9 +220,9 @@ public static void PickBestUv(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8Segment
         Span<byte> tmpDst = it.YuvOut2.AsSpan(Vp8EncIterator.UOffEnc);
         Span<byte> dst0 = it.YuvOut.AsSpan(Vp8EncIterator.UOffEnc);
         Span<byte> dst = dst0;
-        Vp8ModeScore? rdBest = new();
-        Vp8ModeScore? rdUv = new();
-        Vp8Residual? res = new();
+        Vp8ModeScore rdBest = new();
+        Vp8ModeScore rdUv = new();
+        Vp8Residual res = new();
         int mode;
 
         rd.ModeUv = -1;
diff --git a/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs b/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
index 2d49864386..9412062ccc 100644
--- a/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
+++ b/src/ImageSharp/GraphicOptionsDefaultsExtensions.cs
@@ -18,7 +18,7 @@ public static class GraphicOptionsDefaultsExtensions
     /// <returns>The passed in <paramref name="context"/> to allow chaining.</returns>
     public static IImageProcessingContext SetGraphicsOptions(this IImageProcessingContext context, Action<GraphicsOptions> optionsBuilder)
     {
-        GraphicsOptions? cloned = context.GetGraphicsOptions().DeepClone();
+        GraphicsOptions cloned = context.GetGraphicsOptions().DeepClone();
         optionsBuilder(cloned);
         context.Properties[typeof(GraphicsOptions)] = cloned;
         return context;
@@ -31,7 +31,7 @@ public static IImageProcessingContext SetGraphicsOptions(this IImageProcessingCo
     /// <param name="optionsBuilder">The default options to use.</param>
     public static void SetGraphicsOptions(this Configuration configuration, Action<GraphicsOptions> optionsBuilder)
     {
-        GraphicsOptions? cloned = configuration.GetGraphicsOptions().DeepClone();
+        GraphicsOptions cloned = configuration.GetGraphicsOptions().DeepClone();
         optionsBuilder(cloned);
         configuration.Properties[typeof(GraphicsOptions)] = cloned;
     }
@@ -87,7 +87,7 @@ public static GraphicsOptions GetGraphicsOptions(this Configuration configuratio
             return go;
         }
 
-        GraphicsOptions? configOptions = new();
+        GraphicsOptions configOptions = new();
 
         // capture the fallback so the same instance will always be returned in case its mutated
         configuration.Properties[typeof(GraphicsOptions)] = configOptions;
diff --git a/src/ImageSharp/ImageFrame.LoadPixelData.cs b/src/ImageSharp/ImageFrame.LoadPixelData.cs
index e423523903..003a0349ae 100644
--- a/src/ImageSharp/ImageFrame.LoadPixelData.cs
+++ b/src/ImageSharp/ImageFrame.LoadPixelData.cs
@@ -40,7 +40,7 @@ internal static ImageFrame<TPixel> LoadPixelData<TPixel>(Configuration configura
         int count = width * height;
         Guard.MustBeGreaterThanOrEqualTo(data.Length, count, nameof(data));
 
-        ImageFrame<TPixel>? image = new(configuration, width, height);
+        ImageFrame<TPixel> image = new(configuration, width, height);
 
         data = data[..count];
         data.CopyTo(image.PixelBuffer.FastMemoryGroup);
diff --git a/src/ImageSharp/Image{TPixel}.cs b/src/ImageSharp/Image{TPixel}.cs
index 543d6ab43d..2bb9ff9436 100644
--- a/src/ImageSharp/Image{TPixel}.cs
+++ b/src/ImageSharp/Image{TPixel}.cs
@@ -437,7 +437,7 @@ private static Size ValidateFramesAndGetSize(IEnumerable<ImageFrame<TPixel>> fra
     {
         Guard.NotNull(frames, nameof(frames));
 
-        ImageFrame<TPixel>? rootFrame = frames.FirstOrDefault() ?? throw new ArgumentException("Must not be empty.", nameof(frames));
+        ImageFrame<TPixel> rootFrame = frames.FirstOrDefault() ?? throw new ArgumentException("Must not be empty.", nameof(frames));
 
         Size rootSize = rootFrame.Size;
 
diff --git a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
index e5b1c49ddf..e3b73204de 100644
--- a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
+++ b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs
@@ -11,7 +11,7 @@ public UnmanagedBuffer<T> CreateGuardedBuffer<T>(
         bool clear)
         where T : struct
     {
-        UnmanagedBuffer<T>? buffer = new(lengthInElements, new ReturnToPoolBufferLifetimeGuard(this, handle));
+        UnmanagedBuffer<T> buffer = new(lengthInElements, new ReturnToPoolBufferLifetimeGuard(this, handle));
         if (clear)
         {
             buffer.Clear();
diff --git a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
index dd78ebfaec..a7f729fba8 100644
--- a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
+++ b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs
@@ -96,7 +96,7 @@ public override IMemoryOwner<T> Allocate<T>(
 
         if (lengthInBytes <= (ulong)this.sharedArrayPoolThresholdInBytes)
         {
-            SharedArrayPoolBuffer<T>? buffer = new SharedArrayPoolBuffer<T>(length);
+            SharedArrayPoolBuffer<T> buffer = new SharedArrayPoolBuffer<T>(length);
             if (options.Has(AllocationOptions.Clean))
             {
                 buffer.GetSpan().Clear();
@@ -127,7 +127,7 @@ internal override MemoryGroup<T> AllocateGroupCore<T>(
     {
         if (totalLengthInBytes <= this.sharedArrayPoolThresholdInBytes)
         {
-            SharedArrayPoolBuffer<T>? buffer = new SharedArrayPoolBuffer<T>((int)totalLengthInElements);
+            SharedArrayPoolBuffer<T> buffer = new SharedArrayPoolBuffer<T>((int)totalLengthInElements);
             return MemoryGroup<T>.CreateContiguous(buffer, options.Has(AllocationOptions.Clean));
         }
 
diff --git a/src/ImageSharp/Memory/Allocators/UnmanagedMemoryAllocator.cs b/src/ImageSharp/Memory/Allocators/UnmanagedMemoryAllocator.cs
index 06cfd30e1f..daf1a79925 100644
--- a/src/ImageSharp/Memory/Allocators/UnmanagedMemoryAllocator.cs
+++ b/src/ImageSharp/Memory/Allocators/UnmanagedMemoryAllocator.cs
@@ -20,7 +20,7 @@ internal class UnmanagedMemoryAllocator : MemoryAllocator
 
     public override IMemoryOwner<T> Allocate<T>(int length, AllocationOptions options = AllocationOptions.None)
     {
-        UnmanagedBuffer<T>? buffer = UnmanagedBuffer<T>.Allocate(length);
+        UnmanagedBuffer<T> buffer = UnmanagedBuffer<T>.Allocate(length);
         if (options.Has(AllocationOptions.Clean))
         {
             buffer.GetSpan().Clear();
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
index 7f38a5b928..937a1a32b9 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs
@@ -66,14 +66,14 @@ private static IMemoryOwner<T>[] CreateBuffers(
             int sizeOfLastBuffer,
             AllocationOptions options)
         {
-            IMemoryOwner<T>[]? result = new IMemoryOwner<T>[pooledBuffers.Length];
+            IMemoryOwner<T>[] result = new IMemoryOwner<T>[pooledBuffers.Length];
             for (int i = 0; i < pooledBuffers.Length - 1; i++)
             {
-                ObservedBuffer? currentBuffer = ObservedBuffer.Create(pooledBuffers[i], bufferLength, options);
+                ObservedBuffer currentBuffer = ObservedBuffer.Create(pooledBuffers[i], bufferLength, options);
                 result[i] = currentBuffer;
             }
 
-            ObservedBuffer? lastBuffer = ObservedBuffer.Create(pooledBuffers[pooledBuffers.Length - 1], sizeOfLastBuffer, options);
+            ObservedBuffer lastBuffer = ObservedBuffer.Create(pooledBuffers[pooledBuffers.Length - 1], sizeOfLastBuffer, options);
             result[result.Length - 1] = lastBuffer;
             return result;
         }
@@ -193,7 +193,7 @@ public static ObservedBuffer Create(
                 int lengthInElements,
                 AllocationOptions options)
             {
-                ObservedBuffer? buffer = new(handle, lengthInElements);
+                ObservedBuffer buffer = new(handle, lengthInElements);
                 if (options.Has(AllocationOptions.Clean))
                 {
                     buffer.GetSpan().Clear();
diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
index d828c07bc6..8e4c881048 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs
@@ -97,7 +97,7 @@ public static MemoryGroup<T> Allocate(
 
         if (totalLengthInElements == 0)
         {
-            IMemoryOwner<T>[]? buffers0 = new IMemoryOwner<T>[1] { allocator.Allocate<T>(0, options) };
+            IMemoryOwner<T>[] buffers0 = new IMemoryOwner<T>[1] { allocator.Allocate<T>(0, options) };
             return new Owned(buffers0, 0, 0, true);
         }
 
@@ -120,7 +120,7 @@ public static MemoryGroup<T> Allocate(
             bufferCount++;
         }
 
-        IMemoryOwner<T>[]? buffers = new IMemoryOwner<T>[bufferCount];
+        IMemoryOwner<T>[] buffers = new IMemoryOwner<T>[bufferCount];
         for (int i = 0; i < buffers.Length - 1; i++)
         {
             buffers[i] = allocator.Allocate<T>(bufferLength, options);
@@ -142,7 +142,7 @@ public static MemoryGroup<T> CreateContiguous(IMemoryOwner<T> buffer, bool clear
         }
 
         int length = buffer.Memory.Length;
-        IMemoryOwner<T>[]? buffers = new IMemoryOwner<T>[1] { buffer };
+        IMemoryOwner<T>[] buffers = new IMemoryOwner<T>[1] { buffer };
         return new Owned(buffers, length, length, true);
     }
 
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs
index 0b3e11483f..b4356f9a03 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs
@@ -102,7 +102,7 @@ private bool SetSingle(ulong value)
 
     private bool SetArray(long[] values)
     {
-        ulong[]? numbers = new ulong[values.Length];
+        ulong[] numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)(values[i] < 0 ? 0 : values[i]);
@@ -120,7 +120,7 @@ private bool SetArray(ulong[] values)
 
     private bool SetArray(int[] values)
     {
-        ulong[]? numbers = new ulong[values.Length];
+        ulong[] numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)Numerics.Clamp(values[i], 0, int.MaxValue);
@@ -132,7 +132,7 @@ private bool SetArray(int[] values)
 
     private bool SetArray(uint[] values)
     {
-        ulong[]? numbers = new ulong[values.Length];
+        ulong[] numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)values[i];
@@ -144,7 +144,7 @@ private bool SetArray(uint[] values)
 
     private bool SetArray(short[] values)
     {
-        ulong[]? numbers = new ulong[values.Length];
+        ulong[] numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)Numerics.Clamp(values[i], 0, short.MaxValue);
@@ -156,7 +156,7 @@ private bool SetArray(short[] values)
 
     private bool SetArray(ushort[] values)
     {
-        ulong[]? numbers = new ulong[values.Length];
+        ulong[] numbers = new ulong[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = (ulong)values[i];
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs
index f1299e6b3a..9e3c197567 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs
@@ -86,7 +86,7 @@ private bool SetSingle(Number value)
 
     private bool SetArray(int[] values)
     {
-        Number[]? numbers = new Number[values.Length];
+        Number[] numbers = new Number[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = values[i];
@@ -98,7 +98,7 @@ private bool SetArray(int[] values)
 
     private bool SetArray(uint[] values)
     {
-        Number[]? numbers = new Number[values.Length];
+        Number[] numbers = new Number[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = values[i];
@@ -110,7 +110,7 @@ private bool SetArray(uint[] values)
 
     private bool SetArray(short[] values)
     {
-        Number[]? numbers = new Number[values.Length];
+        Number[] numbers = new Number[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = values[i];
@@ -122,7 +122,7 @@ private bool SetArray(short[] values)
 
     private bool SetArray(ushort[] values)
     {
-        Number[]? numbers = new Number[values.Length];
+        Number[] numbers = new Number[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             numbers[i] = values[i];
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
index 8239f7778d..4169f6ac01 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifRationalArray.cs
@@ -56,7 +56,7 @@ private bool TrySetSignedArray(SignedRational[] signed)
             return false;
         }
 
-        Rational[]? unsigned = new Rational[signed.Length];
+        Rational[] unsigned = new Rational[signed.Length];
         for (int i = 0; i < signed.Length; i++)
         {
             SignedRational s = signed[i];
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifShortArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifShortArray.cs
index b8fcca22c5..a950463a2a 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifShortArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifShortArray.cs
@@ -71,7 +71,7 @@ private bool TrySetSignedIntArray(int[] signed)
             return false;
         }
 
-        ushort[]? unsigned = new ushort[signed.Length];
+        ushort[] unsigned = new ushort[signed.Length];
         for (int i = 0; i < signed.Length; i++)
         {
             int s = signed[i];
@@ -89,7 +89,7 @@ private bool TrySetSignedShortArray(short[] signed)
             return false;
         }
 
-        ushort[]? unsigned = new ushort[signed.Length];
+        ushort[] unsigned = new ushort[signed.Length];
         for (int i = 0; i < signed.Length; i++)
         {
             short s = signed[i];
diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifSignedShortArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifSignedShortArray.cs
index ace4853ca7..dc1b610157 100644
--- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifSignedShortArray.cs
+++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifSignedShortArray.cs
@@ -56,7 +56,7 @@ private bool TrySetSignedArray(int[] intArray)
             return false;
         }
 
-        short[]? value = new short[intArray.Length];
+        short[] value = new short[intArray.Length];
         for (int i = 0; i < intArray.Length; i++)
         {
             int s = intArray[i];
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Curves.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Curves.cs
index d4a86da80e..89addb84fc 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Curves.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Curves.cs
@@ -18,13 +18,13 @@ public IccOneDimensionalCurve ReadOneDimensionalCurve()
     {
         ushort segmentCount = this.ReadUInt16();
         this.AddIndex(2);   // 2 bytes reserved
-        float[]? breakPoints = new float[segmentCount - 1];
+        float[] breakPoints = new float[segmentCount - 1];
         for (int i = 0; i < breakPoints.Length; i++)
         {
             breakPoints[i] = this.ReadSingle();
         }
 
-        IccCurveSegment[]? segments = new IccCurveSegment[segmentCount];
+        IccCurveSegment[] segments = new IccCurveSegment[segmentCount];
         for (int i = 0; i < segmentCount; i++)
         {
             segments[i] = this.ReadCurveSegment();
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
index 03275563c0..cdcaf9f1bc 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Lut.cs
@@ -24,7 +24,7 @@ public IccLut ReadLut8()
     /// <returns>The read LUT</returns>
     public IccLut ReadLut16(int count)
     {
-        ushort[]? values = new ushort[count];
+        ushort[] values = new ushort[count];
         for (int i = 0; i < count; i++)
         {
             values[i] = this.ReadUInt16();
@@ -44,7 +44,7 @@ public IccLut ReadLut16(int count)
     public IccClut ReadClut(int inChannelCount, int outChannelCount, bool isFloat)
     {
         // Grid-points are always 16 bytes long but only 0-inChCount are used
-        byte[]? gridPointCount = new byte[inChannelCount];
+        byte[] gridPointCount = new byte[inChannelCount];
         Buffer.BlockCopy(this.data, this.AddIndex(16), gridPointCount, 0, inChannelCount);
 
         if (!isFloat)
@@ -86,7 +86,7 @@ public IccClut ReadClut8(int inChannelCount, int outChannelCount, byte[] gridPoi
 
         const float Max = byte.MaxValue;
 
-        float[][]? values = new float[length][];
+        float[][] values = new float[length][];
         for (int i = 0; i < length; i++)
         {
             values[i] = new float[outChannelCount];
@@ -120,7 +120,7 @@ public IccClut ReadClut16(int inChannelCount, int outChannelCount, byte[] gridPo
 
         const float Max = ushort.MaxValue;
 
-        float[][]? values = new float[length][];
+        float[][] values = new float[length][];
         for (int i = 0; i < length; i++)
         {
             values[i] = new float[outChannelCount];
@@ -152,7 +152,7 @@ public IccClut ReadClutF32(int inChCount, int outChCount, byte[] gridPointCount)
 
         length /= inChCount;
 
-        float[][]? values = new float[length][];
+        float[][] values = new float[length][];
         for (int i = 0; i < length; i++)
         {
             values[i] = new float[outChCount];
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Matrix.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Matrix.cs
index c945fe4979..f80ac4e446 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Matrix.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Matrix.cs
@@ -17,7 +17,7 @@ internal sealed partial class IccDataReader
     /// <returns>The read matrix</returns>
     public float[,] ReadMatrix(int xCount, int yCount, bool isSingle)
     {
-        float[,]? matrix = new float[xCount, yCount];
+        float[,] matrix = new float[xCount, yCount];
         for (int y = 0; y < yCount; y++)
         {
             for (int x = 0; x < xCount; x++)
@@ -44,7 +44,7 @@ internal sealed partial class IccDataReader
     /// <returns>The read matrix</returns>
     public float[] ReadMatrix(int yCount, bool isSingle)
     {
-        float[]? matrix = new float[yCount];
+        float[] matrix = new float[yCount];
         for (int i = 0; i < yCount; i++)
         {
             if (isSingle)
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
index 7236bd5447..bff5e31bc5 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.MultiProcessElement.cs
@@ -48,7 +48,7 @@ public IccMultiProcessElement ReadMultiProcessElement()
     /// <returns>The read <see cref="IccCurveSetProcessElement"/></returns>
     public IccCurveSetProcessElement ReadCurveSetProcessElement(int inChannelCount, int outChannelCount)
     {
-        IccOneDimensionalCurve[]? curves = new IccOneDimensionalCurve[inChannelCount];
+        IccOneDimensionalCurve[] curves = new IccOneDimensionalCurve[inChannelCount];
         for (int i = 0; i < inChannelCount; i++)
         {
             curves[i] = this.ReadOneDimensionalCurve();
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
index cfd881f789..9ae802141a 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.NonPrimitives.cs
@@ -104,7 +104,7 @@ public IccNamedColor ReadNamedColor(uint deviceCoordCount)
     {
         string name = this.ReadAsciiString(32);
         ushort[] pcsCoord = { this.ReadUInt16(), this.ReadUInt16(), this.ReadUInt16() };
-        ushort[]? deviceCoord = new ushort[deviceCoordCount];
+        ushort[] deviceCoord = new ushort[deviceCoordCount];
 
         for (int i = 0; i < deviceCoordCount; i++)
         {
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Primitives.cs b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Primitives.cs
index b86c2c3849..c2a54c93ec 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Primitives.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/DataReader/IccDataReader.Primitives.cs
@@ -164,7 +164,7 @@ public float ReadUFix8()
     /// <returns>The read bytes</returns>
     public byte[] ReadBytes(int count)
     {
-        byte[]? bytes = new byte[count];
+        byte[] bytes = new byte[count];
         Buffer.BlockCopy(this.data, this.AddIndex(count), bytes, 0, count);
         return bytes;
     }
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs b/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
index 2ee95117bc..0f4c3493ab 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
@@ -123,7 +123,7 @@ static CultureInfo GetCulture(uint value)
                 && p4 >= 0x41 && p4 <= 0x5A)
             {
                 string culture = new(new[] { (char)p1, (char)p2, '-', (char)p3, (char)p4 });
-                return new CultureInfo(culture);
+                return new(culture);
             }
 
             return null;
diff --git a/src/ImageSharp/Primitives/RectangleF.cs b/src/ImageSharp/Primitives/RectangleF.cs
index 658c245acc..9a7a97a13c 100644
--- a/src/ImageSharp/Primitives/RectangleF.cs
+++ b/src/ImageSharp/Primitives/RectangleF.cs
@@ -236,9 +236,9 @@ public static RectangleF Inflate(RectangleF rectangle, float x, float y)
     /// <returns>A transformed <see cref="RectangleF"/>.</returns>
     public static RectangleF Transform(RectangleF rectangle, Matrix3x2 matrix)
     {
-        PointF bottomRight = PointF.Transform(new PointF(rectangle.Right, rectangle.Bottom), matrix);
+        PointF bottomRight = PointF.Transform(new(rectangle.Right, rectangle.Bottom), matrix);
         PointF topLeft = PointF.Transform(rectangle.Location, matrix);
-        return new RectangleF(topLeft, new SizeF(bottomRight - topLeft));
+        return new(topLeft, new(bottomRight - topLeft));
     }
 
     /// <summary>
@@ -255,7 +255,7 @@ public static RectangleF Union(RectangleF a, RectangleF b)
         float y1 = MathF.Min(a.Y, b.Y);
         float y2 = MathF.Max(a.Bottom, b.Bottom);
 
-        return new RectangleF(x1, y1, x2 - x1, y2 - y1);
+        return new(x1, y1, x2 - x1, y2 - y1);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Primitives/ValueSize.cs b/src/ImageSharp/Primitives/ValueSize.cs
index 7b4adeaac6..9a76269b3b 100644
--- a/src/ImageSharp/Primitives/ValueSize.cs
+++ b/src/ImageSharp/Primitives/ValueSize.cs
@@ -78,7 +78,7 @@ public static ValueSize PercentageOfWidth(float percentage)
     /// <returns>a Values size with type PercentageOfHeight</returns>
     public static ValueSize PercentageOfHeight(float percentage)
     {
-        return new ValueSize(percentage, ValueSizeType.PercentageOfHeight);
+        return new(percentage, ValueSizeType.PercentageOfHeight);
     }
 
     /// <summary>
@@ -88,7 +88,7 @@ public static ValueSize PercentageOfHeight(float percentage)
     /// <returns>a Values size with type Absolute.</returns>
     public static ValueSize Absolute(float value)
     {
-        return new ValueSize(value, ValueSizeType.Absolute);
+        return new(value, ValueSizeType.Absolute);
     }
 
     /// <summary>
diff --git a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
index 878ef07b81..cca3e42412 100644
--- a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
+++ b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs
@@ -30,7 +30,7 @@ public static IImageProcessingContext Pad(this IImageProcessingContext source, i
     public static IImageProcessingContext Pad(this IImageProcessingContext source, int width, int height, Color color)
     {
         Size size = source.GetCurrentSize();
-        ResizeOptions? options = new()
+        ResizeOptions options = new()
         {
             // Prevent downsizing.
             Size = new(Math.Max(width, size.Width), Math.Max(height, size.Height)),
diff --git a/src/ImageSharp/Processing/Extensions/Transforms/ResizeExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/ResizeExtensions.cs
index b47e769f0f..502a835454 100644
--- a/src/ImageSharp/Processing/Extensions/Transforms/ResizeExtensions.cs
+++ b/src/ImageSharp/Processing/Extensions/Transforms/ResizeExtensions.cs
@@ -118,7 +118,7 @@ public static IImageProcessingContext Resize(
         Rectangle targetRectangle,
         bool compand)
     {
-        ResizeOptions? options = new ResizeOptions
+        ResizeOptions options = new ResizeOptions
         {
             Size = new Size(width, height),
             Mode = ResizeMode.Manual,
@@ -151,7 +151,7 @@ public static IImageProcessingContext Resize(
         Rectangle targetRectangle,
         bool compand)
     {
-        ResizeOptions? options = new ResizeOptions
+        ResizeOptions options = new ResizeOptions
         {
             Size = new Size(width, height),
             Mode = ResizeMode.Manual,
diff --git a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
index c7fa8e9b84..727e8e96aa 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs
@@ -68,7 +68,7 @@ public BoxBlurProcessor(
     /// <inheritdoc/>
     protected override void OnFrameApply(ImageFrame<TPixel> source)
     {
-        using Convolution2PassProcessor<TPixel>? processor = new(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY);
+        using Convolution2PassProcessor<TPixel> processor = new(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY);
 
         processor.Apply(source);
     }
@@ -80,7 +80,7 @@ protected override void OnFrameApply(ImageFrame<TPixel> source)
     /// <returns>The <see cref="DenseMatrix{T}"/>.</returns>
     private static float[] CreateBoxKernel(int kernelSize)
     {
-        float[]? kernel = new float[kernelSize];
+        float[] kernel = new float[kernelSize];
 
         kernel.AsSpan().Fill(1F / kernelSize);
 
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
index d250959d1d..502c344028 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetector2DProcessor{TPixel}.cs
@@ -55,7 +55,7 @@ protected override void BeforeImageApply()
     /// <inheritdoc />
     protected override void OnFrameApply(ImageFrame<TPixel> source)
     {
-        using Convolution2DProcessor<TPixel>? processor = new(
+        using Convolution2DProcessor<TPixel> processor = new(
             this.Configuration,
             in this.kernelX,
             in this.kernelY,
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs b/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
index e163ff09fe..6832e24982 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Parameters/BokehBlurKernelDataProvider.cs
@@ -130,7 +130,7 @@ private static Complex64[][] CreateComplexKernels(
         int kernelSize,
         float kernelsScale)
     {
-        Complex64[][]? kernels = new Complex64[kernelParameters.Length][];
+        Complex64[][] kernels = new Complex64[kernelParameters.Length][];
         ref Vector4 baseRef = ref MemoryMarshal.GetReference(kernelParameters.AsSpan());
         for (int i = 0; i < kernelParameters.Length; i++)
         {
@@ -156,7 +156,7 @@ private static Complex64[] CreateComplex1DKernel(
         float a,
         float b)
     {
-        Complex64[]? kernel = new Complex64[kernelSize];
+        Complex64[] kernel = new Complex64[kernelSize];
         ref Complex64 baseRef = ref MemoryMarshal.GetReference(kernel.AsSpan());
         int r = radius, n = -r;
 
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
index 11b106d0ee..a047015d95 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs
@@ -110,13 +110,13 @@ public void ApplyTransform<TResampler>(in TResampler sampler)
         // Since all image frame dimensions have to be the same we can calculate
         // the kernel maps and reuse for all frames.
         MemoryAllocator allocator = configuration.MemoryAllocator;
-        using ResizeKernelMap? horizontalKernelMap = ResizeKernelMap.Calculate(
+        using ResizeKernelMap horizontalKernelMap = ResizeKernelMap.Calculate(
             in sampler,
             destinationRectangle.Width,
             sourceRectangle.Width,
             allocator);
 
-        using ResizeKernelMap? verticalKernelMap = ResizeKernelMap.Calculate(
+        using ResizeKernelMap verticalKernelMap = ResizeKernelMap.Calculate(
             in sampler,
             destinationRectangle.Height,
             sourceRectangle.Height,
@@ -208,7 +208,7 @@ private static void ApplyResizeFrameTransform(
 
         // To reintroduce parallel processing, we would launch multiple workers
         // for different row intervals of the image.
-        using ResizeWorker<TPixel>? worker = new(
+        using ResizeWorker<TPixel> worker = new(
             configuration,
             sourceRegion,
             conversionModifiers,
diff --git a/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs b/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
index 688fc755ce..a5c2eea2dc 100644
--- a/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
+++ b/tests/ImageSharp.Tests/Memory/Buffer2DTests.cs
@@ -72,7 +72,7 @@ public void Construct_PreferContiguousImageBuffers_AllocatesContiguousRegardless
 
         using Buffer2D<byte> buffer = useSizeOverload ?
             this.MemoryAllocator.Allocate2D<byte>(
-                new Size(200, 200),
+                new(200, 200),
                 preferContiguosImageBuffers: true) :
             this.MemoryAllocator.Allocate2D<byte>(
             200,
@@ -354,7 +354,7 @@ public void Allocate_IncorrectAmount_ThrowsCorrect_InvalidMemoryOperationExcepti
     [Theory]
     [MemberData(nameof(InvalidLengths))]
     public void Allocate_IncorrectAmount_ThrowsCorrect_InvalidMemoryOperationException_Size(Size size)
-        => Assert.Throws<InvalidMemoryOperationException>(() => this.MemoryAllocator.Allocate2D<Rgba32>(new Size(size)));
+        => Assert.Throws<InvalidMemoryOperationException>(() => this.MemoryAllocator.Allocate2D<Rgba32>(new(size)));
 
     [Theory]
     [MemberData(nameof(InvalidLengths))]
diff --git a/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs b/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
index 74350f73b8..1b8388ebae 100644
--- a/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
+++ b/tests/ImageSharp.Tests/Processing/BaseImageOperationsExtensionTest.cs
@@ -21,7 +21,7 @@ public BaseImageOperationsExtensionTest()
         this.options = new() { Antialias = false };
         this.source = new(91 + 324, 123 + 56);
         this.rect = new(91, 123, 324, 56); // make this random?
-        this.internalOperations = new FakeImageOperationsProvider.FakeImageOperations<Rgba32>(this.source.Configuration, this.source, false);
+        this.internalOperations = new(this.source.Configuration, this.source, false);
         this.internalOperations.SetGraphicsOptions(this.options);
         this.operations = this.internalOperations;
     }
diff --git a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs
index 6fff18195e..ab5040fd8e 100644
--- a/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs
+++ b/tests/ImageSharp.Tests/TestDataIcc/IccTestDataTagDataEntry.cs
@@ -375,7 +375,7 @@ private static IccLocalizedString CreateLocalizedString(string language, string
             }
         }
 
-        return new IccLocalizedString(culture, text);
+        return new(culture, text);
     }
 
     private static readonly IccLocalizedString[] LocalizedString_RandArr_enUS_deDE = new IccLocalizedString[]
@@ -541,8 +541,8 @@ private static IccLocalizedString CreateLocalizedString(string language, string
     public static readonly IccProfileSequenceIdentifierTagDataEntry ProfileSequenceIdentifier_Val = new(
         new IccProfileSequenceIdentifier[]
         {
-            new IccProfileSequenceIdentifier(IccTestDataNonPrimitives.ProfileId_ValRand, LocalizedString_RandArr_enUS_deDE),
-            new IccProfileSequenceIdentifier(IccTestDataNonPrimitives.ProfileId_ValRand, LocalizedString_RandArr_enUS_deDE),
+            new(IccTestDataNonPrimitives.ProfileId_ValRand, LocalizedString_RandArr_enUS_deDE),
+            new(IccTestDataNonPrimitives.ProfileId_ValRand, LocalizedString_RandArr_enUS_deDE),
         });
 
     public static readonly byte[] ProfileSequenceIdentifier_Arr = ArrayHelper.Concat(