Or even
AccelStepper stepper(DRIVER, 8, 9);
using the relevant #define from AccelStepper.h ....
Microstepping reduces noise and increases torque and precision (a little).
The issue with torque is resonance - microstepping reduces resonance
significantly meaning the motor is less likely to stall at resonant speeds -
this is normally a bigger effect than the theoretical increase of torque due
to square wave v. sine wave drive in practice.
Mechanical damping can reduce resonance if you are forced to use full steps,
and in practice you need either microstepping or damping or both in any
high performance stepper system. Sometimes damping comes for free with the
mechanical load.
Higher performance stepper drives switch automatically from microstepping to
full stepping at high speeds, past the resonant frequencies, and some have
electrical damping via circuitry that senses resonance from the back-EMF signal.
It is true that microstepping can't give you much more precision unless the
motor is lightly loaded, and is limited by the tolerances of motor mechanical
construction. In general 1/16th steps is about the most you really need unless
acoustic noise is the main issue and you only need to move slowly.
As a datapoint I've recently been playing with the DRV8711 stepper driver
chip (very flexible/configurable driver) and a 2.5A NEMA17 motor (1.2 ohms).
3600rpm achievable (with fair amount of torque, 1/4 steps) from only 20V supply...
I suspect I could get higher with 1/8th steps, but I cannot generate them(*) fast enough!
The same motor, unloaded, stalls everytime on full steps when accelerated slowly.
That would move a reprap about 50cm/s
(*) Well I can, but not with a smooth acceleration profile.