anchor.diff:  
   We propose that comparability and equality should be aligned with each other, i.e.
   
  -`expr1 = expr2` if and only if `expr1 >= expr2 && expr1 \<= expr2`.
  +
  +`expr1 = expr2` = `expr1 >= expr2 AND expr1 \<= expr2`.
  +This equaltion is also valid for null values.
  +
   
   Comparability and equality produce <<unknown-null,"unknown" `null` values>>.
   
  
positive.code: ===== List equality =====
  
  Specifically, we propose to redefine how equality works for lists in Cypher.
  The equality of two lists `a` and `b` is defined is the <<conjunction>> of `size(a) = size(b)` and a pairwise comparison of all elements of the list.
  If `a = b` evaluates to `null` these lists are <<incomparable>>.
  
  In the following example `=>` means "evaluates to".
  ----
  [1, 2] = [1]
      => size([1, 2]) = size([1]) AND 1 = 1 AND 2 = null
      => false                    AND true  AND null
      => false
  
  [null] = [1]
      => size([null]) = size[1]) AND null = 1
      => true                    AND null
      => null
  
  ["a"] = [1]
      => size(["a"]) = size[1]) AND "a" = 1
      => true                   AND null
      => null
  ----
  
  The same logic applies recursively when comparing nested lists.
  ----
  [[1]] = [[1], [null]]
      => size([[1]]) = size([[1], [null]]) AND [1] = [1] AND null = [null]
      => false                             AND true      AND null
      => false
  ----
  
  ===== Map equality =====
  
negative.code: 
        p1 < p2
    <=> [n1, r1, n3] < [n1, r2, n2]
    <=> n1 < n1 OR (n1 = n1 AND [r1, n3] < [r2, n2])
    <=> false OR (true AND [r1, n3] < [r2, n2])
    <=> [r1, n3] < [r2, n2]
    <=> r1 < r2 OR (r1 = r2 AND n3 < n2)
    <=> true OR (false AND false)
    <=> true
  
    ** Paths are <<incomparable>> to any value that is not also a path.
  