anchor.diff:  (*| Key Parsers |*)
   
   // key formats
  -let pBareKey       : Parser<_> = many1Satisfy (isDigit|?|isLetter|?|isAnyOf['_';'-']) 
  -let pQuoteKey      : Parser<_> = between ``"`` ``"`` (many1Chars anyChar) 
  -
  +let pBareKey          : Parser<_> = many1Satisfy (isDigit|?|isLetter|?|isAnyOf['_';'-']) 
  +let pQuoteKey         : Parser<_> = between ``"`` ``"`` (many1Chars anyChar) 
   // key in a collection
  -let toml_key       : Parser<_> = (choice [pBareKey; pQuoteKey ]).>> skip_tspcs
  -
  +let toml_key          : Parser<_> = (choice [pBareKey; pQuoteKey ]) .>> skip_tspcs
   // toplevel keys
  -let pTableKey      : Parser<_> = between ``[`` ``]`` (sepBy toml_key ``.``)
  +let pTableKey         : Parser<_> = between ``[``   ``]`` (sepBy toml_key ``.``)
   let pArrayOfTablesKey : Parser<_> = between ``[[`` ``]]`` (sepBy toml_key ``.``)
   
   
  
positive.code: 
  let toml_tablekey = (pTableKey .>> tskipRestOfLine) 
  
  
  
  
  
  pTableImpl := 
      (pTableKey .>> tskipRestOfLine).>>. (many toml_item)
  
  pArrOfTablesImpl :=
      many ((pArrayOfTablesKey .>> tskipRestOfLine) .>>. many toml_item)
  
  (*
      Rewrite parser to split on 
  
negative.code: 
  // Forward declaration to allow mutually recursive 
  // parsers between arrays and inline tables
  let toml_value      , private pValueImpl  = createParserForwardedToRef ()
  let toml_array      , private pArrayImpl  = createParserForwardedToRef ()
  let toml_inlineTable, private pITblImpl   = createParserForwardedToRef ()
  
  let pKVP : Parser<_>  = skip_tspcs >>. toml_key .>>. (skipEqs >>. toml_value)
  
  let pArray_toml : Parser<_> = 
      let ``[``   : Parser<_> = (attempt (``[`` .>> unicodeNewline .>> skip_tspcs)) <|> ``[`` 
      let ``]``   : Parser<_> = (attempt (skip_tspcs .>> unicodeNewline .>> skip_tspcs >>. ``]``)) <|> ``]`` 
      let ``,``   : Parser<_> = (attempt (``,`` .>> unicodeNewline .>> skip_tspcs)) <|> ``,`` 
      between ``[`` ``]`` (sepBy toml_value ``,``) 
  
  let pInlineTable : Parser<_> =
      between ``{`` ``}`` (sepBy pKVP ``,``)
      |>> fun items ->
          let tbl:(_,_) table = table<_,_> ()
          List.iter tbl.Add items
          tbl
  
  pArrayImpl := pArray_toml  |>> Value.Array       .>> skip_tspcs
  pITblImpl  := pInlineTable |>> Value.InlineTable .>> skip_tspcs
  
  // low level parser implementation for simple toml values
  /// parses strings, ints, floats, bools, datetimes, inline tables, and arrays
  