* Represents a generic JSON value.
*
* The JSONValue type is based on std.variant.Algebraic and as such
* provides the usual binary and unary operators for handling the contained
* raw value.
*
* Raw values can be either null, bool, double, string,
* JSONValue[] or JSONValue[string].
Defines a generic value type for builing and holding JSON documents in memory.