anchor.diff:  * We assume the common graphical order over unicode strings.
   * LHS and RHS needs to be lexicographically equal for LHS eq RHS == TRUE for String.
   
  +===== UUID
  +* UUID is evaluated based on its String representation.
  +* However, for example, UUID("b46d37e9-755c-477e-9ab6-44aabea51d50") and String "b46d37e9-755c-477e-9ab6-44aabea51d50" are not equal to oeach other.
  +
   ===== Date
   
   * If either one of LHS or RHS is Date and another isn't, return FALSE
  
positive.code: * If either one of LHS or RHS is String and another isn’t, returns NULL.
  * We assume the common lexicographical order over unicode strings
  * LHS and RHS are compared lexicographically
  
  ===== Date
  * If either one of LHS or RHS is Date and another isn’t, throw an Exception
  
negative.code: * BigInteger
  * BigDecimal
  * String / Char
  * UUID
  * Date
  
  Note that in Double or Float, we have a concept of INFINITY / https://en.wikipedia.org/wiki/Signed_zero[signed-zero], and NaN.
  