anchor.diff:  === Syntax
   
   ----
  -expression = …
  +expression = <current definition of expression>
              | property exists
              | subquery exists
              | simple subquery exists
  
positive.code: 
   * It has to be a read-only query. Updating the graph as part of a predicate is not allowed.
   * It cannot end in a +RETURN+ clause, nor may it contain +UNION+
   * If +WITH+ ends the subquery, it should be able to change the cardinality of the subquery in an for +EXISTS(...)+ interesting way.
  In other words, they should include +WHERE+ or +SKIP+, since they could turn a query that returns rows into one that does not.
  
  ==== Simple subquery exists
  When the subquery can be described with a single +MATCH-WHERE+ clause, the +MATCH+ keyword can be omitted.
  The difference between this form and a simple pattern predicate, which is already available is that this form allows for introducing new variables inside the +EXISTS(...)+ scope.
  
  === Examples
  _Example 1A:_
  
  Return all nodes that have a property named slogan.
  [source, cypher]
  ----
  MATCH (actor)
  WHERE EXISTS(actor.slogan)
  RETURN actor
  ----
  
  _Example 1B:_
  Return all nodes with both first name and second name:
  [source, cypher]
  ----
  MATCH (actor)
  WHERE EXISTS(actor.firstName + actor.lastName)
  RETURN actor
  ----
  
  
negative.code: 
  == Proposal
  
  To make this feature more powerful, add a new function named +EXISTS+ that would exist in two forms:
  
   * Property existence checking
   * Subquery existence checking
  