anchor.diff:      -- +.(zeroOrOne * offset)
       -|> fun limit offset -> { Limit = limit; Offset = offset }
   
  -let selectStmtWithoutCTE =
  +let private selectStmtPendingCTE =
       %% +.withSource compoundExpr
       -- +.(zeroOrOne * orderBy)
       -- +.(zeroOrOne * limit)
  
positive.code:     -|> id
  
  let expr, private exprImpl = createParserForwardedToRef<Expr<unit, unit>, unit>()
  let private selectStmt, private selectStmtImpl = createParserForwardedToRef<SelectStmt<unit, unit>, unit>()
  
  let private binary op e1 e2 =
      {   Expr.Value = BinaryExpr { BinaryExpr.Operator = op; Left = e1; Right = e2 }
  
negative.code: 
  let private tableOrSubquery (tableExpr : Parser<TableExpr<unit, unit>, unit>) =
      let subterm =
          %% +.selectStmtWithoutCTE
          -|> fun select alias -> TableOrSubquery { Table = Subquery select; Alias = alias; Info = () }
      let by =
          %% +.(asAlias * zeroOrOne)
  