anchor.diff:          return Boolean (lhs = rhs)
         }
   
  +      this
  +
       member private this.getValue k =
         match env.TryGetValue(k) with
         | (true, v) -> Some v
  
positive.code:   let ParseFromFile (path: string) : Result<expr, ErrorKind> =
      ParseFromString <| System.IO.File.ReadAllText path
  
    type Engine() as this =
      let env = new Dictionary<string, expr>()
  
      do
        let defineOperator name f = env.Add(name, Operator(operator_t(f)))
  
        defineOperator "set" <| fun args -> maybe {
  
negative.code:         | _                  -> None)
  
      member this.evalLambda syn expr args =
        let local_eng = Engine()
        // FIX: use local environment
        for k, v in List.zip syn args do
          this.setValue k v
        this.evaluate expr local_eng
  
      member this.evaluate expr local =
        this.Evaluate expr
  
      member this.Evaluate (expr: expr) : expr option =
  