anchor.diff:  
   let private asAlias =
       %% (zeroOrOne * kw "AS")
  -    -? +.nameOrString
  +    -? +.name
       -|> id
   
   let private resultColumnCase =
  
positive.code:             }
          | _ -> failwith "Unreachable")
      <?> "column-name"
  
  let private qualifiedColumnName =
     (%% +.withSource nameOrString
      -- ws
      -? '.'
      -- +.(qty.[0..2] / tws '.' * tws nameOrString)
      -|> fun initial rest ->
          match rest.Count with
          | 0 -> { Table = None; ColumnName = initial.Value }
          | 1 ->
              {   Table = Some { Source = initial.Source; SchemaName = None; ObjectName = initial.Value; Info = () }
                  ColumnName = rest.[0]
              }
          | 2 ->
              {   Table =
                      Some { Source = initial.Source; SchemaName = Some initial.Value; ObjectName = rest.[0]; Info = () }
                  ColumnName = rest.[1]
              }
          | _ -> failwith "Unreachable")
      <?> "qualified-column-name"
  
  let private namedBindParameter =
      %% '@'
  
negative.code: 
  let private updateStmt =
      let setColumn =
          %% +.name
          -- ws
          -- '='
          -- ws
  