ValueOf
Declare Value Objects in one line e.g. `class ClientRef : ValueOf<string, ClientRef> { }`), create using `ClientRef.From(someString)`
The base Type ValueOf<TValue, TThis>, provides Equals, GetHashcode.
Use ValueTuples for multi property values e.g `class Address : ValueOf<(string firstLine, string secondLine, Postcode postcode), Address> {}`