Two Value instances, v1 and v2, are considered equal if and only if
v1.getType() == v2.getType() and
Actually comparing two Value instances by converting them to string form may not be practical in some cases (for example, if the values are large binaries). Consequently, the above is intended as a normative definition of Value equality, but not as a procedural test. It is assumed that implementations will have an efficient means of determining equality that conforms with the above definition.