anchor.diff:  * Which should be more reasonable, NULL eq NULL is true or false ?
     ** If it is true, it may be respected in JOIN operation
   * There are a number of situations where the Gremlin grammar won’t support some of the examples - to what extent do these sorts of constructs need to exist in the grammar? Not having them would impact the ability to supply tests that enforce the behaviors that we’ve outlined. 
  -* Should UUID be a different type to be taken into account ?
   
   == Technical Appendix
   
  
positive.code: * BigInteger
  * BigDecimal
  * String / Char
  * UUID (String based equality / comparison, so identical to String)
  * Date
  
  Note that in Double or Float, we have a concept of INFINITY / https://en.wikipedia.org/wiki/Signed_zero[signed-zero], and NaN.
  
negative.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
  * UUID is evaluated based on its String representation.
  
  ===== 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" cannot be compared with each other, hence comparing them returns NULL.
  
  ===== Date
  * If either one of LHS or RHS is Date and another isn’t, throw an Exception
  