anchor.diff:  (*| Whitespace Parsers |*)
   
   /// toml approved whitespace is ' ' or '\t'
  -let toml_space       : Parser<_> = satisfy ((=)' '|?|(=)'\t')
  -let toml_spaces      : Parser<_> = manySatisfy ((=)' '|?|(=)'\t')
  -let skip_toml_spaces : Parser<_> = skipManySatisfy ((=)' '|?|(=)'\t')
  +let ws = isAnyOf [' ';'\t']
  +let toml_space       : Parser<_> = satisfy ws
  +let toml_spaces      : Parser<_> = manySatisfy ws
  +let skip_toml_spaces : Parser<_> = skipManySatisfy ws
   
   let tspc       = toml_space
   let tspcs      = toml_spaces
   let skip_tspcs = skip_toml_spaces
  -
  +    //choice [attempt (skip_toml_spaces .>> skipUnicodeNewline .>> skip_toml_spaces);
  +      //      skip_toml_spaces]
  +let skipToEOF :Parser<_>= skipManyTill skipAnyChar eof
   
   (*| Comment/LineEnd Parsers |*)
   
  
positive.code: 
  (*| Punctuation Parsers |*)
  
  let ``.``   : Parser<_> = pchar '.'
  let ``,``   : Parser<_> = attempt (skip_tspcs >>. pchar ',' .>> skip_tspcs)  
  
  let ``[``   : Parser<_> = skip_tspcs >>. pchar '['    .>> skip_tspcs           
  let ``]``   : Parser<_> = skip_tspcs >>. pchar ']'    .>> skip_tspcs
  let ``{``   : Parser<_> = skip_tspcs >>. pchar '{'    .>> skip_tspcs
  let ``}``   : Parser<_> = skip_tspcs >>. pchar '}'    .>> skip_tspcs 
  let ``[[``  : Parser<_> = skip_tspcs >>. pstring "[[" .>> skip_tspcs  
  let ``]]``  : Parser<_> = skip_tspcs >>. pstring "]]" .>> skip_tspcs  
  let ``"``   : Parser<_> = pchar '"'
  let ``'``   : Parser<_> = pchar '\''
  let ``"""`` : Parser<_> = pstring "\"\"\""
  let ``'''`` : Parser<_> = pstring "\'\'\'"
  let skipEqs : Parser<_> = skip_tspcs >>. skipChar '=' >>. skip_tspcs
  
  
  (*| String Parsers |*)
  
  let psingle_string    : Parser<_> = between ``"`` ``"`` (manySatisfy ((<>)'"'))
  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
  
  
  (*| Numeric Parsers |*)
  
negative.code: 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 ``.``)
  