anchor.diff:              [| for n, _ in pairs -> n |], at selectStmt
       let insertStmtSelect =
           %% +.parenthesizedColumnNames
  -        -- +.selectStmt
  +        -- +.selectStmtWithoutCTE
           -%> auto
       %% +.insertOr
       -- kw "INTO"
  
positive.code:     -- +.(zeroOrOne * offset)
      -|> fun limit offset -> { Limit = limit; Offset = offset }
  
  let selectStmtWithoutCTE =
      %% +.withSource compoundExpr
      -- +.(zeroOrOne * orderBy)
      -- +.(zeroOrOne * limit)
  
negative.code:     -|> id
  
  let expr, private exprImpl = createParserForwardedToRef<Expr<unit, unit>, unit>()
  let private selectStmt, private selectStmtImpl =
      createParserForwardedToRef<SelectStmt<unit, unit>, unit>()
  let private selectStmtWithoutCTE, private selectStmtWithoutCTEImpl =
      createParserForwardedToRef<SelectStmt<unit, unit>, unit>()
  
  let private binary op e1 e2 =
      {   Expr.Value = BinaryExpr { BinaryExpr.Operator = op; Left = e1; Right = e2 }
  