anchor.diff:    let ParseFromFile (path: string) : Result<Expr, ErrorKind> =
       ParseFromString <| System.IO.File.ReadAllText path
   
  +  type Engine() =
  +    let env = new System.Collections.Generic.Dictionary<string, Expr>()
  +
  +    member private this.getValue k =
  +      match env.TryGetValue(k) with
  +      | (true, v) -> Some v
  +      | _         -> None
  +
  +    member private this.setValue k v =
  +      env.Remove(k) |> ignore
  +      env.Add(k, v)
  +
  +    member this.Evaluate (expr: Expr) : Expr option =
  +      Some expr
  +
  +
  +open System.IO
   
   [<EntryPoint>]
   let main _ =
  +  let repo_root = Directory.GetParent(__SOURCE_DIRECTORY__).ToString()
  +  
     let test_string s =
       match Orelang.ParseFromString s with
       | Result.OK ast -> printfn "string:\n%A\n" ast
  
positive.code:   type Expr = Nil
              | Number of decimal
              | Symbol of string
              | Command of string * Expr list
  
    type ErrorKind = ParseError of string
  
  
negative.code: 
      let private command expr =
        pstring "(" >>. spaces >>. symbol .>> spaces .>>. sepEndBy expr spaces .>> pstring ")"
        |>> fun (symbol, args) -> Function (symbol, args)
  
      let private expr =
        fix <| fun expr -> token <|> command expr
  