anchor.diff:  
   
       let inline toLList v = v |>> LString  |> toList |> LList
  -    
  +
       open FParsec
  -    module internal Parser =
  +    module internal Parser =    
           
  -        let parse parser str =
  -            match run parser str with
  -            | Success(result  , _, _) -> Choice1Of2 result
  -            | Failure(errorMsg, _, _) -> Choice2Of2 errorMsg
  -    
  -
           // some abbreviations
  -        let internal ws    = spaces // eats any whitespace
  -        let internal str s = pstring s
  +        let private ws  = spaces // eats any whitespace
  +        let private str = pstring  
   
           let stringLiteral =
               let escape = anyOf "\"\\/bfnrt" |>> function
  
positive.code:             let isIdentifierChar c = isLetter c || isDigit c || c = '_'
              many1Satisfy2L isIdentifierFirstChar isIdentifierChar "identifier"
  
          let internal btParens p = (between (str "(") (str ")")) p
          let internal i0 p =             ws >>. p .>> ws
          let internal iN p = str "," >>. ws >>. p .>> ws
  
          let pSymbol = str "#" >>. pIdentifier
          let lsymbol = pSymbol |>> LSymbol
  
negative.code: 
          let lvalue, lvalueRef = createParserForwardedToRef()
  
          let private listBtStrings sOpen sClose pElement f = between (str sOpen) (str sClose) (ws >>. sepBy (pElement .>> ws) (str "," .>> ws) |>> f)
          let emptyplist = str "[" >>. ws >>. str ":" >>. ws >>. str "]" >>% (LPropList [])
          let keyValue = tuple2 pSymbol (ws >>. str ":" >>. ws >>. lvalue)
          let llist  = listBtStrings "[" "]" lvalue   LList
          let lplist = listBtStrings "[" "]" keyValue LPropList
          let psingle = pfloat |>> single
          let number = attempt linteger <|> lfloat
  
          do lvalueRef := choice [attempt llist
  