There is a misfit between mutable datatypes and use of value semantics
It is recommended to use structs in C# together with a functional programming style