This is pure class. So the official best practice for structs in C# if do not make them mutable. The idea of a mutable value type is just nonsense when you think about it.
Here is the best practice advice on structs direct from MS
https://msdn.microsoft.com/en-us/library/ms229031%28v=vs.110%29.aspx
I had been using System.Drawning.Point to hold coordinates in functional/immutable state Roguelike I am working on and realised that against their own advice...... Point is actually a mutable struct.
How could they get this so wrong in the core library :)