In the special case where, in the expression (x+y)**n , n is non-integer Rational, shouldn't the expansion come out to be a series of the form
y**n+n*x*y**n-1+0.5*n*(n-1)*(x**2)*(y**n-2)+...+O(x**6) ?
Maybe this shouldn't be the default return for expand, but it would be nice to have the option of getting that particular binomial series, especially if value of n is known.
Something like (x+y+z)**n could be written by substituting (y+z) for y in the above expansion (Thats how WolframAlpha shows it) or we could use recursion to expand each term of the form (y+z)**(n-r)