That's right.  One common way to define special functions is as an integral, so in theory, every integral can be a special function.  If there's a flag to force evaluation only in terms of elementary functions, that could future-proof things.  Or we can just make up something really complicated, that nobody will ever bother to define.  But it would have to be something the integrator won't choke-on, either, and is still traversing the same code path.

```
In [7]: Integral(1/(x+log(x)),(x,2,3))
Out[7]: 
3              
⌠              
⎮     1        
⎮ ────────── dx
⎮ x + log(x)   
⌡              
2              

In [8]: _.doit()
Out[8]: 
  2                 3              
  ⌠                 ⌠              
  ⎮     1           ⎮     1        
- ⎮ ────────── dx + ⎮ ────────── dx
  ⎮ x + log(x)      ⎮ x + log(x)   
  ⌡                 ⌡              
                                   

In [9]: Integral(1/(sqrt(x)+log(x)),(x,2,3))
Out[9]: 
3                  
⌠                  
⎮       1          
⎮ ────────────── dx
⎮   ___            
⎮ ╲╱ x  + log(x)   
⌡                  
2                  

In [10]: _.doit()
Out[10]: 
3                  
⌠                  
⎮       1          
⎮ ────────────── dx
⎮   ___            
⎮ ╲╱ x  + log(x)   
⌡                  
2    
```