public abstract void visit(BoolLiteral n);
 public virtual void visit(BoolLiteral n)
 {
     throw new NotImplementedException();
 }