fn undot(&mut self, term: &Term) -> Value {
        match term.as_expression() {
            Ok(Operation {
                operator: Operator::Dot,
                args,
            }) if args.len() == 2 => Value::from(self.dot_var(&args[0], &args[1])),
            _ => term.value().clone(),
        }
    }
/// turn dot expressions into symbols but leave other things unchanged.
turn dot expressions into symbols but leave other things unchanged.
turn dot expressions into symbols but leave other things unchanged .
fn undot(&mut self, term: &Term) -> Value {
        match term.as_expression() {
            Ok(Operation {
                operator: Operator::Dot,
                args,
            }) if args.len() == 2 => Value::from(self.dot_var(&args[0], &args[1])),
            _ => term.value().clone(),
        }
    }
fn undot ( & mut self , term : & Term ) -> Value { match term . as_expression ( ) { Ok ( Operation { operator : Operator :: Dot , args , } ) if args . len ( ) == 2 => Value :: from ( self . dot_var ( & args [ 0 ] , & args [ 1 ] ) ) , _ => term . value ( ) . clone ( ) , } }
turn dot expressions into symbols but leave other things unchanged.
turn dot expressions into symbols but leave other things unchanged .
&mut self
term
&Term
&mut self
term
&Term