For cases like ``Basic(Basic(x,x+y))`` or ``Basic(Basic(),Basic(x,x+y))`` it is necessary to check at every step if there is a ``Basic()``