anchor.diff:  === Semantics
   
   Provide a description of the expected semantics of the new feature(s).
  +Use subheadings to structure the content.
   
  -*_Example:_* +
  -_STARTS WITH_
  +_Examples are shown below in sections 3.3.1–3.3.3:_
   
  -_Using `lhs STARTS WITH rhs` requires both `lhs` and `rhs` to be strings. This new expression evaluates to true if `lhs` textually starts with `rhs`. Otherwise, it is false._
  +==== STARTS WITH
   
  -_ENDS WITH_
  +Using `lhs STARTS WITH rhs` requires both `lhs` and `rhs` to be strings. This new expression evaluates to true if `lhs` textually starts with `rhs`. Otherwise, it is false.
   
  -_Using `lhs ENDS WITH rhs` requires both `lhs` and `rhs` to be strings. This new expression evaluates to true if `lhs` textually ends with `rhs`. Otherwise, it is false._
  +==== ENDS WITH
   
  -_CONTAINS_
  +Using `lhs ENDS WITH rhs` requires both `lhs` and `rhs` to be strings. This new expression evaluates to true if `lhs` textually ends with `rhs`. Otherwise, it is false.
   
  -_Using `lhs CONTAINS rhs` requires both `lhs` and `rhs` to be strings. This new expression evaluates to true if `lhs` textually contains `rhs`. Otherwise, it is false._
  +==== CONTAINS
   
  -_If any argument to `STARTS WITH`, `ENDS WITH`, or `CONTAINS` is NULL, then the result of evaluating the whole predicate is NULL._
  +Using `lhs CONTAINS rhs` requires both `lhs` and `rhs` to be strings.
  +This new expression evaluates to true if `lhs` textually contains `rhs`.
  +Otherwise, it is false.
   
  -_It is a type error to use `STARTS WITH`, `ENDS WITH`, or `CONTAINS` with a value that is not a string._
  +If any argument to `STARTS WITH`, `ENDS WITH`, or `CONTAINS` is `NULL`, then the result of evaluating the whole predicate is `NULL`.
  +
  +It is a type error to use `STARTS WITH`, `ENDS WITH`, or `CONTAINS` with a value that is not a string.
   
   === Interaction with existing features
   
  -Detail any interactions which need to be considered.
  +Provide details on any interactions that need to be considered.
   
   === Alternatives
   
  
positive.code: 
  For each aspect of the proposed feature(s), provide at least one Cypher example query to show how the feature is envisaged to work, along with explanatory text.
  
  *_Example:_* +
  _Find all persons whose name starts with "And"._
  
  ----
  MATCH (a:Person) WHERE a.name STARTS WITH “And”
  RETURN a
  ----
  
  _Find all persons whose name starts with the parameter prefix._
  
  ----
  MATCH (a:Person) WHERE a.name STARTS WITH {prefix}
  RETURN a
  ----
  
  _Find all persons whose name ends with "fan"._
  
  ----
  MATCH (a:Person) WHERE a.name ENDS WITH "fan"
  RETURN a
  ----
  
  _Find all books whose isbn in string form contains "007"._
  
  ----
  MATCH (b:Book) WHERE toString(b.isbn) CONTAINS "007"
  RETURN a
  
negative.code: 
  If applicable, include a feature comparison table, along with any useful links.
  
  To provide a well-rounded comparison, please ensure the inclusion of at least one SQL-based implementation -- such as DB2 or Postgres -- as well as SPARQL.
  If you require any assistance or pointers to the latter, please contact petra.selmer@neotechnology.com.
  
  == Benefits to this proposal
  
  