The calculus one is only wrong because we neglect the change in "x times" when doing `d(x + .... + x)/dx`. If you use limits you get (x + dx + x + dx + ... + x + dx) + x*dx (the extra bit from now doing x x + dx times). Subtract the original, and you get (dx + ... + dx) + x*dx)/dx = (x*dx + x*dx)/dx = 2x.
`+ ... +` or `x times` for a non-integer `x` is not a problem, actually. It's perfectly well defined. The issue is that df(x)/dx = (f(x+dx) - f(x))/dx as dx goes to zero (blah blah smooth function blah blah), but the equation did NOT use f(x + dx) but rather held "x times" constant. That x is an integer in "x times" isn't the issue. That x is the variable under differentiation is!