anchor.diff:  
   let ptkey : Parser<_> =  
       ``[+``.>>. (sepBy toml_key ``.``) .>>. ``]+``
  -    |>> fun ((b,ls),e) -> String.concat "" [b;listToKey ls;e]
  +    |>> fun ((b,ls),e) -> String.concat "" [b; listToKey ls; e]
   
   let pakey : Parser<_> = 
       ``[[+``.>>. (sepBy toml_key ``.``) .>>. ``]]+``
  -    |>> fun ((b,ls),e) -> String.concat "" [b;listToKey ls;e]
  +    |>> fun ((b,ls),e) -> String.concat "" [b; listToKey ls; e]
   
   let content_block =
       manyCharsTill anyChar (followedByL(pakey<|>ptkey) "expected a table or array table key"<|>eof)
  
positive.code: (*| Key Parsers |*)
  
  // key formats
  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
  
  // toplevel keys
  let pTableKey      : Parser<_> = between ``[`` ``]`` (sepBy toml_key ``.``)
  let pArrayOfTablesKey : Parser<_> = between ``[[`` ``]]`` (sepBy toml_key ``.``)
  
  
  
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
  