title: Neo4J - WHERE ALL clause is breaking the match on nodes
body: <p>I am trying to return two sets of nodes and then return them as a single set. </p>
  
  <p>I have a WHERE ALL clause that breaks the query and I can't figure out why. </p>
  
  <p>I would also like to know how to concatenate two collections of nodes, so append childItems to parentItems in a single level list. I don't believe I am doing it correctly with the '+'. </p>
  
  <pre><code>MATCH (ic: itemCollection)-[:CONTAINS]-&gt;(ii: itemInstance)
  WITH COLLECT(ii) AS parentItem, ic, ii
  OPTIONAL MATCH p = (ii)-[*]-&gt;(:item)-[:INSTANCE]-&gt;(childItem: ItemInstance)
  // get asset children
  SET ic.lastAccess = timestamp()
  WITH parentItem, [n IN nodes(p) WHERE 'itemInstance' 
  IN labels(n) AND NOT(n.id = ii.id) | n] AS childItems, p, ic
  // RETURN parentItem, childItems - will return the parentItem node, and the childItem nodes here, but not after the WHERE ALL clause
  WHERE ALL(n IN childItems WHERE (ic)-[:CONTAINS]-(n))
  //merge parent with children
  WITH parentItem , childItems, p
  WITH parentItem + childItems AS itemList, p
  UNWIND itemList AS item
  RETURN item
  </code></pre>
  
  <p>Any help would be appreciated. </p>