anchor.diff:  let pQuoteKey      : Parser<_> = between ``"`` ``"`` (many1Chars anyChar) 
   
   // key in a collection
  -let toml_key       : Parser<_> = choice [pBareKey; pQuoteKey ]
  +let toml_key       : Parser<_> = (choice [pBareKey; pQuoteKey ]).>> skip_tspcs
   
   // toplevel keys
   let pTableKey      : Parser<_> = between ``[`` ``]`` (sepBy toml_key ``.``)
  
positive.code:     between  
          ``[`` ``]`` (sepBy toml_value ``,``) |>> Value.Array
  
  pArrayImpl := parr
      
      
  
  pITblImpl :=
      between ``{`` ``}`` (sepBy pKVP ``,``)
      |>> fun items ->
          let tbl:(_,_) table = table<_,_> ()
          List.iter tbl.Add items
          Value.InlineTable tbl
  
  
  // low level parser implementation for simple toml values
  /// parses strings, ints, floats, bools, datetimes, inline tables, and arrays
  
negative.code: 
  (*| Punctuation Parsers |*)
  
  
  let ``.``   : Parser<_> = pchar '.' .>> skip_tspcs 
  let ``,``   : Parser<_> = pchar ',' .>> skip_tspcs   
  
  let ``[``   : Parser<_> = pchar '[' .>> skip_tspcs              
  let ``]``   : Parser<_> = pchar ']' .>> skip_tspcs   
  let ``{``   : Parser<_> = pchar '{' .>> skip_tspcs   
  let ``}``   : Parser<_> = pchar '}' .>> skip_tspcs    
  let ``[[``  : Parser<_> = pstring "[[" .>> skip_tspcs  
  let ``]]``  : Parser<_> = pstring "]]" .>> skip_tspcs  
  let ``"``   : Parser<_> = pchar '"'
  let ``'``   : Parser<_> = pchar '\''
  let ``"""`` : Parser<_> = pstring "\"\"\""
  let ``'''`` : Parser<_> = pstring "\'\'\'"
  
  let prevCharNot = previousCharSatisfiesNot
  let ``|"|``   : Parser<_> = prevCharNot((=)'\\') >>. pchar '"'
  let ``|'|``   : Parser<_> = prevCharNot((=)'\\') >>. pchar '\''
  let ``|"""|`` : Parser<_> = prevCharNot((=)'\\') >>. pstring "\"\"\""
  let ``|'''|`` : Parser<_> = prevCharNot((=)'\\') >>. pstring "\'\'\'"
  let skipEqs   : Parser<_> = skipChar '=' >>. skip_tspcs
  
  
  (*| String Parsers |*)
  
  // TODO - fully implement string spec
  // probably need to make a low level string parser
  let psingle_string    : Parser<_> = 
      between ``|"|`` ``|"|`` 
          (manyChars ((previousCharSatisfies ((=)'\\')>>.``"``)<|> satisfy ((<>)'"'))) 
  
  let pmult_string      : Parser<_> = (between ``|"""|`` ``|"""|`` (manyChars anyChar) )
  let psingle_litstring : Parser<_> = (between ``|'|`` ``|'|`` (manySatisfy ((<>)'\'')))
  let pmult_litstring   : Parser<_> = (between ``|'''|`` ``|'''|`` (manyChars anyChar) )
  
  let toml_string : Parser<_> =
      (choice [ psingle_string; pmult_string; psingle_litstring; pmult_litstring ]
          |>> Value.String) .>> skip_tspcs
  
  
  (*| Numeric Parsers |*)
  